LLM models
Gemini 3 Flash
On this page
Gemini 3 Flash — frontier reasoning and generation through one API.
| modelId | gemini-3-flash |
| Modality | text |
| Pricing | See this model on the Pricing page for the current per-call price (with your markup). |
Operations
| Operation | modelId | Endpoint | Required input |
|---|---|---|---|
| Default | gemini-3-flash | POST /api/v1/generate | prompt |
| Poll task | — | GET /api/v1/task/{id}?model=gemini-3-flash | — |
Input parameters
| Field | Type | Required | Values / example |
|---|---|---|---|
| prompt | string | Yes | Text value (example: In three vivid sentences, explain to a curious child why hot air balloons rise into the sky.) |
| reasoning_effort | string | No | Control reasoning depth: Low for faster responses, High for deeper analysis (options: Low | High) (example: High) |
| stream | boolean | No | Turn off to get a single non-streaming response. (true/false) (example: true) |
| system | string | No | System instruction for the model. Defaults to "You are Gemini 3 Flash, developed by Google." when omitted. |
| messages | array | No | A conversation instead of a single prompt: an array of { "role", "content" } objects, where role is user, assistant or system. Send the whole conversation — we do not limit how many messages it has, and we do not drop old ones; the model's context window is the limit. Send prompt or messages, not both. Do not flatten a conversation into one prompt with "User:" / "Assistant:" labels — the model reads that as a single message, and a model using web search then searches for the whole block instead of your question. |
Example request
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"gemini-3-flash","input":{"prompt":"In three vivid sentences, explain to a curious child why hot air balloons rise into the sky.","reasoning_effort":"High","stream":true}}'