Recraft V4.1 Text to Image
Tích hợp
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/vi/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."
}
}
Gọi mô hình Recraft V4.1 Text to Image (recraft/v4.1/text-to-image) qua Doitong API. Tài liệu cho tác nhân: https://doitong.com/vi/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."
}
Nếu trạng thái phản hồi là "queued" hoặc "running", hãy thăm dò GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 cho đến khi trạng thái là "succeeded"; tệp nằm trong outputs[].url. POST https://api.doitong.ru/v1/quote/recraft/v4.1/text-to-image với cùng nội dung sẽ trả về giá chính xác trước khi chạy.
Yêu cầu này: 0,035 $ 35 tín dụng API · ≈ 3,77 ₽ Chạy trên trang này
Khóa API mới của bạn. Khóa này chỉ hiển thị lúc này và đã được chèn vào mã cũng như trường khóa API bên dưới. Hãy giữ bí mật: không bao giờ đưa khóa này vào mã chạy trong trình duyệt.
Ví dụ
Lời nhắcFull-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.
Tạo một yêu cầu
Các điều khiển được tạo từ lược đồ mô hình. Mã và giá sẽ cập nhật khi bạn thay đổi chúng.
/run/recraft/v4.1/text-to-image?wait=20
báo giá → 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
}
}
}
Chạy yêu cầu này
Key của bạn vẫn nằm trong trình duyệt này: key chỉ được gửi đến Doitong API và chỉ được lưu trong localStorage nếu bạn chọn Ghi nhớ. Nhận khóa API
Giới thiệu về Recraft V4.1 Text to Image
Recraft V4.1 được xây dựng cho công việc thiết kế: hình ảnh tiếp thị, hình minh họa và cảnh sản phẩm với bố cục rõ ràng. Truyền danh sách màu RGB mong muốn để duy trì bảng màu thương hiệu hoặc cố định màu nền cho các bộ ảnh nhất quán. Mỗi yêu cầu tạo một ảnh với kích thước đặt sẵn hoặc tùy chỉnh.
Tham số
promptbắt buộc
image_sizetùy chọn
colorstùy chọn
colors[].rtùy chọn
colors[].gtùy chọn
colors[].btùy chọn
background_colortùy chọn
background_color.rtùy chọn
background_color.gtùy chọn
background_color.btùy chọn
Đầu ra
{
"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"
}
}
Các trường đầu ra
- images
- array of object {url, content_type, file_name, file_size}
Các biến thể Recraft v4 khác
Thêm mô hình: Văn bản sang hình ảnh
Dành cho tác nhân AI: trang này ở dạng Markdown tại https://doitong.com/vi/developers/models/recraft/v4.1/text-to-image.md. Tất cả mô hình và hướng dẫn: https://doitong.com/developers/llms.txt







