
کوئی مماثلت نہیں۔ “video”، “FLUX” یا “webhooks” آزمائیں۔
ماڈلز لوڈ ہو رہے ہیں…
flux/dev
# 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/dev?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A lighthouse keeper'\''s cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"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/dev?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"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": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"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/dev", 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/ur/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/dev",
"input": {
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
}
}
Doitong API کے ذریعے FLUX.1 [dev] ماڈل (flux/dev) کو کال کریں۔ ایجنٹس کے لیے دستاویزات: https://doitong.com/ur/developers/models/flux/dev.md
POST https://vit.doitong.com/api/v1/run/flux/dev?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
}
اگر جواب کی اسٹیٹس "queued" یا "running" ہو تو GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 کو اس وقت تک پول کریں جب تک یہ "succeeded" نہ ہو جائے؛ فائلیں outputs[].url میں ہیں۔ رن سے پہلے درست قیمت حاصل کرنے کے لیے اسی باڈی کے ساتھ POST https://vit.doitong.com/api/v1/quote/flux/dev کریں۔
یہ درخواست: $0.025 25 API کریڈٹس اس صفحے پر چلائیں
آپ کی نئی API کلید۔ یہ صرف ابھی دکھائی جاتی ہے اور پہلے ہی نیچے موجود کوڈ اور API کلید کے فیلڈ میں شامل ہے۔ اسے خفیہ رکھیں: اسے کبھی بھی ایسے کوڈ میں شامل نہ کریں جو براؤزر میں چلتا ہو۔
کنٹرولز ماڈل اسکیما سے تیار ہوتے ہیں۔ آپ کے بدلنے کے ساتھ کوڈ اور قیمت اپ ڈیٹ ہوتے ہیں۔
/run/flux/dev?wait=20
قیمت → $0.025
# 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/dev?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A lighthouse keeper'\''s cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"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/dev?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"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": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"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/dev", 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/dev",
"input": {
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
},
"wait_seconds": 20
}
}
}
آپ کی key اسی براؤزر میں رہتی ہے: یہ صرف Doitong API کو بھیجی جاتی ہے اور صرف اس صورت میں localStorage میں محفوظ ہوتی ہے جب آپ Remember منتخب کریں۔ API کلید حاصل کریں
رہنمائی سے ڈسٹلڈ 12 بلین پیرامیٹر والا FLUX ماڈل، مکمل سیمپلنگ شیڈول کے ساتھ (ڈیفالٹ طور پر 28 مراحل، 1 سے 50 تک قابلِ ایڈجسٹ) اور قابلِ ترتیب رہنمائی اسکیل۔ یہ تفصیلی پرامپٹس کی پیروی کرتا ہے اور schnell ویرینٹ کے مقابلے میں ہاتھوں، چہروں اور مختصر متن کو نمایاں طور پر بہتر رینڈر کرتا ہے، مگر قیمت زیادہ ہے۔ پری سیٹ یا کسٹم سائز، فی درخواست زیادہ سے زیادہ چار تصاویر، JPEG یا PNG آؤٹ پٹ۔
معیاری نام یا مقامی نام میں سے صرف ایک بھیجیں، دونوں نہیں۔ معیاری نام
promptلازمی
image_sizeاختیاری
num_inference_stepsاختیاری
seedاختیاری
guidance_scaleاختیاری
num_imagesاختیاری
num_outputs
output_formatاختیاری
accelerationاختیاری
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "flux/dev",
"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": 25,
"usd": "0.025",
"charged": 25,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field, telephoto lens",
"image_size": "landscape_4_3",
"num_outputs": 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"
}
}
AI ایجنٹس کے لیے: یہ صفحہ Markdown میں یہاں موجود ہے https://doitong.com/ur/developers/models/flux/dev.md. تمام ماڈلز اور گائیڈز: https://doitong.com/developers/llms.txt