Media generation
Generate images and videos through HopsAPI asynchronous media tasks.
HopsAPI media models use an asynchronous workflow: create a task, save the returned tsk_* task ID, then poll until the task reaches a terminal status. You can instead pass callback_url at creation and receive one signed webhook. Polling remains available if the webhook does not arrive. See Media task callbacks.
Available models
| Category | Models | Guide |
|---|---|---|
| Video | Grok Imagine Video | Grok Imagine Video |
| Video | MiniMax H3 | MiniMax H3 |
| Video | Seedance 2.0 | Seedance 2.0 |
| Video | Seedance 2.0 Fast | Seedance 2.0 Fast |
| Video | Seedance 2.0 Mini | Seedance 2.0 Mini |
| Image | Gemini image | Gemini image |
| Image | Nano Banana Pro | Nano Banana Pro |
| Image | Nano Banana 2 | Nano Banana 2 |
| Image | Seedream 5.0 Pro | Seedream 5.0 Pro |
| Image | GPT Image 2 | GPT Image 2 |
| Image | GPT Image 2.5 | GPT Image 2.5 |
Common workflow
- Prepare public HTTPS input URLs when a model requires reference media. Local files and Data URLs must be uploaded through file uploads first.
- Send the model-specific request to
POST /v1/router/task/create. - Poll
GET /v1/router/tasks/{task_id}every 3–5 seconds, or passcallback_urlwhen creating the task and wait for the callback. To stop a queued or processing task, callPOST /v1/router/task/stop. - Read
results[].urlsafter the task reaches status2and download the result promptly because media URLs expire.
| Status | Meaning |
|---|---|
0 | Queued |
1 | Processing |
2 | Completed |
3 | Failed; no charge is settled |
4 | Cancelled; no charge is settled |
Each model page documents its supported task type, input fields, resolution limits, pricing, and request examples. Use the model ID and mode shown on that page rather than inferring support from another model.