API reference · API
Make a still picture as a job
POST/v1/stillsAPI key
Validated, priced at exactly the options sent and held at that worst case with the margin, then submitted to the cheapest provider for those options (fal, Replicate, or the model's maker bought direct); answers the queued job at once. Paid from a balance, never the free allowance. Stopped past 10 minutes. Models: minimax/image-01, black-forest-labs/flux-schnell, google/nano-banana-2.1, google/nano-banana-pro, google/nano-banana-pro-edit, kwaivgi/kling-o1-image, runwayml/gen4-image. A 404 while the media jobs are off.
Request body
application/json, required
| Field | Type | What it is |
|---|---|---|
| modelrequired | string | A model this door serves; /videos, /sounds and /meshes list them, and GET /v1/stills names the stills. At most 200 characters. |
| prompt | string | What to make. Optional only for a 3D model made from image_url. At most 20000 characters. |
| seconds | number or string | The length asked for, a number or a numeric string as OpenAI sends it. |
| size | string | Videos only: WIDTHxHEIGHT, read as a resolution and an aspect ratio. |
| resolution | string | At most 10 characters. |
| aspect_ratio | string | At most 8 characters. |
| audio | boolean | Whether a video model that can make sound does; its own default unless set. |
| image_url | string | An https picture a 3D model starts from. Sent, never kept. |
| reference_images | array of string | Pictures a model keeps a subject from, or a still is made from, as many as the model takes. Sent, never kept. |
| end_image_url | string | The last frame, for a model that starts from a picture and takes one. Sent, never kept. |
| lyrics | string | The words a model that sings is given. At most 3000 characters. |
| negative_prompt | string | At most 2000 characters. |
| seed | integer | From 0 to 2147483647. |
Example
{
"model": "antimatter/auto",
"prompt": "Say hello in five words."
}Answer 200
The job, queued.
Headers: x-antimatter-hold-micros
| Field | Type | What it is |
|---|---|---|
| idrequired | string | video_, sound_, mesh_ or still_ then 24 hex digits. |
| objectrequired | string | One of "video", "sound", "mesh", "still". |
| modelrequired | string | |
| statusrequired | string | One of "queued", "in_progress", "completed", "failed", "cancelled". |
| progress | integer | 0 until completed, then 100. |
| created_atrequired | integer | |
| completed_at | integer or null | |
| expires_at | integer or null | When the file stops being fetchable: 60 minutes after completion. |
| prompt | string or null | |
| seconds | string | |
| size | string | |
| resolution | string | |
| aspect_ratio | string | |
| audio | boolean | |
| reference_count | integer | How many reference pictures it was sent; the pictures are not kept. |
| content_type | string or null | |
| hold_microsrequired | integer | The worst case held while it runs. |
| cost_micros | integer or null | What it was billed, never past the hold. |
| cancel_requested | boolean | |
| error | object or null | generation_failed, deadline_exceeded, provider_unanswered (billed its hold), submit_lost or model_unavailable. |
| error. | string | |
| error. | string |
Errors
- 400OpenAI shaped error.
- 402OpenAI shaped error.
- 403OpenAI shaped error.
- 404OpenAI shaped error.
- 429OpenAI shaped error.
- 502OpenAI shaped error.
Every error answers in one shape, with its type, code and the field it names. The whole list is in the docs' Errors section.