Configure Captcha Providers
December 23, 2025 (January 2, 2026)
Table of contents
Configure captcha provider API keys for image and video generation. Google Flow requires reCAPTCHA v3 Enterprise tokens for API calls - these third-party services solve the captcha automatically.
Supported Providers:
| Provider | Cost | Website |
|---|---|---|
| EzCaptcha (Recommended) | ~$2.50 per 1,000 solves | ez-captcha.com |
| CapSolver | ~$3.00 per 1,000 solves | capsolver.com |
| YesCaptcha | varies | yescaptcha.com |
You can configure multiple providers for redundancy. When generating images/videos, the API will automatically retry with different providers if one fails or returns a rejected token.
https://api.useapi.net/v1/google-flow/accounts/captcha-providers
Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
# Alternatively you can use multipart/form-data
# Content-Type: multipart/form-data
API tokenis required, see Setup useapi.net for details.
Request Body
{
"EzCaptcha": "<your EzCaptcha API key>",
"CapSolver": "<your CapSolver API key>",
"YesCaptcha": "<your YesCaptcha API key>"
}
EzCaptchais optional. API key from ez-captcha.com.CapSolveris optional. API key from capsolver.com.YesCaptchais optional. API key from yescaptcha.com.
Notes:
- All fields are optional - only include providers you want to configure
- Set a field to empty string
""to remove that provider - Users receive 100 free captcha credits when adding their first Google Flow account. These credits are used automatically when no provider API keys are configured.
- Once free credits are exhausted, at least one provider must be configured to use POST /images, POST /images/upscale, or POST /videos
Responses
-
Captcha providers configured successfully. Returns masked keys for all configured providers.
With providers configured:
{ "EzCaptcha": "abc...***...xyz", "CapSolver": "def...***...uvw" }All providers removed (shows free credits if available):
{ "freeCaptchaCredits": 100 } -
Invalid provider name specified.
{ "error": "Invalid captcha provider(s): InvalidProvider. Valid providers: EzCaptcha, CapSolver, YesCaptcha" } -
Invalid API token.
{ "error": "Unauthorized" }
Model
{ // TypeScript, all fields are optional
EzCaptcha?: string // Masked API key or omitted if not configured
CapSolver?: string // Masked API key or omitted if not configured
YesCaptcha?: string // Masked API key or omitted if not configured
freeCaptchaCredits?: number // Remaining free credits (only shown when no providers configured)
}
Note: freeCaptchaCredits is only included in the response when:
- No captcha providers are configured (all removed), AND
- The user has remaining free credits (> 0)
Examples
-
curl -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -X POST "https://api.useapi.net/v1/google-flow/accounts/captcha-providers" \ -d '{ "EzCaptcha": "<your EzCaptcha API key>", "CapSolver": "<your CapSolver API key>" }' -
const apiUrl = 'https://api.useapi.net/v1/google-flow/accounts/captcha-providers'; const token = 'YOUR_API_TOKEN'; const response = await fetch(apiUrl, { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ EzCaptcha: '<your EzCaptcha API key>', CapSolver: '<your CapSolver API key>' }) }); const result = await response.json(); console.log('Captcha providers configured:', result); -
import requests apiUrl = 'https://api.useapi.net/v1/google-flow/accounts/captcha-providers' token = 'YOUR_API_TOKEN' headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {token}' } body = { 'EzCaptcha': '<your EzCaptcha API key>', 'CapSolver': '<your CapSolver API key>' } response = requests.post(apiUrl, headers=headers, json=body) print(response.status_code, response.json())