FLUX.1 Kontext [pro]
Integrer
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/da/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"
}
}
Kald FLUX.1 Kontext [pro]-modellen (flux-pro/kontext) via Doitong API. Dokumentation til agenter: https://doitong.com/da/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"
}
Hvis svarstatus er "queued" eller "running", skal du forespørge GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 igen, indtil den er "succeeded"; filerne findes i outputs[].url. POST https://vit.doitong.com/api/v1/quote/flux-pro/kontext med samme body returnerer den nøjagtige pris før kørslen.
Denne anmodning: 0,04 $ 40 API-kreditter Kør den på denne side
Din nye API-nøgle. Den vises kun nu og findes allerede i koden og i feltet til API-nøglen nedenfor. Hold den hemmelig: Anbring den aldrig i kode, der kører i en browser.
Eksempler
PromptRestore and colorize this image. Remove any scratches or imperfections.
Opret en anmodning
Kontrollerne genereres fra modellens skema. Koden og prisen opdateres, når du ændrer dem.
/run/flux-pro/kontext?wait=20
pris → 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
}
}
}
Kør denne anmodning
Din nøgle forbliver i denne browser: Den sendes kun til Doitong API og gemmes kun i localStorage, hvis du markerer Husk. Hent en API-nøgle
Om FLUX.1 Kontext [pro]
FLUX.1 Kontext redigerer ét inputbillede ud fra en kort instruktion, mens resten af billedet forbliver uændret, hvilket gør den pålidelig til iterativ retouchering, produktvariationer og udskiftning af tekst på skilte. Du kan valgfrit gennemtvinge et nyt formatforhold, forbedre prompten eller fastlåse et seed. Op til fire resultater pr. anmodning.
Parametre
Send enten det kanoniske navn eller det oprindelige navn, ikke begge. Kanoniske navne
promptpåkrævet
seedvalgfri
guidance_scalevalgfri
num_imagesvalgfri
num_outputs
output_formatvalgfri
safety_tolerancevalgfri
enhance_promptvalgfri
aspect_ratiovalgfri
image_urlpåkrævet
image
Filparametre accepterer en offentlig https://-URL, en data:-URI på op til 10 MB eller file_url fra en upload. Filer
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"
}
}
Outputfelter
- images
- array of object {url, content_type, file_name, file_size, width, height}Filoplysninger for de genererede billeder.
- timings
- object
- seed
- integerSeed til billedgenerering, inklusive den tilfældigt valgte værdi, hvis inputtet ikke angav en seed; ellers gentages den angivne værdi.
- has_nsfw_concepts
- array of booleanAngiver, om NSFW-koncepter forekommer i de genererede billeder.
- prompt
- stringPrompt brugt under billedgenerering.
Andre FLUX.1 Kontext-varianter
Flere modeller: Billedredigering
Til AI-agenter: Denne side som Markdown findes på https://doitong.com/da/developers/models/flux-pro/kontext.md. Alle modeller og vejledninger: https://doitong.com/developers/llms.txt






