Skip to main content
FLUX 3 Action is available under its non-commercial license. The public checkpoint is trained for DROID data, but Servo deploys the policy to the robot you name with --robot; DROID is not a deployment requirement.

Checkpoint format for fine-tunes

Publish a complete FLUX 3 Action policy package in a Hugging Face repository. The reference package has root config.json, config.native.json, manifest.json, and model.safetensors; include the weight files selected by the manifest. The root config uses the LeRobot-style type: "flux3". Keep the checkpoint’s camera names and order, state and action widths, image layout, chunk size, control rate, normalization, and sampler recipe consistent with the fine-tuned weights. The importer reads this recipe from config.json; it does not infer or repair missing values. The checkpoint recipe includes camera_keys, camera_layout, canvas_hw, chunk_size, fps, action_scale, gripper_flip_dims, sampler, num_inference_steps, guidance values, sampler_shift, dtype, and the declared video VAE and text encoder IDs. Keep referenced encoder assets available at those IDs. The policy package’s config.json and policy_preprocessor.json must agree on the camera inputs. For the public checkpoint, the source revision is pinned below; for a fine-tune, inspect and deploy the exact Hugging Face commit you published.

Inspect the input contract

Inspection reads metadata and small config files, not model weights. The public checkpoint declares three RGB image arrays and an eight-value state array. Its image keys are observation.images.wrist_image_left, observation.images.exterior_image_1_left, and observation.images.exterior_image_2_left; inspection shows their shapes and the state key. A fine-tuned package can declare different inputs, so inspect that revision before connecting the robot’s cameras:
inspect_checkpoint.py

Deploy

Deploy the pinned public checkpoint to any enrolled robot supported by the policy contract:
your computer

Import and deploy a fine-tune

Import the fine-tune at the same pinned revision you inspected, then deploy the returned model ID:
your computer
The public checkpoint can be deployed directly from its hf:// path as shown above. For a fine-tuned package, keep its policy inputs, recipe, and referenced encoder assets together at the revision you import.

Send observations and receive actions

Use the contract’s exact keys and tensor shapes when constructing Session.predict(inputs=...). The quickstart prints the deployed policy’s resolved keys, shapes, and dtypes before its prediction example.