Gemini 3.1 Flash Image Preview
ᠵᡠᠸᡝᠪᡠᠮᠪᡳ
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/mnc/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"
}
}
Gemini 3.1 Flash Image Preview ᠮᠣᠳᡝᠯ (gemini-3.1-flash-image-preview) ᠪᡝ Doitong API ᠵᠠᠯᡳᠨᡩᡝ ᠠᠰᡠᠮᠪᡳ. ᠠᡤᡝᠨᡨᡳ ᡩᠠᡳᠯᠠᠨ: https://doitong.com/mnc/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"
}
ᡝᡵᡝᠮᡝ ᠪᡠᠮᡝᠨᡳ ᠠᠨᠠᠮᡝ "queued" ᡳᠨᡠ "running" ᠪᡝ, GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 ᠪᡝ ᠠᠨᠠᠮᡝ "succeeded" ᠪᡝᠴᡳ ᠠᠰᡠᠮᠪᡳ; ᡶᡳᠯᡝ ᠪᡝ outputs[].url ᠪᡝᠴᡳ ᠣᠨᡩᠣᠮᡝ. POST https://api.doitong.com/v1/quote/gemini-3.1-flash-image-preview ᠪᡝ ᡝᠮᡠ ᠪᡠᠶᡝᠮᡝ ᠪᡝ ᠠᠰᡠᠮᠪᡳᡩᡝ ᠵᠠᠯᡤᠠᠨ ᠪᡝ ᠶᠠᠪᡠᠮᠪᡳ ᠰᡳᠨᡳ ᠠᠮᡤᠠ ᠠᠰᡠᠮᠪᡳ ᠣᠯᡥᠣᠮᡝ.
ᡝᠨᡳ ᠵᠠᠯᡳᠨ: $0.08 80 API ᠺᠷᡝᡩᡳᠲ ᡝᡵᡝ ᠵᠠᠯᡳᠨᡩᡝ ᠠᠰᡠᠮᠪᡳ
ᠰᡳᠨᡳ ᠵᠠᠮᡠᠰᡳᠨ API ᠵᡳᡵᡤᠠ. ᡝᠯᡝ ᡝᠨᡩᡝ ᡳᠯᡤᠠᠮᠪᡳ ᡝᡵᡝ ᠮᡠᠨᡩᡝ ᡴᠣᡩᡝ ᡩᠠᠮᡠ ᠮᡝᠨᡩᡝᡵᡝ ᠪᠠᡩᡝᠯᡝᠨ ᠠᠮᡪᡳ ᡳᠨᡠ API ᠵᡳᡵᡤᠠ ᡩᡝᠪᡨᡝᡵᡝ ᡩᡝ ᠠᡴᡠ᠉ ᡳᠨᡠ ᡝᡵᡝᠩᡤᡝ ᠠᠮᠪᠠᠨ ᠮᡠᠨᡩᡝ ᠪᡝ ᠠᠰᡠᡵᠠᠮᠪᡳ: ᠮᡠᡵᡝ ᡩᠠᠮᡠ ᠪᡠᠶᡝᡵᡝ ᠪᠠᡩᡝᠯᡝᠨ ᡩᡝ ᠰᡳᠨᡩᡝᠮᡝ ᠠᠪᡠᠮᡝ ᠰᠠᠮᡪᡳ᠉
Doitong ᡩᡝ ᠪᡠᠶᡝᠮᡝ
Doitong ᡤᡝᠮᡠᠨᡳ Gemini 3.1 Flash Image Preview ᡩᡝ ᠵᠠᠯᠠᠨ ᠪᡠᠶᡝᠮᡝ᠈ ᡳᠨᡳ ᡤᡳᠰᡠᠨ ᡝᠮᡠ ᡤᡳᠯᠠᠨ ᡩᡝ ᡩᠠᡵᠠᠮᡝ
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 эффект). Освещение максимально...
ᡤᡳᠰᡠᠨ ᠪᡠᠶᡝᠮᡝ
ᠵᠠᡴᡠᠨᡳ ᠵᡠᠯᡝ ᡩᡝᡵᡤᡳ ᡩᡝᠪᡝᠰᡠᠮᡝ ᠵᡠᠯᡤᡝ ᠪᡠᠶᡝᠮᡝ᠈ ᡳᠨᡳ ᡤᡳᠰᡠᠨ ᠪᠠᡳ ᡝᠨᡝᠩᡤᡳ ᠠᠮᠪᡳ
/run/gemini-3.1-flash-image-preview?wait=20
ᠵᠠᠯᡳᠨ → $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
}
}
}
ᡝᠨᡳ ᠵᠠᠯᡳᠨ ᠪᡝ ᠵᠠᠯᠠᠨᠠᠮᡝ
ᡳᠨᡝ ᠵᠠᠯᠠᠨ ᡝᡵᡝ ᠪᡠᡵᡝᠪᡝᡵᡳ ᡩᡝ ᠪᡳᠮᡝ᠈ Doitong API ᡩᡝ ᠵᡝᠯᡤᡳ ᡩᠠᡵᠠᠮᡝ᠈ Remember ᠵᡠᠯᡝᠮᡝ ᡤᡳᠯᠠᠮᡝ localStorage ᡩᡝ ᠰᡠᠯᡝᠮᡝ ᠪᡳᠮᡝ API ᠵᠠᠯᠠᠨ ᠠᠪᠠᠮᡝ
Gemini 3.1 Flash Image Preview ᡠᡵᡝᠮᡝ
`prompt` ᡳ ᠵᡠᠯᡤᡝᠯᡝᠮᡝ ᡳᠮᠠᡤᡝᠨ ᠪᡝ ᠪᡠᠯᡝᠮᠪᡳ᠂ `resolution` 0.5K, 1K, 2K ᠠᠮᠠ 4K ᠪᡳᠮᠪᡳ᠂ 8:1 ᠠᠮᠠ 1:8 ᡤᡝᠮᡠ ᠠᠷᠠᠰᡠᠨ ᠪᡳᠮᠪᡳ᠉ ᠠᠮᠠᠯᡤᠠᠨ `system_prompt`, `enable_web_search` ᠠᠮᠠ `thinking_level` (minimal ᠠᠮᠠ high) ᠪᡝ ᠵᠠᠰᠠᠮᠪᡳ᠉ PNG, JPEG ᠠᠮᠠ WebP ᡩᡝ 1 ᡳᠨᡠ 4 ᡳᠮᠠᡤᡝᠨ ᠪᡝ ᠪᡠᠯᡝᠮᠪᡳ᠉
ᠵᠠᡴᡠᠨ
ᠵᠠᡴᡠᠨᡳ ᡤᡳᠰᡠᠨ ᠵᡝᠯᡤᡳ ᠠᠪᠠᠮᠪᡳ᠈ ᠨᡝᠮᡝ ᠮᡠᠰᡝ ᡠᠯᠠᠮᠪᡳ ᠵᠠᡴᡠᠨᡳ ᡤᡳᠰᡠᠨ
promptᡴᠠᠷᠠᡴᡡ
num_imagesᠵᡠᠯᡝ
num_outputs
seedᠵᡠᠯᡝ
aspect_ratioᠵᡠᠯᡝ
output_formatᠵᡠᠯᡝ
safety_toleranceᠵᡠᠯᡝ
system_promptᠵᡠᠯᡝ
resolutionᠵᡠᠯᡝ
limit_generationsᠵᡠᠯᡝ
enable_web_searchᠵᡠᠯᡝ
thinking_levelᠵᡠᠯᡝ
ᠪᡠᠶᡝᠮᡝ
{
"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"
}
}
ᠪᡠᠶᡝᠮᡝᠨᡳ ᡤᡳᠰᡠᠨ
- images
- array of object {url, content_type, file_name, file_size, width, height}ᠮᠣᡩᡝᠯ ᠪᡠᠶᡝᠮᡝᠨᡳ ᠤᠯᡥᠠᠨ ᠤᠨᠠᠰᡳᠨ᠉
- description
- stringᠪᡠᠶᡝᠮᡝᠩᡤᡝ ᡤᠠᠳᠠᠨ ᡩᡝ ᠵᡠᠯᡝ ᠪᡳᠰᡳᡵᡝᠩᡤᡝ ᡥᡡᠯᠠᠨ。
ᡝᠯᡤᡳ Gemini 3.1 Flash Image Preview ᡠᠯᡤᡳᠨ
ᡝᠯᡤᡳ ᡩᠠᠯᡳᠨ: ᡥᡡᠯᠠᠨ ᡩᡝ ᡤᠠᠳᠠᠨ
AI ᠠᡤᡝᠨᡨᡳ ᡠᠴᡠᠷᡳ᠈ ᡝᡵᡝ ᡩᡝᠪᡝᡵᡳ Markdown ᠰᡳᠨᡩᠠᡵᡳ https://doitong.com/mnc/developers/models/gemini-3.1-flash-image-preview.md. ᡝᡵᡝ ᠮᠣᡩᡝᠯ ᠵᠠᡴᡠᠨ ᠰᡠᠯᡠᠮᡝ https://doitong.com/developers/llms.txt







