FLUX.1 Kontext [pro]
Integrasikan
flux-pro/kontext
# 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-pro/kontext?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Restore and colorize this image. Remove any scratches or imperfections.",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nwh4ychmr6vyovvas0hhcxcx/0-dNCNdO5QkD7jDyRi24Z8s_L3lpa0jm.png"
}'
# 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-pro/kontext?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Restore and colorize this image. Remove any scratches or imperfections.",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nwh4ychmr6vyovvas0hhcxcx/0-dNCNdO5QkD7jDyRi24Z8s_L3lpa0jm.png"
}),
});
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": "Restore and colorize this image. Remove any scratches or imperfections.",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nwh4ychmr6vyovvas0hhcxcx/0-dNCNdO5QkD7jDyRi24Z8s_L3lpa0jm.png",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-pro/kontext", 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/ms/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-pro/kontext",
"input": {
"prompt": "Restore and colorize this image. Remove any scratches or imperfections.",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nwh4ychmr6vyovvas0hhcxcx/0-dNCNdO5QkD7jDyRi24Z8s_L3lpa0jm.png"
}
}
Panggil model FLUX.1 Kontext [pro] (flux-pro/kontext) melalui Doitong API. Dokumentasi untuk ejen: https://doitong.com/ms/developers/models/flux-pro/kontext.md
POST https://vit.doitong.com/api/v1/run/flux-pro/kontext?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "Restore and colorize this image. Remove any scratches or imperfections.",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nwh4ychmr6vyovvas0hhcxcx/0-dNCNdO5QkD7jDyRi24Z8s_L3lpa0jm.png"
}
Jika status respons ialah "queued" atau "running", tinjau GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 sehingga statusnya menjadi "succeeded"; fail berada dalam outputs[].url. POST https://vit.doitong.com/api/v1/quote/flux-pro/kontext dengan badan yang sama mengembalikan harga tepat sebelum dijalankan.
Permintaan ini: $0.04 40 kredit API Jalankan pada halaman ini
Kunci API baharu anda. Ia hanya dipaparkan sekarang dan sudah dimasukkan dalam kod serta medan kunci API di bawah. Simpan secara rahsia: jangan sekali-kali letakkannya dalam kod yang berjalan dalam pelayar.
Contoh
PromptRestore and colorize this image. Remove any scratches or imperfections.
Bina permintaan
Kawalan dijana daripada skema model. Kod dan harga dikemas kini apabila anda mengubahnya.
/run/flux-pro/kontext?wait=20
sebut harga → $0.04
# 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-pro/kontext?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Restore and colorize this image. Remove any scratches or imperfections.",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nwh4ychmr6vyovvas0hhcxcx/0-dNCNdO5QkD7jDyRi24Z8s_L3lpa0jm.png"
}'
# 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-pro/kontext?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Restore and colorize this image. Remove any scratches or imperfections.",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nwh4ychmr6vyovvas0hhcxcx/0-dNCNdO5QkD7jDyRi24Z8s_L3lpa0jm.png"
}),
});
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": "Restore and colorize this image. Remove any scratches or imperfections.",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nwh4ychmr6vyovvas0hhcxcx/0-dNCNdO5QkD7jDyRi24Z8s_L3lpa0jm.png",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-pro/kontext", 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-pro/kontext",
"input": {
"prompt": "Restore and colorize this image. Remove any scratches or imperfections.",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nwh4ychmr6vyovvas0hhcxcx/0-dNCNdO5QkD7jDyRi24Z8s_L3lpa0jm.png"
},
"wait_seconds": 20
}
}
}
Jalankan permintaan ini
Kunci anda kekal dalam pelayar ini: ia hanya dihantar kepada Doitong API dan disimpan (localStorage) hanya jika anda menanda Ingat. Dapatkan kunci API
Tentang FLUX.1 Kontext [pro]
FLUX.1 Kontext menyunting satu imej input daripada arahan ringkas sambil membiarkan bahagian lain gambar\ntidak berubah, menjadikannya sesuai untuk retus berulang, variasi produk dan penggantian teks pada papan tanda.\nNisbah bidang baharu boleh dipaksa, prompt boleh dipertingkatkan atau seed boleh ditetapkan. Sehingga empat hasil setiap permintaan.
Parameter
Hantar sama ada nama kanonik atau nama natif, bukan kedua-duanya. Nama kanonik
promptdiperlukan
seedpilihan
guidance_scalepilihan
num_imagespilihan
num_outputs
output_formatpilihan
safety_tolerancepilihan
enhance_promptpilihan
aspect_ratiopilihan
image_urldiperlukan
image
Parameter fail menerima URL awam https://, URI data: sehingga 10 MB, atau file_url bagi muat naik. Fail
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "flux-pro/kontext",
"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": 40,
"usd": "0.04",
"charged": 40,
"refunded": 0
},
"input": {
"prompt": "Change the sneaker color to bright red, keep everything else the same",
"image": "https://content.doitong.com/images/showcase/v3/gen_sneaker_ad.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://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Medan output
- images
- array of object {url, content_type, file_name, file_size, width, height}Maklumat fail untuk imej yang dijana.
- timings
- object
- seed
- integerSeed penjanaan imej, termasuk nilai yang dipilih secara rawak jika input tidak membekalkan seed; jika tidak, nilai yang dibekalkan diulang.
- has_nsfw_concepts
- array of booleanMenunjukkan sama ada konsep NSFW muncul dalam imej yang dijana.
- prompt
- stringPrompt yang digunakan semasa penjanaan imej.
Varian FLUX.1 Kontext lain
Lebih banyak model: Penyuntingan Imej
Untuk ejen AI: halaman ini dalam Markdown tersedia di https://doitong.com/ms/developers/models/flux-pro/kontext.md. Semua model dan panduan: https://doitong.com/developers/llms.txt






