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/ja/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."
}
}
Doitong APIを通じてRecraft V4.1 Text to Imageモデル(recraft/v4.1/text-to-image)を呼び出します。エージェント向けドキュメント: https://doitong.com/ja/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"の場合、"succeeded"になるまでGET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20をポーリングしてください。ファイルはoutputs[].urlにあります。同じボディでPOST https://api.doitong.ru/v1/quote/recraft/v4.1/text-to-imageを実行すると、実行前の正確な価格が返されます。
このリクエスト: $0.035 35 APIクレジット · ≈ ₽3.77 このページで実行
新しい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
}
}
}
Recraft V4.1 Text to Imageについて
Recraft V4.1はデザイン用途向けに構築されており、マーケティングビジュアル、イラスト、商品シーンを整った 構図で生成します。指定したRGBカラーのリストを渡してブランドパレットを維持したり、背景色を固定して 一貫したセットを作成したりできます。プリセットまたはカスタムサイズで、1リクエストにつき1枚の画像を生成します。
パラメータ
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/ja/developers/models/recraft/v4.1/text-to-image.md. すべてのモデルとガイド: https://doitong.com/developers/llms.txt







