BeatAPI Image API
Image API
Create one asynchronous image generation task with a stable BeatAPI model ID.
Open the matching model page for every field, default, enum, combination rule, request example, response, and error behavior.
List available models
GET /v1/media/models
This public endpoint does not require authentication.
Internal provider routing is not part of the public contract.
Shared create contract
POST /v1/images/tasks
The body must match exactly one model schema. model is the discriminator; unknown fields are rejected.
A valid request returns 201 Created with data.id, task_kind="image", the selected model, status="queued", usage metrics, and request_id. Poll GET /v1/tasks/{task_id} every 5–10 seconds until succeeded or failed; successful image is in data.output.media[] and data.output.r2_url.
An exact idempotent replay returns the accepted task. Reusing a key with a different body returns 409 idempotency_conflict.
Shared errors
Error responses include error.code, error.message, error.request_id, and optional error.retry_after_seconds. The per-model pages below are the production request contracts.

