Recraft V4.1 Text to Image
ᠵᡠᠸᡝᠪᡠᠮᠪᡳ
recraft/v4.1/text-to-image
# 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/recraft/v4.1/text-to-image?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Full-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: '\''MAKE IT BREAK / MAKE IT WORK'\'' (large serif, slightly distorted, crossing the upper body), '\''no perfect version exists'\'' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character."
}'
# 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/recraft/v4.1/text-to-image?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Full-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: 'MAKE IT BREAK / MAKE IT WORK' (large serif, slightly distorted, crossing the upper body), 'no perfect version exists' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character."
}),
});
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": "Full-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: 'MAKE IT BREAK / MAKE IT WORK' (large serif, slightly distorted, crossing the upper body), 'no perfect version exists' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/recraft/v4.1/text-to-image", 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.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "recraft/v4.1/text-to-image",
"input": {
"prompt": "Full-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: 'MAKE IT BREAK / MAKE IT WORK' (large serif, slightly distorted, crossing the upper body), 'no perfect version exists' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character."
}
}
Recraft V4.1 Text to Image ᠮᠣᠳᡝᠯ (recraft/v4.1/text-to-image) ᠪᡝ Doitong API ᠵᠠᠯᡳᠨᡩᡝ ᠠᠰᡠᠮᠪᡳ. ᠠᡤᡝᠨᡨᡳ ᡩᠠᡳᠯᠠᠨ: https://doitong.com/mnc/developers/models/recraft/v4.1/text-to-image.md
POST https://api.doitong.ru/v1/run/recraft/v4.1/text-to-image?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "Full-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: 'MAKE IT BREAK / MAKE IT WORK' (large serif, slightly distorted, crossing the upper body), 'no perfect version exists' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character."
}
ᡝᡵᡝᠮᡝ ᠪᡠᠮᡝᠨᡳ ᠠᠨᠠᠮᡝ "queued" ᡳᠨᡠ "running" ᠪᡝ, GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 ᠪᡝ ᠠᠨᠠᠮᡝ "succeeded" ᠪᡝᠴᡳ ᠠᠰᡠᠮᠪᡳ; ᡶᡳᠯᡝ ᠪᡝ outputs[].url ᠪᡝᠴᡳ ᠣᠨᡩᠣᠮᡝ. POST https://api.doitong.ru/v1/quote/recraft/v4.1/text-to-image ᠪᡝ ᡝᠮᡠ ᠪᡠᠶᡝᠮᡝ ᠪᡝ ᠠᠰᡠᠮᠪᡳᡩᡝ ᠵᠠᠯᡤᠠᠨ ᠪᡝ ᠶᠠᠪᡠᠮᠪᡳ ᠰᡳᠨᡳ ᠠᠮᡤᠠ ᠠᠰᡠᠮᠪᡳ ᠣᠯᡥᠣᠮᡝ.
ᡝᠨᡳ ᠵᠠᠯᡳᠨ: $0.035 35 API ᠺᠷᡝᡩᡳᠲ · ≈ ₽3.73 ᡝᡵᡝ ᠵᠠᠯᡳᠨᡩᡝ ᠠᠰᡠᠮᠪᡳ
ᠰᡳᠨᡳ ᠵᠠᠮᡠᠰᡳᠨ API ᠵᡳᡵᡤᠠ. ᡝᠯᡝ ᡝᠨᡩᡝ ᡳᠯᡤᠠᠮᠪᡳ ᡝᡵᡝ ᠮᡠᠨᡩᡝ ᡴᠣᡩᡝ ᡩᠠᠮᡠ ᠮᡝᠨᡩᡝᡵᡝ ᠪᠠᡩᡝᠯᡝᠨ ᠠᠮᡪᡳ ᡳᠨᡠ API ᠵᡳᡵᡤᠠ ᡩᡝᠪᡨᡝᡵᡝ ᡩᡝ ᠠᡴᡠ᠉ ᡳᠨᡠ ᡝᡵᡝᠩᡤᡝ ᠠᠮᠪᠠᠨ ᠮᡠᠨᡩᡝ ᠪᡝ ᠠᠰᡠᡵᠠᠮᠪᡳ: ᠮᡠᡵᡝ ᡩᠠᠮᡠ ᠪᡠᠶᡝᡵᡝ ᠪᠠᡩᡝᠯᡝᠨ ᡩᡝ ᠰᡳᠨᡩᡝᠮᡝ ᠠᠪᡠᠮᡝ ᠰᠠᠮᡪᡳ᠉
ᡝᡵᡝᠮᡝ
ᡥᡡᠯᠠᠨFull-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: 'MAKE IT BREAK / MAKE IT WORK' (large serif, slightly distorted, crossing the upper body), 'no perfect version exists' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character.
ᡤᡳᠰᡠᠨ ᠪᡠᠶᡝᠮᡝ
ᠵᠠᡴᡠᠨᡳ ᠵᡠᠯᡝ ᡩᡝᡵᡤᡳ ᡩᡝᠪᡝᠰᡠᠮᡝ ᠵᡠᠯᡤᡝ ᠪᡠᠶᡝᠮᡝ᠈ ᡳᠨᡳ ᡤᡳᠰᡠᠨ ᠪᠠᡳ ᡝᠨᡝᠩᡤᡳ ᠠᠮᠪᡳ
/run/recraft/v4.1/text-to-image?wait=20
ᠵᠠᠯᡳᠨ → $0.035
# 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/recraft/v4.1/text-to-image?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Full-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: '\''MAKE IT BREAK / MAKE IT WORK'\'' (large serif, slightly distorted, crossing the upper body), '\''no perfect version exists'\'' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character."
}'
# 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/recraft/v4.1/text-to-image?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Full-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: 'MAKE IT BREAK / MAKE IT WORK' (large serif, slightly distorted, crossing the upper body), 'no perfect version exists' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character."
}),
});
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": "Full-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: 'MAKE IT BREAK / MAKE IT WORK' (large serif, slightly distorted, crossing the upper body), 'no perfect version exists' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/recraft/v4.1/text-to-image", 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": "recraft/v4.1/text-to-image",
"input": {
"prompt": "Full-body fashion shot with the character framed in a close-up, cropped from mid-thigh or waist up so the figure dominates the composition, neutral pose, muted outfit, solid grey background (flat, no gradient). Minimal scribbles with one large graphic element (e.g. oversized abstract shape or drawn eye) placed behind and partially overlapping the figure. Bold oversized typography integrated tightly around the subject: 'MAKE IT BREAK / MAKE IT WORK' (large serif, slightly distorted, crossing the upper body), 'no perfect version exists' (small subtle line). Add stickers: minimal icons, checkmarks, soft scribbles, small tape details. Clean but expressive editorial chaos, focus on the character."
},
"wait_seconds": 20
}
}
}
ᡝᠨᡳ ᠵᠠᠯᡳᠨ ᠪᡝ ᠵᠠᠯᠠᠨᠠᠮᡝ
ᡳᠨᡝ ᠵᠠᠯᠠᠨ ᡝᡵᡝ ᠪᡠᡵᡝᠪᡝᡵᡳ ᡩᡝ ᠪᡳᠮᡝ᠈ Doitong API ᡩᡝ ᠵᡝᠯᡤᡳ ᡩᠠᡵᠠᠮᡝ᠈ Remember ᠵᡠᠯᡝᠮᡝ ᡤᡳᠯᠠᠮᡝ localStorage ᡩᡝ ᠰᡠᠯᡝᠮᡝ ᠪᡳᠮᡝ API ᠵᠠᠯᠠᠨ ᠠᠪᠠᠮᡝ
Recraft V4.1 Text to Image ᡠᡵᡝᠮᡝ
Recraft V4.1 ᡧᠠᡵᠠᡶᡠᠯᠠᠮᡝ ᡠᠯᡥᡳᠨᠠᡵᡝ ᡩᡠᠯᡝᠨ ᡩᡝ ᡝᠵᡝᠨ: ᡤᠠᠮᡠᠯᠠᠨ ᡶᡠᠯᡤᠠᠨ, ᡤᠠᠰᡥᠠᠨ ᡳᠮᠠᡤᡝ ᠵᡠᠰᡠᠨ ᠠᡵᠠᡥᠠ ᡩᠠᠮᡠ ᠵᠠᡵᡤᠠᠨ. ᠮᡝᡵᡤᡝᠨ ᡩᡝ ᡩᠠᠮᡠ ᠠᡵᠠᠮᡝ ᡤᠠᠰᡥᠠᠨ ᡤᠣᠯᠣ ᠪᡝ RGB ᡳ ᠵᠠᡵᡤᠠᠨ ᠪᡝ ᡩᠠᠮᡠ ᡤᠠᠰᡥᠠᠨᠠᠮᡝ, ᠠᠮᡠᡵᡤᠠᠨ ᡩᡝ ᡤᠣᠯᠣ ᠪᡝ ᡩᠠᠮᡠ ᡶᡳᠨᠠᠮᡝ ᠵᡠᠯᡤᡝ ᡠᠨᡩᡝᡵᡝ ᠪᠠᡵᠠᠩᡤᠠ ᠵᠠᡵᡤᠠᠨ. ᡳᠯᠠᠨ ᡳᠮᠠᡤᡝ ᡩᡝ ᠠᠮᡠᠯᠠ ᡶᡳᠨᠠᠮᡝ ᡤᠠᠰᡥᠠᠨ ᡠᠯᠠᡥᡳ ᡳᠯᡤᠠᠨᠠᠮᡝ ᡠᠨᡩᡝᡵᡝ.
ᠵᠠᡴᡠᠨ
promptᡴᠠᠷᠠᡴᡡ
image_sizeᠵᡠᠯᡝ
colorsᠵᡠᠯᡝ
colors[].rᠵᡠᠯᡝ
colors[].gᠵᡠᠯᡝ
colors[].bᠵᡠᠯᡝ
background_colorᠵᡠᠯᡝ
background_color.rᠵᡠᠯᡝ
background_color.gᠵᡠᠯᡝ
background_color.bᠵᡠᠯᡝ
ᠪᡠᠶᡝᠮᡝ
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "recraft/v4.1/text-to-image",
"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": 35,
"usd": "0.035",
"charged": 35,
"refunded": 0
},
"input": {
"prompt": "Tilt-shift miniature view of a fishing village harbor at golden hour, colorful boats, toy-like scale",
"image_size": "landscape_16_9"
},
"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
}
]
},
"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"
}
}
ᠪᡠᠶᡝᠮᡝᠨᡳ ᡤᡳᠰᡠᠨ
- images
- array of object {url, content_type, file_name, file_size}
ᡝᠯᡤᡳ Recraft v4 ᡠᠯᡤᡳᠨ
ᡝᠯᡤᡳ ᡩᠠᠯᡳᠨ: ᡥᡡᠯᠠᠨ ᡩᡝ ᡤᠠᠳᠠᠨ
AI ᠠᡤᡝᠨᡨᡳ ᡠᠴᡠᠷᡳ᠈ ᡝᡵᡝ ᡩᡝᠪᡝᡵᡳ Markdown ᠰᡳᠨᡩᠠᡵᡳ https://doitong.com/mnc/developers/models/recraft/v4.1/text-to-image.md. ᡝᡵᡝ ᠮᠣᡩᡝᠯ ᠵᠠᡴᡠᠨ ᠰᡠᠯᡠᠮᡝ https://doitong.com/developers/llms.txt







