Skip to content

Flux 3 Action

Integrate

Model id 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"

This request: ≈$0.003 3 API credits Run it on this page

Get API key
Black Forest Labs Video to Video #robotic#arm

Robot policy model that predicts SO-101 arm action chunks from camera frames, joint state and an instruction

Made on Doitong

Public works made with Flux 3 Action by the Doitong community. Reuse a prompt in one click.

Public works shown: 9
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lemb...

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 lemb...

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 ...

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, dikel...

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 men...

​"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 men...

​"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 men...

​"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 tub...

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...

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required 88 / 2000

Robot task instructions expressed in natural language.

•required
Drop a file, or

Left-tile image showing the fixed scene camera's current frame after resizing to 256x256.

•required
Drop a file, or

Current wrist-camera frame, placed in the right tile and resized to 256x256.

•required

Measured state values in order: shoulder pan and lift, elbow flex, wrist flex and roll, all in degrees, followed by gripper position as a percentage.

Advanced history_scene_image_url · history_wrist_image_url · num_inference_steps · guidance_scale · seed · state_history · command_history
Drop a file, or

Historical scene-frame input requiring `state_history`; omission uses the current frame instead. The supplied frame represents the earliest history observation, 7 ticks ago.

Drop a file, or

Wrist-camera frame at the earliest history tick; `state_history` is required.

default 4

Number of Euler denoising steps; checkpoint validation used 4 steps.

default 3

Classifier-free guidance strength for both video and action; set to 1.0 to disable CFG.

Sampling seed with reference-evaluation settings of DROID: 0 and SO-101: 42. Leaving it unspecified selects a seed at random.

Measured-state history, omitted for a fresh episode and otherwise requiring `command_history`. Supply measurements in chronological order for the 7 control ticks immediately preceding `state`, at 30 Hz.

Absolute-command history requiring `state_history`, with the most recently sent command in the final row. Rows run chronologically across 8 observation ticks and specify the command in effect at each tick.

POST /run/flux-3-action/so101?wait=20 quote → $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"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Flux 3 Action

Instead of media, this returns JSON with predicted `actions`, their control rate, column labels, and how many leading steps to execute (`execute_steps`) before requesting a new chunk. Required inputs are a text `prompt` (up to 2000 characters), `scene_image_url`, `wrist_image_url`, and a 6-value `state`. Optional history inputs (`state_history`, `command_history`, history images) give temporal context. `num_inference_steps` runs 1 to 8 and `guidance_scale` 1 to 10.

Parameters

NameType DefaultAllowed Description
promptrequired
Typestring
≤ 2,000 characters
Robot task instructions expressed in natural language.
scene_image_urlrequired
Typeurl · image
Left-tile image showing the fixed scene camera's current frame after resizing to 256x256.
wrist_image_urlrequired
Typeurl · image
Current wrist-camera frame, placed in the right tile and resized to 256x256.
staterequired
Typenumber[]
≤ 6 items≥ 6 items
Measured state values in order: shoulder pan and lift, elbow flex, wrist flex and roll, all in degrees, followed by gripper position as a percentage.
state_historyoptional
Typearray[]
≤ 7 items≥ 7 items
Measured-state history, omitted for a fresh episode and otherwise requiring `command_history`. Supply measurements in chronological order for the 7 control ticks immediately preceding `state`, at 30 Hz.
command_historyoptional
Typearray[]
≤ 8 items≥ 8 items
Absolute-command history requiring `state_history`, with the most recently sent command in the final row. Rows run chronologically across 8 observation ticks and specify the command in effect at each tick.
history_scene_image_urloptional
Typeurl · image
Historical scene-frame input requiring `state_history`; omission uses the current frame instead. The supplied frame represents the earliest history observation, 7 ticks ago.
history_wrist_image_urloptional
Typeurl · image
Wrist-camera frame at the earliest history tick; `state_history` is required.
num_inference_stepsoptional
Typeinteger
Default4
1 – 8
Number of Euler denoising steps; checkpoint validation used 4 steps.
guidance_scaleoptional
Typenumber
Default3
1 – 10
Classifier-free guidance strength for both video and action; set to 1.0 to disable CFG.
seedoptional
Typeinteger | null
Sampling seed with reference-evaluation settings of DROID: 0 and SO-101: 42. Leaving it unspecified selects a seed at random.
required

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "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"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
actions
array of array of numberPredicted action array with chronological rows representing control steps; values are unclipped, so joint, velocity, and workspace limits must be enforced on the robot. At 30 Hz, SO-101 provides 42x6 absolute commands in deg and gripper %; at 15 Hz, DROID provides 32x8 absolute joint targets in rad plus the gripper's closed fraction.
action_labels
array of stringNames corresponding to the action columns.
action_hz
numberControl frequency for the action rows.
execute_steps
integerNumber of initial actions to execute before requesting another chunk.
seed
integerRandom seed used during sampling.
timings
objectTiming measurements from the server, expressed in seconds.

For AI agents: this page as Markdown is at https://doitong.com/developers/models/flux-3-action/so101.md. All models and guides: https://doitong.com/developers/llms.txt