Get Account Configuration
November 17, 2025 (October 23, 2026)
Table of contents
Get configuration details for a specific Google Flow account, including health status, credits information, and available video models.
https://api.useapi.net/v1/google-flow/accounts/
Request Headers
Authorization: Bearer {API token}
API tokenis required, see Setup useapi.net for details.
Path Parameters
emailis required. The email address of the Google Flow account to query (URL-encoded if necessary).
Responses
-
Account configuration found and returned with health status.
{ "accountCookies": [ { "name": "HSID", "value": "AYQab…redacted…xY12z", "domain": ".google.com", "path": "/", "expires": "2027-11-26T16:03:52.000Z", "httpOnly": true, "secure": false, "sameSite": "Lax" } ], "flowCookies": [ { "name": "OSID", "value": "g.a00…redacted…Hj076", "domain": "flow.google.com", "path": "/", "expires": "2027-11-26T16:04:09.000Z", "httpOnly": false, "secure": true, "sameSite": "Lax" } ], "created": "2025-11-10T12:00:00.000Z", "updated": "2026-10-22T16:04:11.512Z", "project": { "projectId": "3b1c0e9d-7a6f-4592-8d38-7f9e1b4c6a5d", "projectTitle": "Nov 11 - 02:56" }, "nextRefresh": { "messageId": "msg_2…redacted…Fq9Wd", "scheduledFor": "2026-10-24T16:11:37.000Z" }, "backend": "flow", "health": "OK", "credits": { "credits": 1250, "userPaygateTier": "PAYGATE_TIER_TWO" }, "models": { "videoModels": [ { "key": "veo_3_1_t2v", "displayName": "Veo 3.1 - Quality", "supportedAspectRatios": ["VIDEO_ASPECT_RATIO_LANDSCAPE"], "capabilities": ["VIDEO_MODEL_CAPABILITY_AUDIO", "VIDEO_MODEL_CAPABILITY_TEXT"], "videoLengthSeconds": 8, "videoGenerationTimeSeconds": 240, "creditCost": 100, "framesPerSecond": 24, "paygateTier": "PAYGATE_TIER_TWO", "accessType": "MODEL_ACCESS_TYPE_GENERAL", "resolution": "720p", "modelAccessInfo": {}, "modelMetadata": { "veoModelName": "Beta Audio" } }, { "key": "veo_3_1_t2v_lite_low_priority", "displayName": "Veo 3.1 - Lite [Lower Priority]", "supportedAspectRatios": ["VIDEO_ASPECT_RATIO_LANDSCAPE", "VIDEO_ASPECT_RATIO_PORTRAIT"], "capabilities": ["VIDEO_MODEL_CAPABILITY_AUDIO", "VIDEO_MODEL_CAPABILITY_TEXT"], "videoLengthSeconds": 8, "videoGenerationTimeSeconds": 110, "creditCost": 0, "framesPerSecond": 24, "paygateTier": "PAYGATE_TIER_TWO", "accessType": "MODEL_ACCESS_TYPE_GENERAL", "resolution": "720p", "modelAccessInfo": {}, "modelMetadata": { "veoModelName": "Beta Audio" } } ] } }Note: Cookie values are masked to their first and last five characters.
accountCookieslists every Google account cookie the account was added with (HSID,LSID,SID,SSID,APISID,SAPISID), shortened here to one, andflowCookiesholds the flow.google.com sign-in cookie (OSID), which the API replaces about every 2 days.The
creditsandmodelsfields are only included whenhealthis"OK".Captcha provider recommendations. When fewer than two captcha providers are configured on the account, the response also includes a top-level
recommendationsarray. Single-provider users have no failover when Google’s reCAPTCHA Enterprise scores a token low — adding a second provider lets the worker rotate on failure. A second provider does not help when Google distrusts the account itself — see When Google rejects captchas. Example:{ "health": "OK", "credits": {...}, "models": {...}, "recommendations": [ "Only one captcha provider configured. Adding a second provider gives the worker a fallback when Google scores a token low — significantly reduces 429 TOO_MUCH_TRAFFIC and 403 captcha errors. Configure via POST /accounts/captcha-providers." ] }The field is omitted when you already have two or more providers configured. Configure additional providers via POST /accounts/captcha-providers.
Omni 1.1 Flash models are listed for Plus, Pro and Ultra accounts alongside the Veo ones. Google labels this family “Omni 1.1 Flash” in the Flow interface, and
displayNamecarries that label verbatim, so it tracks Google’s version renames — the POST /videosmodelvalue staysomni-flashregardless. Every Omni key appears twice, once perresolution: the_360pvariant costs about half its 720p twin.Free models on Ultra: For accounts with Google AI Ultra subscription (PAYGATE_TIER_TWO), video models with
creditCost: 0are free to generate. These are the lower-priority variants — keys ending in_low_priority(e.g.veo_3_1_t2v_lite_low_priority). Keys ending in_ultraare discounted but not free — they typically cost 10 credits per generation.For an Ultra $199 account on flow.google.com, this list is checked against the account’s own model list. Since 2026-09-23 Google no longer offers the
_low_prioritykeys to invited members of a family plan — only the family manager’s account keeps them — so a member account is listed without them. An account whose model list could not be read gets the plan’s full list. -
Invalid API token.
{ "error": "Unauthorized" } -
Account not found or not configured.
{ "error": "Google Flow account [email protected] not found" }
Model
backend-flowwhen the account runs on the flow.google.com cookies.labsmarks an account added before 2026-09-12 without theAPISIDandSAPISIDcookies, which stopped working on 2026-10-21 and must be added again, see belowhealth-OKwhen the account is ready, otherwise the reason it is not and what to do
An account first added before 2026-10-21 can also show sessionCookies and sessionData left from the old Google Labs sign-in. The API no longer uses them.
{
backend: 'flow' | 'labs' // 'labs' accounts must be added again, see below
created: string // ISO 8601 timestamp, first add
updated: string // ISO 8601 timestamp, most recent add
accountCookies: Array<{
name: string
value: string // Masked
domain: string
path: string
expires: string | number
httpOnly: boolean
secure: boolean
sameSite: 'Lax' | 'Strict' | 'None'
}>
flowCookies: Array<{ // Same structure, one OSID cookie for flow.google.com
name: string
value: string // Masked
domain: string
path: string
expires: string | number
httpOnly: boolean
secure: boolean
sameSite: 'Lax' | 'Strict' | 'None'
}>
project: {
projectId: string
projectTitle: string
}
nextRefresh: {
messageId: string // Masked
scheduledFor: string // ISO 8601 timestamp, about every 2 days
}
health: string // "OK" | "<error>"
credits?: { // Only present when health is "OK"
credits: number
userPaygateTier: string // "PAYGATE_TIER_ZERO" | "PAYGATE_TIER_ONE" | "PAYGATE_TIER_TIER1P5" | "PAYGATE_TIER_TWO"
}
models?: { // Only present when health is "OK"
videoModels: Array<{
key: string // Model identifier (e.g., "veo_3_1_t2v_fast_ultra")
displayName: string // "Veo 3.1 - Fast" | "Veo 3.1 - Quality" | "Veo 3.1 - Lite" | "Veo 3.1 - Lite [Lower Priority]" | "Omni 1.1 Flash" | ...
supportedAspectRatios: string[]
capabilities: string[] // e.g., ["VIDEO_MODEL_CAPABILITY_TEXT", "VIDEO_MODEL_CAPABILITY_AUDIO"]
videoLengthSeconds: number
videoGenerationTimeSeconds?: number
creditCost: number // Credits charged per generation. 0 for free Ultra-only variants (`_low_priority`, `_relaxed`).
framesPerSecond: number
resolution: string // "360p" | "720p" — generation output resolution. On an upsampler key it is the input resolution that key accepts
paygateTier: string // "PAYGATE_TIER_ZERO" | "PAYGATE_TIER_ONE" | "PAYGATE_TIER_TIER1P5" | "PAYGATE_TIER_TWO"
accessType: string
modelAccessInfo: object
modelMetadata: object
}>
}
error?: string // Error message
}
Examples
-
curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v1/google-flow/accounts/john%40gmail.com" -
import requests from urllib.parse import quote token = 'YOUR_API_TOKEN' email = '[email protected]' headers = {'Authorization': f'Bearer {token}'} response = requests.get( f'https://api.useapi.net/v1/google-flow/accounts/{quote(email)}', headers=headers ) account_config = response.json() print('Account config:', account_config) print('Health:', account_config.get('health')) print('Credits:', account_config.get('credits')) -
const token = 'YOUR_API_TOKEN'; const email = '[email protected]'; const response = await fetch( `https://api.useapi.net/v1/google-flow/accounts/${encodeURIComponent(email)}`, { headers: { 'Authorization': `Bearer ${token}` } } ); const accountConfig = await response.json(); console.log('Account config:', accountConfig); console.log('Health:', accountConfig.health); console.log('Credits:', accountConfig.credits);
Accounts that must be added again
Google switched off the old Google Labs sign-in on 2026-10-21. Google Flow accounts now run only on the flow.google.com cookies, and an account added without them no longer works.
Check your accounts with GET /accounts and read the backend field on each one:
backend | What it means | What to do |
|---|---|---|
flow | Runs on flow.google.com | Nothing |
labs | Added before 2026-09-12 without the APISID and SAPISID cookies, stopped working on 2026-10-21 | Add the account again with the automated setup |
Every request for a labs account answers 596, and its health carries the same message:
{
"error": "Google Flow account [email protected]: Google shut down the old Google Labs sign-in on 2026-10-21. This account was added without the APISID and SAPISID cookies that the Google Flow sign-in needs, so it no longer works and cannot be refreshed. Add it again with the automated setup at https://useapi.net/assets/setup-browser/google-flow, which captures every cookie needed (guide: https://useapi.net/docs/start-here/setup-google-flow)."
}
Adding an account again takes about a minute with the automated setup, which signs in to Google in a browser and captures every cookie needed (see Setup Google Flow). Your code does not change — same endpoints, same parameters, same responses — and the account keeps its project, characters, voices, credits and original created date. A project you deleted in Google Flow is replaced by a new, empty one.
Why this is happening
Google moved Flow to flow.google.com on 2026-09-10 and began disabling the old Google Labs endpoints on 2026-09-15. On 2026-10-21 it switched off the Google Labs sign-in itself, so an account can now sign in to Google Flow only with its Google account cookies, APISID and SAPISID included.