
Ni zadetkov. Poskusite z »video«, »FLUX« ali »webhooks«.
Nalaganje modelov …
flux/dev
# 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/dev?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A lighthouse keeper'\''s cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
}'
# 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/dev?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
}),
});
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": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux/dev", 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/sl/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/dev",
"input": {
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
}
}
Pokličite model FLUX.1 [dev] (flux/dev) prek Doitong API. Dokumentacija za agente: https://doitong.com/sl/developers/models/flux/dev.md
POST https://vit.doitong.com/api/v1/run/flux/dev?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
}
Če je stanje odgovora "queued" ali "running", pošiljajte poizvedbe GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20, dokler ni "succeeded"; datoteke so v outputs[].url. POST https://vit.doitong.com/api/v1/quote/flux/dev z enakim telesom vrne natančno ceno pred zagonom.
Ta zahteva: 0,025 $ 25 API kreditov Zaženi na tej strani
Vaš novi ključ API. Prikazan je samo zdaj in je že v kodi ter v spodnjem polju ključa API. Hranite ga kot skrivnost: nikoli ga ne vključite v kodo, ki se izvaja v brskalniku.
Kontrolniki se ustvarijo iz sheme modela. Koda in cena se posodobita, ko ju spreminjate.
/run/flux/dev?wait=20
cena → 0,025 $
# 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/dev?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A lighthouse keeper'\''s cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
}'
# 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/dev?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
}),
});
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": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux/dev", 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/dev",
"input": {
"prompt": "A lighthouse keeper's cottage on a windswept cliff at blue hour, warm light glowing from small square windows, waves breaking far below, long-exposure sea mist, moody cinematic landscape photograph, 35mm, rich detail.",
"num_outputs": 1
},
"wait_seconds": 20
}
}
}
Vaš ključ ostane v tem brskalniku: pošlje se samo v Doitong API in shrani v localStorage samo, če označite možnost Zapomni si. Pridobi ključ API
12-milijardni model FLUX, destiliran z usmerjanjem, s celotnim razporedom vzorčenja (privzeto 28 korakov, prilagodljivo od 1 do 50) in nastavljivo lestvico usmerjanja. Sledi podrobnim pozivom ter upodablja dlani, obraze in kratko besedilo opazno bolje kot različica schnell, vendar je dražji. Prednastavljene ali poljubne velikosti, do štiri slike na zahtevo ter izhod JPEG ali PNG.
Pošlji kanonično ali izvorno ime, ne obeh. Kanonična imena
promptobvezno
image_sizeneobvezno
num_inference_stepsneobvezno
seedneobvezno
guidance_scaleneobvezno
num_imagesneobvezno
num_outputs
output_formatneobvezno
accelerationneobvezno
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "flux/dev",
"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": 25,
"usd": "0.025",
"charged": 25,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field, telephoto lens",
"image_size": "landscape_4_3",
"num_outputs": 1
},
"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://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Za agente AI: ta stran je v obliki Markdown na voljo na https://doitong.com/sl/developers/models/flux/dev.md. Vsi modeli in vodniki: https://doitong.com/developers/llms.txt