
Không có kết quả phù hợp. Thử “video”, “FLUX” hoặc “webhooks”.
Đang tải mô hình…
flux/schnell
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/flux/schnell?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Top-down food photograph of a breakfast spread on a linen tablecloth: sourdough toast with avocado, a bowl of berries, a cappuccino with latte art, soft morning window light.",
"num_outputs": 1
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/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/flux/schnell?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Top-down food photograph of a breakfast spread on a linen tablecloth: sourdough toast with avocado, a bowl of berries, a cappuccino with latte art, soft morning window light.",
"num_outputs": 1
}),
});
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://vit.doitong.com/api/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Top-down food photograph of a breakfast spread on a linen tablecloth: sourdough toast with avocado, a bowl of berries, a cappuccino with latte art, soft morning window light.",
"num_outputs": 1,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux/schnell", 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://vit.doitong.com/api/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "flux/schnell",
"input": {
"prompt": "Top-down food photograph of a breakfast spread on a linen tablecloth: sourdough toast with avocado, a bowl of berries, a cappuccino with latte art, soft morning window light.",
"num_outputs": 1
}
}
Gọi mô hình FLUX.1 [schnell] (flux/schnell) qua Doitong API. Tài liệu cho tác nhân: https://doitong.com/vi/developers/models/flux/schnell.md
POST https://vit.doitong.com/api/v1/run/flux/schnell?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "Top-down food photograph of a breakfast spread on a linen tablecloth: sourdough toast with avocado, a bowl of berries, a cappuccino with latte art, soft morning window light.",
"num_outputs": 1
}
Nếu trạng thái phản hồi là "queued" hoặc "running", hãy thăm dò GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 cho đến khi trạng thái là "succeeded"; tệp nằm trong outputs[].url. POST https://vit.doitong.com/api/v1/quote/flux/schnell 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,003 $ 3 tín dụng API 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.
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/flux/schnell?wait=20
báo giá → 0,003 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/flux/schnell?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Top-down food photograph of a breakfast spread on a linen tablecloth: sourdough toast with avocado, a bowl of berries, a cappuccino with latte art, soft morning window light.",
"num_outputs": 1
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/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/flux/schnell?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Top-down food photograph of a breakfast spread on a linen tablecloth: sourdough toast with avocado, a bowl of berries, a cappuccino with latte art, soft morning window light.",
"num_outputs": 1
}),
});
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://vit.doitong.com/api/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Top-down food photograph of a breakfast spread on a linen tablecloth: sourdough toast with avocado, a bowl of berries, a cappuccino with latte art, soft morning window light.",
"num_outputs": 1,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux/schnell", 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": "flux/schnell",
"input": {
"prompt": "Top-down food photograph of a breakfast spread on a linen tablecloth: sourdough toast with avocado, a bowl of berries, a cappuccino with latte art, soft morning window light.",
"num_outputs": 1
},
"wait_seconds": 20
}
}
}
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
Mô hình FLUX 12 tỷ tham số đã chưng cất, chỉ cần 1 đến 4 bước khử nhiễu nên là cách nhanh nhất để chuyển lời nhắc thành hình ảnh. Dùng cho bản nháp, hình thu nhỏ, bản xem trước và pipeline khối lượng lớn; chuyển sang mô hình FLUX lớn hơn khi cần chi tiết nhỏ hoặc chữ chính xác. Hỗ trợ mọi kích thước đến 14 megapixel, tối đa bốn hình ảnh mỗi yêu cầu.
Gửi tên chuẩn hoặc tên gốc, không gửi cả hai. Tên chuẩn
num_inference_stepstùy chọn
promptbắt buộc
image_sizetùy chọn
seedtùy chọn
guidance_scaletùy chọn
num_imagestùy chọn
num_outputs
enable_safety_checkertùy chọn
output_formattùy chọn
accelerationtùy chọn
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "flux/schnell",
"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": 3,
"usd": "0.003",
"charged": 3,
"refunded": 0
},
"input": {
"prompt": "A lighthouse on a rocky coast at dusk, waves crashing, warm light in the window, cinematic wide shot",
"image_size": "landscape_16_9",
"num_images": 1
},
"output": {
"images": [
{
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"width": 1024,
"height": 768,
"content_type": "image/jpeg"
}
],
"timings": {},
"seed": 42,
"has_nsfw_concepts": [
false
],
"prompt": "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://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Dành cho tác nhân AI: trang này ở dạng Markdown tại https://doitong.com/vi/developers/models/flux/schnell.md. Tất cả mô hình và hướng dẫn: https://doitong.com/developers/llms.txt