Query video generation task
curl --request GET \
--url https://api.apipod.ai/api/v3/contents/generations/tasks/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.apipod.ai/api/v3/contents/generations/tasks/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.apipod.ai/api/v3/contents/generations/tasks/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}falseconst options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.apipod.ai/api/v3/contents/generations/tasks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "0f4c9f6e-1111-4c1d-8c2f-2b7b9a1c4d55",
"model": "seedance-2.5",
"status": "succeeded",
"content": {
"video_url": "https://cdn.example.com/generated.mp4"
},
"created_at": 1786358400,
"updated_at": 1786358523,
"usage": {
"completion_tokens": 123,
"total_tokens": 123,
"cost": 0.053
}
}Tasks
Query video task (Ark-compatible)
Poll the status of an asynchronous video generation task created through the Volcano Ark-compatible endpoint.
GET
https://api.apipod.ai
/
api
/
v3
/
contents
/
generations
/
tasks
/
{id}
Query video generation task
curl --request GET \
--url https://api.apipod.ai/api/v3/contents/generations/tasks/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.apipod.ai/api/v3/contents/generations/tasks/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.apipod.ai/api/v3/contents/generations/tasks/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}falseconst options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.apipod.ai/api/v3/contents/generations/tasks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "0f4c9f6e-1111-4c1d-8c2f-2b7b9a1c4d55",
"model": "seedance-2.5",
"status": "succeeded",
"content": {
"video_url": "https://cdn.example.com/generated.mp4"
},
"created_at": 1786358400,
"updated_at": 1786358523,
"usage": {
"completion_tokens": 123,
"total_tokens": 123,
"cost": 0.053
}
}Poll this endpoint with the task
id returned by the create endpoint (documented per model as the Ark-compatible interface, e.g. Seedance 2.5) until the task reaches a terminal state. For production workloads, prefer callback_url on the create request over tight polling loops. Task records are retained for the same window as native APIPod tasks; download or persist the video URL promptly once the task succeeds.
Task statuses
status | Meaning | Recommended action |
|---|---|---|
queued | The task is queued. | Wait and poll again. |
running | The task is executing. | Wait and poll again. |
succeeded | The task finished; the video URL is in content.video_url. | Download and persist the output. |
failed | The task failed; details are in error. | Inspect error.code and error.message. |
cancelled | The task was cancelled. | Stop polling. |
Usage and cost
Whenstatus is succeeded, the response includes a usage object with the final amount charged for the task. cost is the settled amount in USD after any post-completion adjustment and matches the cost shown in the dashboard; it is an APIPod extension to the Ark contract and is always present. Token fields appear only when the upstream provider reports token usage.
A task that is not found, or that belongs to another account, returns 404 without distinguishing the two cases.Authorizations
Use your APIPod API key as a Bearer token in the Authorization header.
Path Parameters
Task ID returned by the create endpoint.
Response
Task status snapshot
Task ID.
Public model family name used for this task.
Task status in Ark semantics.
Available options:
queued, running, succeeded, failed, cancelled Output content. Present only after the task succeeds.
Show child attributes
Show child attributes
Task creation time as a Unix timestamp in seconds.
Last status update time as a Unix timestamp in seconds.
Present only when the task failed.
Show child attributes
Show child attributes
Final usage snapshot. Present only when the task succeeded.
Show child attributes
Show child attributes
Was this page helpful?