---
title: "Create video task"
method: POST
path: "/videos"
---

# Create video task

`POST /videos`

Create an asynchronous text-to-video or image-to-video task. Use JSON when there are no reference images and multipart/form-data when reference images are present.

## Request body

- VideoCreateJsonRequest
  - `model` string, required — Video model ID.
  - `prompt` string, required — Text instruction for the video.
  - `seconds` string, required — Requested duration. Must be listed in the selected model's capabilities.supported_seconds.
  - `size` string — Requested output size. Must be listed in the selected model's capabilities.supported_sizes when provided.

## Response `200`

Queued video task

- VideoTaskResponse
  - `id` string, required — Video task ID.
  - `status` 'queued' | 'in_progress' | 'completed' | 'failed', required — Video task status.

## Other responses

- `400` — Invalid gateway request or upstream rejected the request.
- `401` — Missing or invalid LLM7 token.
- `402` — No available balance or allowance.
- `413` — Request body or reference image is too large.
- `429` — Gateway or upstream rate limit.
- `502` — Upstream success response did not match the endpoint contract.
- `503` — Upstream provider is temporarily unavailable.

---

[API](https://skmtc.dev/llm7/apis/llm7-api.md) · [All operations](https://skmtc.dev/llm7/apis/llm7-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/llm7/llm7-api/revisions/2933587838e9/schema)
