Gemini 3.1 Flash Image Preview
Integrar
gemini-3.1-flash-image-preview
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/gemini-3.1-flash-image-preview?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/gemini-3.1-flash-image-preview?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/gemini-3.1-flash-image-preview", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/rm/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "gemini-3.1-flash-image-preview",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
}
Cloma il model Gemini 3.1 Flash Image Preview (gemini-3.1-flash-image-preview) tras la Doitong API. Documentaziun per agents: https://doitong.com/rm/developers/models/gemini-3.1-flash-image-preview.md
POST https://api.doitong.com/v1/run/gemini-3.1-flash-image-preview?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
Sche il status da la resposta è "queued" u "running", fa polling GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 fin ch'el è "succeeded"; las datotecas èn en outputs[].url. POST https://api.doitong.com/v1/quote/gemini-3.1-flash-image-preview cun il medem body returna il pretsch exact avant l'execuziun.
Questa dumonda: $0,08 80 credits API Lantschar sin questa pagina
Tia nova clav API. Quest vegn mussada mo ussa ed è gia en il code ed en il champ da la clav API sutvart. Mantegna ella secreta: na la metta mai en code che vegn exequì en in navigatur.
Fatg sin Doitong
Ovras publicas fatgas cun Gemini 3.1 Flash Image Preview da la communitad Doitong. Reutilisescha in prompt cun in clic.
Strong rule: style --- 3D Pixar ---. Высокий скалистый берег, омываемый бурными волнами глубокого темно-синего цвета. На вершине скалы стоит Певец, его фигура занимает центральную часть кадра. Камера снимает со среднего плана, чуть снизу вверх, чтобы подчеркнуть значимость момента. Солнце...
Strong rule: style --- 3D Pixar ---. Молодая девушка около 22 лет с яркими, выразительными карими глазами и копной каштановых вьющихся волос, собранных в небрежный пучок. На ней стильные очки в тонкой золотистой оправе и уютный оверсайз-худи пастельно-фиолетового цвета. Лицо отражает...
Strong rule: style --- 3D Pixar ---. Силуэт Певца на фоне огромного заходящего солнца. Он стоит в профиль, голова гордо поднята. Камера на дальнем плане. Небо окрашено в невероятные оттенки огненно-рыжего, пурпурного и глубокого синего. Солнце выглядит как огромный светящийся шар. Атмосфера...
Strong rule: style --- 3D Pixar ---. На горизонте появляется старинный парусник с ярко-алыми парусами, освещенный ярким солнцем. Он скользит по синей глади воды, оставляя за собой белый след. Камера снимает с уровня воды, глядя в сторону корабля. Цвета невероятно насыщенные: глубокая синева моря...
Strong rule: style --- 3D Pixar ---. Подводный мир в лазурных тонах. Лучи солнца пронзают толщу воды, создавая танцующие световые столбы (каустику) на песчаном дне. Камера находится под водой, снимая снизу вверх. Видны косяки мелких серебристых рыб и медленно колышущиеся водоросли. Атмосфера...
Strong rule: style --- 3D Pixar ---. Стилизованный молодой мужчина около 30 лет с округлым лицом и светлой кожей. У него светло-каштановые волосы средней длины, разделенные на прямой пробор, и выразительные большие голубые глаза за очками в широкой черной оправе. На лице аккуратная бородка и...
Strong rule: style --- 3D Pixar ---. Стилизованный молодой мужчина около 30 лет с округлым лицом и светлой кожей. У него светло-каштановые волосы средней длины, разделенные на прямой пробор, и выразительные большие голубые глаза за очками в широкой черной оправе. На лице аккуратная бородка и...
Strong rule: style --- 3D Pixar ---. Сюрреалистичный и нежный образ: огромные волны, напоминающие по форме ладони, бережно держат маленькие бумажные кораблики и сказочные фрегаты. Камера на среднем плане. Освещение мягкое, лунное, создающее сказочную атмосферу. Море выглядит живым и заботливым....
Strong rule: style --- 3D Pixar ---. Величественный общий план: Певец стоит на краю обрыва, раскинув руки, на фоне огромного бушующего океана. Огромные волны бьются о подножие скал, поднимая тучи белой пены. Камера расположена далеко, создавая масштабную композицию. Небо затянуто драматичными...
Strong rule: style --- 3D Pixar ---. Стилизованный кадр открытого космоса, переходящий в земную атмосферу. Видны туманности синего цвета и падающие звезды-метеоры, оставляющие длинные хвосты. Камера совершает быстрый пролет сквозь пространство. Освещение неоновое, магическое. Атмосфера...
Strong rule: style --- 3D Pixar ---. Ночное небо над морем, усыпанное мириадами ярких звезд и Млечным Путем. Звезды отражаются в спокойной темной воде, создавая иллюзию бесконечного пространства. Камера направлена вверх под углом 45 градусов. Освещение холодное, лунное, с серебристыми бликами на...
Strong rule: style --- 3D Pixar ---. Крупный план морской пены, разбивающейся о прибрежные камни. Брызги воды разлетаются во все стороны, сверкая как алмазы в лучах восходящего солнца. Камера зафиксирована в динамичном ракурсе сбоку. Освещение теплое, золотистое, контрастирующее с холодными...
Strong rule: style --- 3D Pixar ---. Крупный план лица Певца, выражающего глубокое одухотворение. Его глаза блестят от эмоций, взгляд направлен вдаль. Он прикладывает руку к сердцу в искреннем жесте. Камера находится на уровне глаз, создавая интимную связь со зрителем. Фоном служит размытый...
Strong rule: style --- 3D Pixar ---. Финальный кадр: горизонт, где небо встречается с морем в полной темноте, освещенный лишь тонкой полоской света. Камера зафиксирована. В центре кадра появляется каллиграфическая надпись 'Синяя вечность'. Стиль минималистичный и элегантный. Освещение едва...
Strong rule: style --- 3D Pixar ---. Вид с палубы корабля с алыми парусами, уходящего в закат. Камера направлена вперед, в сторону заходящего солнца, которое касается горизонта. Паруса занимают часть кадра, они пылают красным цветом. Освещение теплое, оранжево-золотое. Атмосфера умиротворения и...
Strong rule: style --- 3D Pixar ---. Возвращение к эпическому виду скал в полдень. Солнце стоит в зените, освещая море до самого дна у берега. Певец стоит на той же скале, но теперь его образ еще более мощный и уверенный. Камера делает круговой облет (bullet time эффект). Освещение максимально...
Construir ina dumonda
Ils controls vegnan generads dal schema dal model. Il code e il pretsch s'actualiseschan durant che ti als midas.
/run/gemini-3.1-flash-image-preview?wait=20
calculaziun → $0,08
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/gemini-3.1-flash-image-preview?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/gemini-3.1-flash-image-preview?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/gemini-3.1-flash-image-preview", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "gemini-3.1-flash-image-preview",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"wait_seconds": 20
}
}
}
Executar questa dumonda
Tia clav resta en quest browser: ella vegn tramessa mo al Doitong API e memorisada (localStorage) mo sch'ella scheccas Tiar a memoria. Obtegnair ina clav API
Davart Gemini 3.1 Flash Image Preview
Generescha maletgs dad in `prompt`, cun `resolution` da 0.5K, 1K, 2K u 4K e relaziuns d'aspect inclus extremas sco 8:1 e 1:8. `system_prompt`, `enable_web_search` e `thinking_level` opziunals (minimal u high) furman la generaziun. Producescha 1 fin a 4 maletgs en PNG, JPEG u WebP.
Parameters
Invia u il num canonic u il num nativ, betg omaduas. Nums canonics
promptobligatori
num_imagesopziunal
num_outputs
seedopziunal
aspect_ratioopziunal
output_formatopziunal
safety_toleranceopziunal
system_promptopziunal
resolutionopziunal
limit_generationsopziunal
enable_web_searchopziunal
thinking_levelopziunal
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "gemini-3.1-flash-image-preview",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 80,
"usd": "0.08",
"charged": 80,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"output": {
"images": [
{
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200,
"width": 1024,
"height": 768
}
],
"description": "string"
},
"outputs": [
{
"type": "image",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_size": 1843200,
"width": 1024,
"height": 768,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Champs da l'output
- images
- array of object {url, content_type, file_name, file_size, width, height}Maletgs producids dal model.
- description
- stringDescripziun che accumpogna ils maletgs generads.
Autras variantes Gemini 3.1 Flash Image Preview
Dapli models: Text a maletg
Per agents AI: questa pagina sco Markdown è disponibla sut https://doitong.com/rm/developers/models/gemini-3.1-flash-image-preview.md. Tut ils models e las guidas: https://doitong.com/developers/llms.txt







