FLUX.2 [klein] 9B Base · Edit
التكامل
flux-2/klein/9b/base/edit
# 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-2/klein/9b/base/edit?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",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}'
# 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-2/klein/9b/base/edit?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",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}),
});
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",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-2/klein/9b/base/edit", 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/ar/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-2/klein/9b/base/edit",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}
}
استدعِ نموذج FLUX.2 [klein] 9B Base · Edit (flux-2/klein/9b/base/edit) عبر Doitong API. توثيق الوكلاء: https://doitong.com/ar/developers/models/flux-2/klein/9b/base/edit.md
POST https://api.doitong.com/v1/run/flux-2/klein/9b/base/edit?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",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}
إذا كانت حالة الاستجابة "queued" أو "running"، فأرسل طلبات GET إلى https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 حتى تصبح "succeeded"؛ توجد الملفات في outputs[].url. يعيد POST https://api.doitong.com/v1/quote/flux-2/klein/9b/base/edit مع نفس النص الأساسي السعر الدقيق قبل التشغيل.
ملفات مثل المثال: 0.022 $ 22 رصيد API تُقاس ملفاتك قبل التشغيل تشغيله في هذه الصفحة
مفتاح API الجديد الخاص بك. يظهر الآن فقط، وهو مُدرج بالفعل في الشيفرة وفي حقل مفتاح API أدناه. احتفظ به سريًا: لا تضعه أبدًا في شيفرة تعمل في المتصفح.
ستظهر نتيجتك الأولى هنا
أنشئ طلبًا أدناه وشغّله باستخدام مفتاح API الخاص بك. تُنسخ المخرجات إلى تخزيننا، وتُحفظ إلى الأبد أو لمدة 7 أيام مجانًا.
إنشاء طلب
تُنشأ عناصر التحكم من مخطط النموذج. يتحدّث الرمز والسعر عند تغييرها.
/run/flux-2/klein/9b/base/edit?wait=20
عرض السعر → 0.022 $
# 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-2/klein/9b/base/edit?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",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}'
# 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-2/klein/9b/base/edit?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",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}),
});
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",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-2/klein/9b/base/edit", 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-2/klein/9b/base/edit",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
},
"wait_seconds": 20
}
}
}
تشغيل هذا الطلب
يبقى مفتاحك في هذا المتصفح: لا يُرسل إلا إلى Doitong API ويُحفظ في localStorage فقط إذا فعّلت خيار التذكّر. الحصول على مفتاح API
حول FLUX.2 [klein] 9B Base · Edit
يحرر الصور باستخدام `prompt` وما يصل إلى 4 عناوين URL في `image_urls` مع نموذج 9B الأساسي. تشمل عناصر التحكم `negative_prompt` و`guidance_scale` (من 0 إلى 20)، وخطوات من 4 إلى 50 (الافتراضي 28)، و`acceleration`. دون `image_size`، يطابق الإخراج حجم المدخل. ينتج من 1 إلى 4 صور بصيغ png أو jpeg أو webp.
المعاملات
أرسل الاسم الأساسي أو الاسم الأصلي، وليس كليهما. الأسماء الأساسية
promptمطلوب
negative_promptاختياري
guidance_scaleاختياري
seedاختياري
num_inference_stepsاختياري
image_sizeاختياري
num_imagesاختياري
num_outputs
accelerationاختياري
enable_safety_checkerاختياري
output_formatاختياري
image_urlsمطلوب
images
تقبل معاملات الملفات عنوان URL عامًا يبدأ بـ https://، أو URI من نوع data: يصل حجمه إلى 10 MB، أو file_url لملف تم تحميله. الملفات
المخرجات
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "flux-2/klein/9b/base/edit",
"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": 22,
"usd": "0.022",
"charged": 22,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"image_urls": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
},
"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,
"width": 1024,
"height": 768
}
],
"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, content_type, file_name, file_size, width, height}الصور الناتجة عن التحرير.
- timings
- object
- seed
- integerبذرة توليد الصورة، بما في ذلك القيمة المختارة عشوائيًا إذا لم يتضمن المدخل بذرة؛ وإلا تكرر القيمة المقدمة.
- has_nsfw_concepts
- array of booleanيشير إلى ما إذا كانت مفاهيم NSFW تظهر في الصور المُولّدة.
- prompt
- stringالموجّه المستخدم أثناء توليد الصورة.
أنواع FLUX.2 الأخرى
مزيد من النماذج: تحرير الصور
لوكلاء الذكاء الاصطناعي: تتوفر هذه الصفحة بصيغة Markdown على https://doitong.com/ar/developers/models/flux-2/klein/9b/base/edit.md. جميع النماذج والأدلة: https://doitong.com/developers/llms.txt






