Skip to main content
An asset is a file you upload once and then pass into any generation by its asset_... ID. Completed runs return an asset_id on every file output, so chaining one generation into the next never requires downloading the result first.

Upload

POST /v1/assets takes multipart/form-data with file and modality. Uploads cap at 100 MB and accept image, audio, video, JSON, and binary model artifacts. schema_uri and duration_ms are optional form fields.
Success returns 201 and the ID.
A run accepts the ID once status reads ready. The ID goes in whichever field the model uses for that input. In the example below, MiniMax H3 calls that field first_frame.
Field names vary by model. GET /v1/models/{model_id} lists them. Uploads fail for three reasons. An empty file returns error.code: "asset.empty". A file over the size cap returns error.code: "asset.too_large". A media type Protoface does not handle returns error.code: "asset.media_type_unsupported".

Manage assets

Assets paginate like runs, with limit and starting_after. Retrieve one to inspect it, pull raw bytes from /content, or delete it. Deletion makes the asset unavailable to future runs and leaves historical records intact.