> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anyone.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Video generation via Anyone: Sora, Kling, and more

> Generate videos through Anyone using Sora-compatible, Kling, Jimeng, Doubao, or Vidu channels. Video tasks are async — submit and poll for completion.

Anyone 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.

<Note>
  Video generation requires at least one video channel configured in the admin dashboard. Contact your Anyone administrator if video endpoints return a `503` error.
</Note>

***

## Sora-compatible format

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**

```json theme={null}
{
  "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

<CodeGroup>
  ```bash curl theme={null}
  # Submit the task
  curl https://api.anyone.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"
            }
          ]
        }
      ]
    }'
  ```

  ```python python theme={null}
  from openai import OpenAI
  import time

  client = OpenAI(
      api_key="YOUR_TOKEN",
      base_url="https://api.anyone.ai/v1",
  )

  response = client.responses.create(
      model="sora-1.0-turbo",
      input=[
          {
              "role": "user",
              "content": [
                  {
                      "type": "text",
                      "text": "A timelapse of a cherry blossom tree blooming in spring",
                  }
              ],
          }
      ],
  )

  print(response.status)
  print(response.output)
  ```
</CodeGroup>

***

## 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. Anyone 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.
