Gemini 3.6 Flash is a multimodal language model from Google DeepMind, positioned as the workhorse tier in the Gemini 3.x family. It accepts text, image, video, audio, and PDF inputs with a 1 million token context window and produces up to 64,000 output tokens. The model builds directly on Gemini 3.5 Flash, incorporating developer and customer feedback to improve token efficiency, coding quality, and knowledge work performance. According to the Artificial Analysis Index, it consumes 17% fewer output tokens than its predecessor, and on some benchmarks such as DeepSWE, token reduction reaches up to 65%. It supports function calling, structured output, search as a tool, and code execution, and includes computer use as a built-in capability in the Gemini API and Gemini Enterprise.
On coding benchmarks, Gemini 3.6 Flash scores 49% on DeepSWE versus 37% for 3.5 Flash, and 63.9% on MLE Bench versus 49.7%. Computer use performance on OSWorld-Verified improves from 78.4% to 83%, and knowledge work scores on GDPval-AA v2 rise from 1349 to 1421. The model carries a knowledge cutoff of March 2026 and ships with enhanced Frontier Safety safeguards covering chemical, biological, radiological, nuclear, and cyber offense domains, with training to minimize refusals for beneficial uses. It is a proprietary, closed-weights model available in preview through the Gemini API via Google AI Studio, Android Studio, Google Antigravity, Gemini Enterprise, and the Gemini app.
Drag and drop an image here, or click to browse
—
Usage
Past 30 DaysVision Evals is Roboflow's ground-truth benchmark: every model runs the same real-world samples across six vision tasks, and answers are scored against ground truth.
Evals updated August 6, 2026Pricing updated August 11, 2026
Gemini 3.6 Flash averages 83.1% across the six Vision Evals tasks, ranking #4 of 25 models overall.
It leads the field in Counting.
It also places in the top three for Data Extraction and Reasoning.
Its weakest relative showing is OCR, ranking #17 of 25 at 88.4%.
At $0.0063 per sample it is the 13th cheapest of the 25 benchmarked models, and its average inference time of 4.7s per sample makes it the 3rd fastest.
Field medians: Object Detection 56.0%, Counting 63.5%, Identification 84.4%, OCR 89.3%, Data Extraction 86.6%, Reasoning 55.6%.
| Task | Score | Field (0 to 100) | Rank | Cost / sample | Speed |
|---|---|---|---|---|---|
| Object Detection | 56.0% | #13 of 25 | $0.0083 | 6.33s | |
| Counting | 82.4% | #1 of 25 | $0.0065 | 4.49s | |
| Identification | 96.9% | #4 of 25 | $0.0030 | 2.28s | |
| OCR | 88.4% | #17 of 25 | $0.0050 | 3.38s | |
| Data Extraction | 94.8% | #2 of 25 | $0.0030 | 2.48s | |
| Reasoning (low) | 80.1% | #2 of 25 | $0.0062 | 4.51s | |
| Reasoning (high) | 80.1% | #3 of 25 | $0.017 | 9.68s |
Overall benchmark score against estimated cost per sample. Upper-left is the sweet spot: high quality at low cost.
25 models on the current benchmark · scores and efficiency pooled across all six tasks at low effort · Gemini 3.6 Flash highlighted
Gemini 3.6 Flash scores from a single evaluation run · Methodology
View all Vision Evals →Gemini 3.6 Flash costs $1.50 per 1M input tokens and $7.50 per 1M output tokens.
Pricing updated Aug 11, 2026
Other models worth comparing for similar use cases.
Other versions in the same family as Gemini 3.6 Flash.
Gemini 3.6 Flash runs as a hosted REST endpoint through Roboflow Workflows. Pick a task, then hand the prompt to your coding agent or copy the code. Deploying the workflow into a free Roboflow workspace replaces the your-workspace and YOUR_API_KEY placeholders with your own.
Add the Roboflow MCP server
claude mcp add --transport http roboflow https://mcp.roboflow.com/mcp
Run /mcp and authorize Roboflow in your browser when the OAuth flow opens.
Start a new Claude Code session so the MCP loads, then paste the prompt below (it works the same in any agent).
Deploy this workflow to your Roboflow workspace to use it.
Integrate the Roboflow "Gemini 3.6 Flash" workflow into my app.
- Endpoint: POST https://serverless.roboflow.com/<your-workspace>/workflows/gemini-3-6-flash-open-prompt
- Auth: send my Roboflow API key as `api_key` in the request body, read from the ROBOFLOW_API_KEY env var (never hardcode).
- Body: { "api_key": ..., "inputs": { `image`: { type: "url" | "base64", value }, `prompt`: text, `model_api_key`: my provider key } }.
With the Roboflow MCP connected, call `workflows_get` on "gemini-3-6-flash-open-prompt" to read the exact input schema and treat it as the source of truth. A live `workflows_run` for this workflow also needs my Google AI Studio key (`model_api_key`) passed as a runtime parameter; if you don't have it yet, skip the test run — it will fail with a server error without the provider key, which is expected and not a problem with your code — and rely on the schema. Validate the real run via the REST call once the keys below are set. Without the MCP, use the contract above.
Before running the app, set up these keys so it does not error at runtime:
- `ROBOFLOW_API_KEY` (sent as `api_key`) from https://app.roboflow.com/settings/api
- `GOOGLE_API_KEY` (sent as `model_api_key`) from https://aistudio.google.com/apikey — my Google AI Studio key
Create a .gitignore'd .env with these variables, using placeholder values for any I haven't given you. Then pause and tell me directly, in your reply: the full path to the .env file, exactly which keys I need to paste in, and the link to get each one. Wait for me to confirm I've added them before you run anything. Do not run the app until I confirm.
Then add the integration to my codebase: match my project's language, framework, and conventions; read every key from environment variables (never hardcode); add basic error handling; and include a small runnable example. If you can't tell what language my project uses, ask me.pip install inference-sdkDeploy this workflow to your Roboflow workspace to use it.
# 1. Import the library
from inference_sdk import InferenceHTTPClient
# 2. Connect to your workflow
client = InferenceHTTPClient(
api_url="https://serverless.roboflow.com",
api_key="YOUR_API_KEY"
)
# 3. Run your workflow on an image
result = client.run_workflow(
workspace_name="your-workspace",
workflow_id="gemini-3-6-flash-open-prompt",
images={
"image": "YOUR_IMAGE.jpg" # Path to your image file
},
parameters={
"prompt": "Describe what you see in the image",
"model_api_key": "YOUR_GOOGLE_API_KEY"
},
use_cache=True # cache workflow definition for 15 minutes
)
# 4. Get your results
print(result)Deploy this workflow to your Roboflow workspace to use it.
const response = await fetch('https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-open-prompt', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'YOUR_API_KEY',
inputs: {
"image": {"type": "url", "value": "IMAGE_URL"},
"prompt": "Describe what you see in the image",
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
})
});
const result = await response.json();
console.log(result);Deploy this workflow to your Roboflow workspace to use it.
curl --location 'https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-open-prompt' \
--header 'Content-Type: application/json' \
--data '{
"api_key": "YOUR_API_KEY",
"inputs": {
"image": {"type": "url", "value": "IMAGE_URL"},
"prompt": "Describe what you see in the image",
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
}'Add the Roboflow MCP server
claude mcp add --transport http roboflow https://mcp.roboflow.com/mcp
Run /mcp and authorize Roboflow in your browser when the OAuth flow opens.
Start a new Claude Code session so the MCP loads, then paste the prompt below (it works the same in any agent).
Deploy this workflow to your Roboflow workspace to use it.
Integrate the Roboflow "Gemini 3.6 Flash" workflow into my app.
- Endpoint: POST https://serverless.roboflow.com/<your-workspace>/workflows/gemini-3-6-flash-classification
- Auth: send my Roboflow API key as `api_key` in the request body, read from the ROBOFLOW_API_KEY env var (never hardcode).
- Body: { "api_key": ..., "inputs": { `image`: { type: "url" | "base64", value }, `classes`: string array, `model_api_key`: my provider key } }.
With the Roboflow MCP connected, call `workflows_get` on "gemini-3-6-flash-classification" to read the exact input schema and treat it as the source of truth. A live `workflows_run` for this workflow also needs my Google AI Studio key (`model_api_key`) passed as a runtime parameter; if you don't have it yet, skip the test run — it will fail with a server error without the provider key, which is expected and not a problem with your code — and rely on the schema. Validate the real run via the REST call once the keys below are set. Without the MCP, use the contract above.
Before running the app, set up these keys so it does not error at runtime:
- `ROBOFLOW_API_KEY` (sent as `api_key`) from https://app.roboflow.com/settings/api
- `GOOGLE_API_KEY` (sent as `model_api_key`) from https://aistudio.google.com/apikey — my Google AI Studio key
Create a .gitignore'd .env with these variables, using placeholder values for any I haven't given you. Then pause and tell me directly, in your reply: the full path to the .env file, exactly which keys I need to paste in, and the link to get each one. Wait for me to confirm I've added them before you run anything. Do not run the app until I confirm.
Then add the integration to my codebase: match my project's language, framework, and conventions; read every key from environment variables (never hardcode); add basic error handling; and include a small runnable example. If you can't tell what language my project uses, ask me.pip install inference-sdkDeploy this workflow to your Roboflow workspace to use it.
# 1. Import the library
from inference_sdk import InferenceHTTPClient
# 2. Connect to your workflow
client = InferenceHTTPClient(
api_url="https://serverless.roboflow.com",
api_key="YOUR_API_KEY"
)
# 3. Run your workflow on an image
result = client.run_workflow(
workspace_name="your-workspace",
workflow_id="gemini-3-6-flash-classification",
images={
"image": "YOUR_IMAGE.jpg" # Path to your image file
},
parameters={
"classes": ["class1", "class2", "class3"],
"model_api_key": "YOUR_GOOGLE_API_KEY"
},
use_cache=True # cache workflow definition for 15 minutes
)
# 4. Get your results
print(result)Deploy this workflow to your Roboflow workspace to use it.
const response = await fetch('https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-classification', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'YOUR_API_KEY',
inputs: {
"image": {"type": "url", "value": "IMAGE_URL"},
"classes": ["class1", "class2", "class3"],
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
})
});
const result = await response.json();
console.log(result);Deploy this workflow to your Roboflow workspace to use it.
curl --location 'https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-classification' \
--header 'Content-Type: application/json' \
--data '{
"api_key": "YOUR_API_KEY",
"inputs": {
"image": {"type": "url", "value": "IMAGE_URL"},
"classes": ["class1", "class2", "class3"],
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
}'Add the Roboflow MCP server
claude mcp add --transport http roboflow https://mcp.roboflow.com/mcp
Run /mcp and authorize Roboflow in your browser when the OAuth flow opens.
Start a new Claude Code session so the MCP loads, then paste the prompt below (it works the same in any agent).
Deploy this workflow to your Roboflow workspace to use it.
Integrate the Roboflow "Gemini 3.6 Flash" workflow into my app.
- Endpoint: POST https://serverless.roboflow.com/<your-workspace>/workflows/gemini-3-6-flash-captioning
- Auth: send my Roboflow API key as `api_key` in the request body, read from the ROBOFLOW_API_KEY env var (never hardcode).
- Body: { "api_key": ..., "inputs": { `image`: { type: "url" | "base64", value }, `model_api_key`: my provider key } }.
With the Roboflow MCP connected, call `workflows_get` on "gemini-3-6-flash-captioning" to read the exact input schema and treat it as the source of truth. A live `workflows_run` for this workflow also needs my Google AI Studio key (`model_api_key`) passed as a runtime parameter; if you don't have it yet, skip the test run — it will fail with a server error without the provider key, which is expected and not a problem with your code — and rely on the schema. Validate the real run via the REST call once the keys below are set. Without the MCP, use the contract above.
Before running the app, set up these keys so it does not error at runtime:
- `ROBOFLOW_API_KEY` (sent as `api_key`) from https://app.roboflow.com/settings/api
- `GOOGLE_API_KEY` (sent as `model_api_key`) from https://aistudio.google.com/apikey — my Google AI Studio key
Create a .gitignore'd .env with these variables, using placeholder values for any I haven't given you. Then pause and tell me directly, in your reply: the full path to the .env file, exactly which keys I need to paste in, and the link to get each one. Wait for me to confirm I've added them before you run anything. Do not run the app until I confirm.
Then add the integration to my codebase: match my project's language, framework, and conventions; read every key from environment variables (never hardcode); add basic error handling; and include a small runnable example. If you can't tell what language my project uses, ask me.pip install inference-sdkDeploy this workflow to your Roboflow workspace to use it.
# 1. Import the library
from inference_sdk import InferenceHTTPClient
# 2. Connect to your workflow
client = InferenceHTTPClient(
api_url="https://serverless.roboflow.com",
api_key="YOUR_API_KEY"
)
# 3. Run your workflow on an image
result = client.run_workflow(
workspace_name="your-workspace",
workflow_id="gemini-3-6-flash-captioning",
images={
"image": "YOUR_IMAGE.jpg" # Path to your image file
},
parameters={
"model_api_key": "YOUR_GOOGLE_API_KEY"
},
use_cache=True # cache workflow definition for 15 minutes
)
# 4. Get your results
print(result)Deploy this workflow to your Roboflow workspace to use it.
const response = await fetch('https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-captioning', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'YOUR_API_KEY',
inputs: {
"image": {"type": "url", "value": "IMAGE_URL"},
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
})
});
const result = await response.json();
console.log(result);Deploy this workflow to your Roboflow workspace to use it.
curl --location 'https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-captioning' \
--header 'Content-Type: application/json' \
--data '{
"api_key": "YOUR_API_KEY",
"inputs": {
"image": {"type": "url", "value": "IMAGE_URL"},
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
}'Add the Roboflow MCP server
claude mcp add --transport http roboflow https://mcp.roboflow.com/mcp
Run /mcp and authorize Roboflow in your browser when the OAuth flow opens.
Start a new Claude Code session so the MCP loads, then paste the prompt below (it works the same in any agent).
Deploy this workflow to your Roboflow workspace to use it.
Integrate the Roboflow "Gemini 3.6 Flash" workflow into my app.
- Endpoint: POST https://serverless.roboflow.com/<your-workspace>/workflows/gemini-3-6-flash-ocr
- Auth: send my Roboflow API key as `api_key` in the request body, read from the ROBOFLOW_API_KEY env var (never hardcode).
- Body: { "api_key": ..., "inputs": { `image`: { type: "url" | "base64", value }, `model_api_key`: my provider key } }.
With the Roboflow MCP connected, call `workflows_get` on "gemini-3-6-flash-ocr" to read the exact input schema and treat it as the source of truth. A live `workflows_run` for this workflow also needs my Google AI Studio key (`model_api_key`) passed as a runtime parameter; if you don't have it yet, skip the test run — it will fail with a server error without the provider key, which is expected and not a problem with your code — and rely on the schema. Validate the real run via the REST call once the keys below are set. Without the MCP, use the contract above.
Before running the app, set up these keys so it does not error at runtime:
- `ROBOFLOW_API_KEY` (sent as `api_key`) from https://app.roboflow.com/settings/api
- `GOOGLE_API_KEY` (sent as `model_api_key`) from https://aistudio.google.com/apikey — my Google AI Studio key
Create a .gitignore'd .env with these variables, using placeholder values for any I haven't given you. Then pause and tell me directly, in your reply: the full path to the .env file, exactly which keys I need to paste in, and the link to get each one. Wait for me to confirm I've added them before you run anything. Do not run the app until I confirm.
Then add the integration to my codebase: match my project's language, framework, and conventions; read every key from environment variables (never hardcode); add basic error handling; and include a small runnable example. If you can't tell what language my project uses, ask me.pip install inference-sdkDeploy this workflow to your Roboflow workspace to use it.
# 1. Import the library
from inference_sdk import InferenceHTTPClient
# 2. Connect to your workflow
client = InferenceHTTPClient(
api_url="https://serverless.roboflow.com",
api_key="YOUR_API_KEY"
)
# 3. Run your workflow on an image
result = client.run_workflow(
workspace_name="your-workspace",
workflow_id="gemini-3-6-flash-ocr",
images={
"image": "YOUR_IMAGE.jpg" # Path to your image file
},
parameters={
"model_api_key": "YOUR_GOOGLE_API_KEY"
},
use_cache=True # cache workflow definition for 15 minutes
)
# 4. Get your results
print(result)Deploy this workflow to your Roboflow workspace to use it.
const response = await fetch('https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-ocr', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'YOUR_API_KEY',
inputs: {
"image": {"type": "url", "value": "IMAGE_URL"},
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
})
});
const result = await response.json();
console.log(result);Deploy this workflow to your Roboflow workspace to use it.
curl --location 'https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-ocr' \
--header 'Content-Type: application/json' \
--data '{
"api_key": "YOUR_API_KEY",
"inputs": {
"image": {"type": "url", "value": "IMAGE_URL"},
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
}'Add the Roboflow MCP server
claude mcp add --transport http roboflow https://mcp.roboflow.com/mcp
Run /mcp and authorize Roboflow in your browser when the OAuth flow opens.
Start a new Claude Code session so the MCP loads, then paste the prompt below (it works the same in any agent).
Deploy this workflow to your Roboflow workspace to use it.
Integrate the Roboflow "Gemini 3.6 Flash" workflow into my app.
- Endpoint: POST https://serverless.roboflow.com/<your-workspace>/workflows/gemini-3-6-flash-object-detection
- Auth: send my Roboflow API key as `api_key` in the request body, read from the ROBOFLOW_API_KEY env var (never hardcode).
- Body: { "api_key": ..., "inputs": { `image`: { type: "url" | "base64", value }, `classes`: string array, `model_api_key`: my provider key } }.
With the Roboflow MCP connected, call `workflows_get` on "gemini-3-6-flash-object-detection" to read the exact input schema and treat it as the source of truth. A live `workflows_run` for this workflow also needs my Google AI Studio key (`model_api_key`) passed as a runtime parameter; if you don't have it yet, skip the test run — it will fail with a server error without the provider key, which is expected and not a problem with your code — and rely on the schema. Validate the real run via the REST call once the keys below are set. Without the MCP, use the contract above.
Before running the app, set up these keys so it does not error at runtime:
- `ROBOFLOW_API_KEY` (sent as `api_key`) from https://app.roboflow.com/settings/api
- `GOOGLE_API_KEY` (sent as `model_api_key`) from https://aistudio.google.com/apikey — my Google AI Studio key
Create a .gitignore'd .env with these variables, using placeholder values for any I haven't given you. Then pause and tell me directly, in your reply: the full path to the .env file, exactly which keys I need to paste in, and the link to get each one. Wait for me to confirm I've added them before you run anything. Do not run the app until I confirm.
Then add the integration to my codebase: match my project's language, framework, and conventions; read every key from environment variables (never hardcode); add basic error handling; and include a small runnable example. If you can't tell what language my project uses, ask me.pip install inference-sdkDeploy this workflow to your Roboflow workspace to use it.
# 1. Import the library
from inference_sdk import InferenceHTTPClient
# 2. Connect to your workflow
client = InferenceHTTPClient(
api_url="https://serverless.roboflow.com",
api_key="YOUR_API_KEY"
)
# 3. Run your workflow on an image
result = client.run_workflow(
workspace_name="your-workspace",
workflow_id="gemini-3-6-flash-object-detection",
images={
"image": "YOUR_IMAGE.jpg" # Path to your image file
},
parameters={
"classes": ["class1", "class2", "class3"],
"model_api_key": "YOUR_GOOGLE_API_KEY"
},
use_cache=True # cache workflow definition for 15 minutes
)
# 4. Get your results
print(result)Deploy this workflow to your Roboflow workspace to use it.
const response = await fetch('https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-object-detection', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'YOUR_API_KEY',
inputs: {
"image": {"type": "url", "value": "IMAGE_URL"},
"classes": ["class1", "class2", "class3"],
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
})
});
const result = await response.json();
console.log(result);Deploy this workflow to your Roboflow workspace to use it.
curl --location 'https://serverless.roboflow.com/your-workspace/workflows/gemini-3-6-flash-object-detection' \
--header 'Content-Type: application/json' \
--data '{
"api_key": "YOUR_API_KEY",
"inputs": {
"image": {"type": "url", "value": "IMAGE_URL"},
"classes": ["class1", "class2", "class3"],
"model_api_key": "YOUR_GOOGLE_API_KEY"
}
}'Gemini 3.6 Flash is proprietary: the weights are not distributed, and the Gemini 3.6 Flash license is the vendor's commercial terms of service that you accept when you call the API.
Vendor terms govern data retention, whether your inputs can be trained on, rate limits, and regional availability, and they can change with notice. Review them if you handle regulated or customer data.
Proprietary terms are set by the vendor rather than negotiated per project, and no open-source obligation attaches to your code. If you would rather deploy a model whose commercial license is included in your plan — on Roboflow Managed Cloud or a Self-Hosted Inference Server — Roboflow's licensing page lists the supported alternatives to Gemini 3.6 Flash.
Do not hesitate to reach out with questions for your commercial project — our team will help you start solving business problems on the first call. See Roboflow commercial licensing for the models included in each plan.
Talk to salesThis model is proprietary. The author retains all rights, and use of the model is governed by their specific terms of service or license agreement.
Commercial use depends on the terms set by the model author. Most proprietary commercial models require a paid subscription, API key, or per-call billing. Check the provider’s pricing and terms-of-service for details.
License information is provided as a guide and is not legal advice.
Yes. Gemini 3.6 Flash accepts image input and handles OCR, data extraction, object counting, identification, visual reasoning, and object detection. On Roboflow's Vision Evals its strongest task is Counting at 82.4% (#1 of 25). You can test it on your own image in the demo above.
Yes. its transcriptions match the ground truth 88.4% on average (#17 of 25) on Vision Evals OCR. Pulling specific fields out of documents (data extraction) scores 94.9%.
Not its strength. On Vision Evals, Gemini 3.6 Flash scores 56% mAP@50 on object detection (#13 of 25) and 82.4% exact-match accuracy on object counting. For production counting or precise localization, pairing it with a specialized detector like RF-DETR or your own trained model in a Roboflow Workflow is usually more reliable: detect the objects, then count the detections.
On our benchmark's task mix, Gemini 3.6 Flash averages $0.0063 per sample at $1.50 per 1M input and $7.50 per 1M output tokens (#13 of 25 on cost), with an average speed of 4.7s per sample across the benchmark. Actual cost depends on your images and prompts.
On the overall Vision Evals ranking, Gemini 3.6 Flash sits #4 of 25 at 83.1%, just behind Gemini 3.1 Pro (83.1%) and just ahead of Muse Spark 1.2 (80.4%). See the full side-by-side: Gemini 3.6 Flash vs Gemini 3.1 Pro.