Flux 3 Action
Integrer
flux-3-action/so101
# 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-3-action/so101?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",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02
]
}'
# 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-3-action/so101?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",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02
]
}),
});
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",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02,
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-3-action/so101", 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://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "flux-3-action/so101",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02
]
}
}
Kald Flux 3 Action-modellen (flux-3-action/so101) via Doitong API. Dokumentation til agenter: https://doitong.com/da/developers/models/flux-3-action/so101.md
POST https://api.doitong.com/v1/run/flux-3-action/so101?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",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02
]
}
Hvis svarstatus er "queued" eller "running", skal du forespørge GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 igen, indtil den er "succeeded"; filerne findes i outputs[].url. POST https://api.doitong.com/v1/quote/flux-3-action/so101 med samme body returnerer den nøjagtige pris før kørslen.
Denne anmodning: ≈0,003 $ 3 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.
Lavet på Doitong
Offentlige værker skabt med Flux 3 Action af Doitong-fællesskabet. Genbrug en prompt med ét klik.
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Prompt Details Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi wajahnya. Ia memeluk...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tubuh ramping dan proporsional, rambut hitam pendek agak acak, mengenakan jaket kulit hitam, celana riding fit, dan sepatu motor. Ia sedang melakukan aksi freestyle ekstrem dengan motor sport 500cc...
Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tubuh ramping dan proporsional, rambut hitam pendek agak acak, mengenakan jaket kulit hitam dan celana riding fit. Ia sedang bersiap melakukan freestyle menggunakan motor sport 500cc berwarna merah,...
Opret en anmodning
Kontrollerne genereres fra modellens skema. Koden og prisen opdateres, når du ændrer dem.
/run/flux-3-action/so101?wait=20
pris → 0,003 $
# 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-3-action/so101?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",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02
]
}'
# 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-3-action/so101?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",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02
]
}),
});
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",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02,
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-3-action/so101", 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-3-action/so101",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02
]
},
"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 3 Action
I stedet for medier returnerer denne JSON med forudsagte `actions`, deres kontrolfrekvens, kolonneetiketter og hvor mange indledende trin der skal udføres (`execute_steps`), før der anmodes om en ny blok. Påkrævede input er en tekstbaseret `prompt` (op til 2000 tegn), `scene_image_url`, `wrist_image_url` og en `state` med 6 værdier. Valgfri historikinput (`state_history`, `command_history`, historikbilleder) giver tidsmæssig kontekst. `num_inference_steps` går fra 1 til 8, og `guidance_scale` fra 1 til 10.
Parametre
promptpåkrævet
scene_image_urlpåkrævet
wrist_image_urlpåkrævet
statepåkrævet
state_historyvalgfri
command_historyvalgfri
history_scene_image_urlvalgfri
history_wrist_image_urlvalgfri
num_inference_stepsvalgfri
guidance_scalevalgfri
seedvalgfri
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-3-action/so101",
"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": 3,
"usd": "0.003",
"charged": 3,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"scene_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"wrist_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"state": [
-18.94,
134.52,
120.15,
28.3,
-32.17,
27.02
]
},
"output": {
"actions": [
[
1.0
]
],
"action_labels": [
"string"
],
"action_hz": 1.0,
"execute_steps": 1,
"seed": 42,
"timings": {}
},
"outputs": [
{
"type": "file",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_size": 1843200,
"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"
}
}
Outputfelter
- actions
- array of array of numberForudsagt handlingsarray med kronologiske rækker, der repræsenterer kontroltrin; værdierne er ikke begrænset, så led-, hastigheds- og arbejdsområdelimit skal håndhæves på robotten. Ved 30 Hz leverer SO-101 42x6 absolutte kommandoer i grader og griberprocent; ved 15 Hz leverer DROID 32x8 absolutte ledmål i radianer plus griberens lukkede andel.
- action_labels
- array of stringNavne, der svarer til handlingskolonnerne.
- action_hz
- numberKontrolfrekvens for handlingsrækkerne.
- execute_steps
- integerAntal indledende handlinger, der skal udføres, før der anmodes om endnu en blok.
- seed
- integerTilfældig seed anvendt under sampling.
- timings
- objectTidsmålinger fra serveren angivet i sekund.
Flere modeller: Video til video
Til AI-agenter: Denne side som Markdown findes på https://doitong.com/da/developers/models/flux-3-action/so101.md. Alle modeller og vejledninger: https://doitong.com/developers/llms.txt