GPT Image 2 API
Integrer
openai/gpt-image-2
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/openai/gpt-image-2?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.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/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/openai/gpt-image-2?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.ru/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/openai/gpt-image-2", 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/da/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "openai/gpt-image-2",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
}
Kald GPT Image 2 API-modellen (openai/gpt-image-2) via Doitong API. Dokumentation til agenter: https://doitong.com/da/developers/models/openai/gpt-image-2.md
POST https://api.doitong.ru/v1/run/openai/gpt-image-2?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"
}
Hvis svarstatus er "queued" eller "running", skal du forespørge GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 igen, indtil den er "succeeded"; filerne findes i outputs[].url. POST https://api.doitong.ru/v1/quote/openai/gpt-image-2 med samme body returnerer den nøjagtige pris før kørslen.
Denne anmodning: ≈0,106 $ 106 API-kreditter · ≈ 11,18 ₽ Kør den på denne side
Din nye API-nøgle. Den vises kun nu og findes allerede i koden og i feltet til API-nøglen nedenfor. Hold den hemmelig: Anbring den aldrig i kode, der kører i en browser.
Lavet på Doitong
Offentlige værker skabt med GPT Image 2 API af Doitong-fællesskabet. Genbrug en prompt med ét klik.
Art style: Кинематографичный, реалистичный стиль. Она отнимает полотенце от лица. В зеркале — ее обычное, симпатичное лицо. Она смотрит с недоверием, затем на ее лице появляется огромное облегчение и легкая, искренняя улыбка. Свет снова становится теплым. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━...
Grungy analog photo of Daphne Blake (from Serial scooby doo) watching her own movie on a 90s CRT TV in a dimly lit bedroom. The TV clearly shows animated scene from scooby doo, with a cartoon-style Daphne in her classic clothes on screen, smiling. Daphne Blake is sitting cross-legged on the floor...
Strong rule: style --- Cinematic Realistic ---. Энергичная девушка 27 лет с широкой лучезарной улыбкой и задорными искорками в темных глазах. Короткая стильная стрижка пикси, волосы выкрашены в модный пепельный блонд. Одета в яркую джинсовую куртку с цветными нашивками и белую футболку. Образ...
Strong rule: style --- Cinematic Realistic ---. Молодая женщина около 30 лет, утонченные черты лица, высокие скулы, пронзительные зеленые глаза. Волосы уложены в безупречное каре каштанового цвета. Одета в дорогой шелковый бежевый блейзер и изящные золотые украшения. Образ излучает уверенность,...
Use facial feature of attached photo. A realistic portrait of a woman with black hair loosely tied back, sitting outside a whitewashed stone house with a conical roof in a quiet Italian village. She wears a soft yellow floral summer dress with puff sleeves and white strappy heels. A wicker basket...
Фотореалистичная рекламная композиция в вертикальном формате 9:16. На переднем плане большая яркая глянцевая фольгированная розово-синяя упаковка чипсов в современном стильном дизайне, с глянцевой поверхностью, бликами и складками, как у реального продукта. В левом углу упаковки средний логотип...
Art style: Кинематографичный, реалистичный стиль. Резкая смена кадра. Девушка с ужасом смотрит на себя в зеркало. Маска снята, но ее лицо гротескно искажено: глаза слишком большие, улыбка растянута неестественно. Освещение стало холодным и резким. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FINAL...
Art style: Кинематографичный, реалистичный стиль. Резкая смена кадра. Девушка с ужасом смотрит на себя в зеркало. Маска снята, но ее лицо гротескно искажено: глаза слишком большие, улыбка растянута неестественно. Освещение стало холодным и резким. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FINAL...
Art style: Realistic Photography. Средний план. Самат сидит за минималистичным рабочим столом, смотрит прямо в камеру. На столе ноутбук и чашка кофе. Эстетика "Expert & Leader". ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FINAL STYLE ENFORCEMENT (this is the authoritative rendering directive — it...
Art style: 90s Cinematic Fashion. Vertical 9:16 cinematic rear three-quarter exterior shot of a period-accurate four-door yellow New York taxi parked parallel and close to a Manhattan curb. The camera is positioned on the sidewalk slightly BEHIND the woman and man, looking diagonally toward the...
Use facial feature of attached photo. A realistic street style portrait of a smiling woman with shoulder-length black hair standing beside a small vintage white three-wheeled vehicle in a narrow old-town street. She wears a flowing pale yellow floral dress with a deep neckline and a front slit,...
Editorial business conference photography, a middle-aged man with short silver hair, warm olive skin, deep brown eyes, thick dark eyebrows, a neatly trimmed salt-and-pepper beard and mustache, strong jawline, calm confident expression, standing directly on the front edge of a massive keynote...
Use facial feature of attached photo. A realistic portrait of a woman with black hair loosely tied back, sitting outside a whitewashed stone house with a conical roof in a quiet Italian village. She wears a soft yellow floral summer dress with puff sleeves and white strappy heels. A wicker basket...
Art style: Кинематографичный, теплый и эмоциональный, в ст.... Солнечный осенний парк, дорожка усыпана желтыми листьями. Молодая мама и маленький мальчик идут рука об руку, улыбаясь друг другу. Свет мягкий и теплый, создавая уютную атмосферу. Стиль: теплая, кинематографичная фотография....
Art style: Кинематографичный, теплый и эмоциональный, в ст.... Мама и Мироша снова идут по дорожке парка. Теперь мама держит его на руках, и он с улыбкой смотрит по сторонам, показывая на что-то пальцем. На его лице больше нет слез. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FINAL STYLE ENFORCEMENT...
Art style: Кинематографичный, теплый и эмоциональный, в ст.... Крупный план: Мироша сидит на земле, его лицо искажено плачем, на глазах блестят слезы. Одна коленка испачкана землей. На заднем плане размытый силуэт подбегающей мамы. Композиция передает внезапность и расстройство....
Opret en anmodning
Kontrollerne genereres fra modellens skema. Koden og prisen opdateres, når du ændrer dem.
/run/openai/gpt-image-2?wait=20
pris → 0,106 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/openai/gpt-image-2?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.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/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/openai/gpt-image-2?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.ru/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/openai/gpt-image-2", 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": "openai/gpt-image-2",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"wait_seconds": 20
}
}
}
Kør denne anmodning
Din nøgle forbliver i denne browser: Den sendes kun til Doitong API og gemmes kun i localStorage, hvis du markerer Husk. Hent en API-nøgle
Om GPT Image 2 API
Genererer billeder fra en prompt på op til 32000 tegn. `image_size` accepterer forudindstillinger, auto eller eksplicit bredde og højde, hvor begge dimensioner skal være multipla af 16 med en maksimal kant på 3840px. Kvaliteten kan være auto, low, medium eller high med op til 4 billeder pr. kald i png, jpeg eller webp.
Parametre
Send enten det kanoniske navn eller det oprindelige navn, ikke begge. Kanoniske navne
promptpåkrævet
image_sizevalgfri
backgroundvalgfri
qualityvalgfri
num_imagesvalgfri
num_outputs
output_formatvalgfri
enable_safety_checkervalgfri
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "openai/gpt-image-2",
"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": 106,
"usd": "0.106",
"charged": 106,
"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
}
]
},
"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.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Outputfelter
- images
- array of object {url, content_type, file_name, file_size, width, height}Billeder produceret af modellen.
Andre GPT Image 2 API-varianter
Flere modeller: Tekst til billede
Til AI-agenter: Denne side som Markdown findes på https://doitong.com/da/developers/models/openai/gpt-image-2.md. Alle modeller og vejledninger: https://doitong.com/developers/llms.txt







