FLUX.1 Kontext [pro]
Integrieren
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/de/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"
}
}
Rufe das Modell FLUX.1 Kontext [pro] (flux-pro/kontext) über die Doitong API auf. Dokumentation für Agenten: https://doitong.com/de/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"
}
Wenn der Antwortstatus "queued" oder "running" lautet, frage GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 ab, bis er "succeeded" lautet; die Dateien befinden sich in outputs[].url. POST https://vit.doitong.com/api/v1/quote/flux-pro/kontext mit demselben Body gibt den exakten Preis vor der Ausführung zurück.
Diese Anfrage: 0,04 $ 40 API-Credits Auf dieser Seite ausführen
Dein neuer API-Schlüssel. Sie wird nur jetzt angezeigt und befindet sich bereits im Code und im untenstehenden API-Schlüssel-Feld. Halten Sie sie geheim: Fügen Sie sie niemals in Code ein, der in einem Browser ausgeführt wird.
Beispiele
PromptRestore and colorize this image. Remove any scratches or imperfections.
Anfrage erstellen
Die Steuerelemente werden aus dem Modellschema generiert. Code und Preis werden aktualisiert, während du sie änderst.
/run/flux-pro/kontext?wait=20
Preis → 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
}
}
}
Diese Anfrage ausführen
Dein Schlüssel bleibt in diesem Browser: Er wird nur an die Doitong API gesendet und nur gespeichert (localStorage), wenn du „Merken“ aktivierst. API-Schlüssel abrufen
Über FLUX.1 Kontext [pro]
FLUX.1 Kontext bearbeitet ein einzelnes Eingabebild anhand einer kurzen Anweisung und lässt den restlichen Bildinhalt unverändert. Dadurch eignet es sich zuverlässig für iterative Retusche, Produktvarianten und das Ersetzen von Text auf Schildern. Optional lassen sich ein neues Seitenverhältnis erzwingen, der Prompt verbessern oder ein Seed festlegen. Bis zu vier Ergebnisse pro Anfrage.
Parameter
Sende entweder den kanonischen Namen oder den nativen Namen, nicht beide. Kanonische Namen
prompterforderlich
seedoptional
guidance_scaleoptional
num_imagesoptional
num_outputs
output_formatoptional
safety_toleranceoptional
enhance_promptoptional
aspect_ratiooptional
image_urlerforderlich
image
Dateiparameter akzeptieren eine öffentliche https://-URL, eine data:-URI bis 10 MB oder die file_url eines Uploads. Dateien
Ausgabe
{
"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"
}
}
Ausgabefelder
- images
- array of object {url, content_type, file_name, file_size, width, height}Dateiinformationen für die generierten Bilder.
- timings
- object
- seed
- integerSeed der Bildgenerierung einschließlich des zufällig gewählten Werts, falls die Eingabe keinen Seed enthielt; andernfalls wird der angegebene Wert wiederholt.
- has_nsfw_concepts
- array of booleanGibt an, ob NSFW-Konzepte in den generierten Bildern vorkommen.
- prompt
- stringWährend der Bildgenerierung verwendeter Prompt.
Weitere FLUX.1 Kontext-Varianten
Weitere Modelle: Bildbearbeitung
Für KI-Agenten: Diese Seite ist als Markdown verfügbar unter https://doitong.com/de/developers/models/flux-pro/kontext.md. Alle Modelle und Anleitungen: https://doitong.com/developers/llms.txt






