Flow

This page gives you the core model for the Flows API before you dive into endpoint-by-endpoint details.

Mental Model

A Flow is an asynchronous, multi-step workflow that turns your input into a finished 3D asset. You pick a template and provide the input; the Flow handles the processing steps needed to generate or optimize the model.

Core Objects

Template

A template defines the pipeline type. Common examples:

  • model_generate_fromprompt for text to 3D
  • model_generate_fromimage for image to 3D
  • model_optimize for optimizing an existing 3D model

Inputs

Inputs are the data sent to the template, for example:

  • text prompts
  • image data
  • 3D model data

Outputs

Outputs are produced after successful processing. Use asset_id to fetch a specific output asset.

Assets

Assets are downloadable artifacts (for example .glb output files) associated with a flow output.

Polling And Terminal States

After flow creation, poll GET /flows/{flow_id} until the flow reaches one of these terminal states:

  • completed
  • failed
  • aborted

Only fetch output assets when the flow is completed.

For full state-by-state behavior, see Flow Lifecycle.

  1. Create a flow.
  2. Validate response and store flow_id.
  3. Poll status with a fixed interval (for example every 3 to 5 seconds).
  4. Stop polling on terminal state.
  5. If completed, list outputs and download by asset_id.
  6. If failed or aborted, inspect details and retry with corrected input when appropriate.

Where To Go Next

  1. Run a complete end-to-end example in Quickstart.
  2. Learn template selection and payload shapes in Templates.
  3. Review state transitions in Flow Lifecycle.
  4. Diagnose failures in Troubleshooting.