FLUX.1 [dev] with Controlnets and Loras
یکپارچهسازی
flux-general
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/flux-general?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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-general?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-general", 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/fa/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "flux-general",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
}
مدل FLUX.1 [dev] with Controlnets and Loras (flux-general) را از طریق Doitong API فراخوانی کنید. مستندات عاملها: https://doitong.com/fa/developers/models/flux-general.md
POST https://api.doitong.com/v1/run/flux-general?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
اگر وضعیت پاسخ "queued" یا "running" است، GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 را تا زمانی که وضعیت "succeeded" شود بهطور دورهای فراخوانی کنید؛ فایلها در outputs[].url قرار دارند. ارسال POST https://api.doitong.com/v1/quote/flux-general با همان بدنه، قیمت دقیق را پیش از اجرا برمیگرداند.
این درخواست: ≈$۰٫۳۰ ۳۰۰ اعتبار API اجرای آن در این صفحه
کلید API جدید شما. این کلید فقط همین حالا نمایش داده میشود و از قبل در کد و فیلد کلید API زیر قرار گرفته است. آن را محرمانه نگه دارید: هرگز آن را در کدی که در مرورگر اجرا میشود قرار ندهید.
ساختهشده در Doitong
آثار عمومی ساختهشده با FLUX.1 [dev] with Controlnets and Loras توسط جامعه Doitong. یک پرامپت را با یک کلیک دوباره استفاده کنید.
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Prompt Details Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi wajahnya. Ia memeluk...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tubuh ramping dan proporsional, rambut hitam pendek agak acak, mengenakan jaket kulit hitam, celana riding fit, dan sepatu motor. Ia sedang melakukan aksi freestyle ekstrem dengan motor sport 500cc...
Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tubuh ramping dan proporsional, rambut hitam pendek agak acak, mengenakan jaket kulit hitam dan celana riding fit. Ia sedang bersiap melakukan freestyle menggunakan motor sport 500cc berwarna merah,...
ساخت درخواست
کنترلها از شِمای مدل تولید میشوند. با تغییر آنها، کد و قیمت بهروزرسانی میشوند.
/run/flux-general?wait=20
قیمت → $۰٫۳۰
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/flux-general?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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-general?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-general", 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-general",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"wait_seconds": 20
}
}
}
اجرای این درخواست
کلید شما در این مرورگر باقی میماند: فقط به Doitong API ارسال میشود و فقط در صورت فعالکردن گزینه «یادآوری»، در localStorage ذخیره میشود. دریافت کلید API
درباره FLUX.1 [dev] with Controlnets and Loras
از `prompt` تصویر تولید میکند و چند روش شرطیسازی را پشتیبانی میکند: `loras`، `control_loras`، `controlnets`، `controlnet_unions`، `ip_adapters` و `easycontrols`، بهعلاوه `fill_image` برای نواحی ماسکشده. `reference_image_url`، پرامپت منفی و زمانبند euler یا dpmpp_2m نیز پذیرفته میشوند. در هر فراخوانی حداکثر 10 تصویر با فرمت png یا jpeg تولید میشود.
پارامترها
نام استاندارد یا نام بومی را ارسال کنید، نه هر دو. نامهای استاندارد
promptالزامی
image_sizeاختیاری
num_inference_stepsاختیاری
seedاختیاری
lorasاختیاری
loras[].pathالزامی
loras[].scaleاختیاری
control_lorasاختیاری
control_loras[].pathالزامی
control_loras[].scaleاختیاری
control_loras[].control_image_urlالزامی
control_loras[].preprocessاختیاری
controlnetsاختیاری
controlnets[].pathالزامی
controlnets[].config_urlاختیاری
controlnets[].variantاختیاری
controlnets[].control_image_urlالزامی
controlnets[].mask_image_urlاختیاری
controlnets[].mask_thresholdاختیاری
controlnets[].conditioning_scaleاختیاری
controlnets[].start_percentageاختیاری
controlnets[].end_percentageاختیاری
controlnet_unionsاختیاری
controlnet_unions[].pathالزامی
controlnet_unions[].config_urlاختیاری
controlnet_unions[].variantاختیاری
controlnet_unions[].controlsالزامی
controlnet_unions[].controls[].control_image_urlالزامی
controlnet_unions[].controls[].mask_image_urlاختیاری
controlnet_unions[].controls[].control_modeالزامی
controlnet_unions[].controls[].conditioning_scaleاختیاری
controlnet_unions[].controls[].mask_thresholdاختیاری
controlnet_unions[].controls[].start_percentageاختیاری
controlnet_unions[].controls[].end_percentageاختیاری
ip_adaptersاختیاری
ip_adapters[].pathالزامی
ip_adapters[].subfolderاختیاری
ip_adapters[].weight_nameاختیاری
ip_adapters[].image_encoder_pathالزامی
ip_adapters[].image_encoder_subfolderاختیاری
ip_adapters[].image_encoder_weight_nameاختیاری
ip_adapters[].image_urlالزامی
ip_adapters[].mask_image_urlاختیاری
ip_adapters[].mask_thresholdاختیاری
ip_adapters[].scaleالزامی
easycontrolsاختیاری
easycontrols[].control_method_urlالزامی
easycontrols[].scaleاختیاری
easycontrols[].image_urlالزامی
easycontrols[].image_control_typeالزامی
fill_imageاختیاری
fill_image.fill_image_urlاختیاری
guidance_scaleاختیاری
real_cfg_scaleاختیاری
use_real_cfgاختیاری
use_cfg_zeroاختیاری
num_imagesاختیاری
num_outputs
enable_safety_checkerاختیاری
reference_image_urlاختیاری
reference_strengthاختیاری
reference_startاختیاری
reference_endاختیاری
base_shiftاختیاری
max_shiftاختیاری
output_formatاختیاری
use_beta_scheduleاختیاری
sigma_scheduleاختیاری
schedulerاختیاری
negative_promptاختیاری
nag_scaleاختیاری
nag_tauاختیاری
nag_alphaاختیاری
nag_endاختیاری
پارامترهای فایل یک URL عمومی https://، یک URI از نوع data: تا سقف 10 MB، یا file_url یک فایل بارگذاریشده را میپذیرند. فایلها
خروجی
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "flux-general",
"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": 300,
"usd": "0.30",
"charged": 300,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"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://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
فیلدهای خروجی
- images
- array of object {url, width, height, content_type}اطلاعات فایل تصاویر تولیدشده.
- timings
- object
- seed
- integerSeed تولید تصویر، شامل مقدار تصادفی انتخابشده در صورت حذف Seed از ورودی؛ در غیر این صورت، مقدار ارائهشده را تکرار میکند.
- has_nsfw_concepts
- array of booleanمشخص میکند مفاهیم NSFW در تصاویر تولیدشده ظاهر میشوند یا خیر.
- prompt
- stringپرامپت استفادهشده هنگام تولید تصویر.
گونههای دیگر FLUX.1 [dev] with Controlnets and Loras
مدلهای بیشتر: متن به تصویر
برای عاملهای هوش مصنوعی: این صفحه بهصورت Markdown در دسترس است https://doitong.com/fa/developers/models/flux-general.md. همه مدلها و راهنماها: https://doitong.com/developers/llms.txt







