From request to result.
Image and video generation always uses asynchronous tasks. A successful creation response means your task was accepted; check its state until a terminal result is available.
Create an image task
curl https://<your-akvon-domain>/v1/images/generations \
-H "Authorization: Bearer $AKVON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"<image-model-id>","prompt":"A precise titanium sculpture"}'{
"task_id": "task_…",
"state": "queued",
"poll_url": "/v1/tasks/task_…"
}Track the task
/v1/tasks/{task_id}Poll with the same account credentials. Wait between requests and handle transient errors with bounded retries. Typical active states are queued and running; succeeded and failed are terminal.
Open the result
On success, use the result URLs returned by the task. Check that the media is accessible before considering your generation complete. Results may expire; handle unavailable or expired results explicitly.
Video
Create video tasks with POST /v1/videos/generations. Select a video model and use its published parameters. Demo video tasks return labelled storyboard fixtures, not generated video.