OpenOpen8 supports video generation through several upstream providers, including Kling, Jimeng (即梦), Doubao Video, Vidu, and any Sora-compatible provider that uses the OpenAI Responses format. Video generation is asynchronous: you submit a task and receive a task ID, then poll for status until the video is ready.
Video generation requires at least one video channel configured in the admin dashboard. Contact your OpenOpen8 administrator if video endpoints return a 503 error.
Providers that implement the OpenAI Responses API — including Sora — use the /v1/responses endpoint. You submit a video generation task and receive a response object you can poll until the output is complete.
Submit a video task
POST /v1/responses
{
"model": "sora-1.0-turbo",
"input": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "A timelapse of a cherry blossom tree blooming in spring"
}
]
}
]
}
The response contains a status field. When status is completed, the output includes a URL to the generated video.
Example
# Submit the task
curl https://openopen8.ai/v1/responses \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-1.0-turbo",
"input": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "A timelapse of a cherry blossom tree blooming in spring"
}
]
}
]
}'
Supported providers
| Provider | Format | Notes |
|---|
| Sora | OpenAI Responses (/v1/responses) | Async task; poll for completion |
| Kling | Kling native format | Configure a Kling channel in the dashboard |
| Jimeng (即梦) | Jimeng native format | Configure a Jimeng channel in the dashboard |
| Doubao Video | Doubao native format | Configure a Doubao channel in the dashboard |
| Vidu | Vidu native format | Configure a Vidu channel in the dashboard |
Each provider accepts different parameters such as duration, aspect ratio, and style. Refer to the upstream provider’s documentation for provider-specific options, and pass them through the request body. OpenOpen8 forwards supported fields to the upstream provider.
Task lifecycle
Video generation tasks move through the following states:
| Status | Meaning |
|---|
in_progress | The task has been submitted and is being processed. |
completed | The video is ready. The response includes the output URL. |
failed | The task failed. The response includes an error message. |
cancelled | The task was cancelled before completion. |
Poll the task status by retrieving the response object again. For Sora-compatible providers, use the response id returned from the initial request.