Read agent settings
October 16, 2026 (November 6, 2026)
Table of contents
Read the agent settings of a Flow project: whether the agent asks before it spends credits, the standing instructions it follows in every chat of the project, and the default image and video models it uses. These are the same settings as the agent panel in the Flow web app. Change them with PUT /agent/settings.
Without projectId, this reads the account’s own agent project, the one POST /agent/chats uses by default. An account that has no agent project yet answers projectId: null and the defaults.
The response also lists models, the image and video models the account’s Google plan has, each with what its cheapest generation (the shortest length at the lowest resolution) costs on that plan in credits (0 is free). Pick the default models for PUT /agent/settings from this list. When the account’s plan is not known, every model is listed without credits. models is null when Google’s model list could not be read. The list is read from Google at most once an hour per account.
https://api.useapi.net/v1/google-flow/agent/settings?email=
projectId
Request Headers
Authorization: Bearer {API token}
API tokenis required, see Setup useapi.net for details.
Query Parameters
emailis required, the Google Flow account, see GET /accounts.projectIdis optional, a Flow project of the account, from GET /assets/projects/email.
Default: the account’s agent project.
Responses
-
{ "projectId": "f166200a-ea22-461a-bc68-47ff6d3ee500", "approval": "ask", "instructions": [ { "id": "2157F442-D2DB-4C22-BC53-E4B14FA4D667", "text": "Keep every answer short. Prefer free image models.", "enabled": true, "references": [] }, { "id": "C4B70536-E836-431B-B86B-0E3816CCE6B9", "text": "A switched-off instruction.", "enabled": false, "references": [] } ], "imageDefaults": { "model": "nano-banana-2", "aspectRatio": "16:9", "count": 1 }, "videoDefaults": { "model": "veo-3.1-fast", "aspectRatio": "16:9", "count": 1 }, "models": { "image": [ { "model": "nano-banana-pro", "label": "Nano Banana Pro", "credits": 0 }, { "model": "nano-banana-2-lite", "label": "Nano Banana 2 Lite", "credits": 0 }, { "model": "nano-banana-2", "label": "Nano Banana 2.1", "credits": 0 } ], "video": [ { "model": "omni-flash-1.2", "label": "Omni 1.2 Flash", "credits": 3 }, { "model": "omni-flash", "label": "Omni 1.1 Flash", "credits": 4 }, { "model": "veo-3.1-lite", "label": "Veo 3.1 - Lite", "credits": 10 }, { "model": "veo-3.1-fast", "label": "Veo 3.1 - Fast", "credits": 20 }, { "model": "veo-3.1-quality", "label": "Veo 3.1 - Quality", "credits": 100 } ] } }Ultra plans also list
{ "model": "veo-3.1-lite-low-priority", "label": "Veo 3.1 - Lite [Lower Priority]" }with its credits. An account Google has given Omni 1.2 Flash (rolling out from November 5, 2026) also lists{ "model": "omni-flash-1.2", "label": "Omni 1.2 Flash" }with its credits.A project whose settings were never changed (its
modelsare left out here):{ "projectId": "f166200a-ea22-461a-bc68-47ff6d3ee500", "approval": "ask", "instructions": [], "imageDefaults": null, "videoDefaults": null } -
{ "error": "Parameter email is required", "code": 400 } -
Invalid API token.
{ "error": "useapi.net ⁝ Unauthorized", "code": 401 } -
The account is not added, or
projectIdis not a project of the account.{ "error": "Google Flow account [email protected] not found", "code": 404 }When
projectIdis not a project of the account:{ "error": "Project not found", "code": 404 } -
Google Flow could not be reached, and nothing happened. Retry shortly.
{ "error": "Google Flow is not reachable right now and could not read the agent settings. Retry", "code": 503 } -
596 Session Error
The account’s Google session is no longer valid. Delete the account with DELETE /accounts/
emailand add it again by following Setup Google Flow.
Model
{ // TypeScript, all fields are optional
projectId: string | null // null: the account has no agent project yet
approval: 'ask' | 'auto' // ask: the agent asks before it spends credits
instructions: { // up to 3
id: string
title?: string
text: string
enabled: boolean
references: string[] // media ids of the instruction's reference images
}[]
imageDefaults: {
model: string // the model's name as models.image lists it
aspectRatio: string // 16:9 | 9:16 | 1:1 | 4:3 | 3:4
count: number // images per request, 1 to 4
} | null // null: never set
videoDefaults: {
model: string // the model's name as models.video lists it
aspectRatio: string // 16:9 | 9:16
count: number // videos per request, 1 to 4
} | null
models: { // the models the account's Google plan has, null: Google's model list could not be read
image: {
model: string // the name to use in imageDefaults
label: string // the name the Flow web app shows
credits?: number // lowest cost of one generation on the account's plan, 0 is free, absent when the plan is not known
}[]
video: {
model: string // the name to use in videoDefaults
label: string
credits?: number
}[]
} | null
}
Examples
-
curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v1/google-flow/agent/settings?email=john%40gmail.com" -
const token = 'YOUR_API_TOKEN' const response = await fetch(`https://api.useapi.net/v1/google-flow/agent/settings?email=${encodeURIComponent('[email protected]')}`, { headers: { 'Authorization': `Bearer ${token}` } }) console.log(await response.json()) -
import requests token = 'YOUR_API_TOKEN' r = requests.get( 'https://api.useapi.net/v1/google-flow/agent/settings', headers={'Authorization': f'Bearer {token}'}, params={'email': '[email protected]'}, ) print(r.json())