---
title: "create video by text or image or reference image"
method: POST
path: "/generation/sora/sora-2-pro"
tags: ["generation", "video generation"]
---

# create video by text or image or reference image

`POST /generation/sora/sora-2-pro`

## Request

- Base URL: `https://pollo.ai/api/platform`
- URL: `https://pollo.ai/api/platform/generation/sora/sora-2-pro`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/pollo/apis/pollo-ai-video-collection/docs/generation/sora/sora-2-pro/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- object
  - `input` union, required
    - object
      - `image` string, uri, required: Only image URLs are accepted (HTTPS preferred); base64 is not allowed. Supported formats include JPG, PNG, and JPEG. Image aspect ratio must be less than 1:4 or 4:1. Videos with human faces are not permitted. Images with an incorrect aspect ratio will be auto-cropped.
      - `prompt` string: The prompt of the generation
      - `length` 4 | 8 | 12 | 16 | 20, required: The length of the generation
      - `aspectRatio` '16:9' | '9:16'
      - `resolution` '720p' | '1024p' | '1080p': The resolution of the generation
    - object
      - `prompt` string, required: The prompt of the generation
      - `length` 4 | 8 | 12 | 16 | 20, required: The length of the generation
      - `aspectRatio` '16:9' | '9:16'
      - `resolution` '720p' | '1024p' | '1080p': The resolution of the generation
  - `webhookUrl` string
  - `clientSource` string

## Response `200`

Successful response

- object
  - `taskId` string, required
  - `status` 'waiting' | 'succeed' | 'failed' | 'processing', required

## Other responses

- `default`: Error response

---

[API](https://skmtc.dev/pollo/apis/pollo-ai-video-collection.md) - [All operations](https://skmtc.dev/pollo/apis/pollo-ai-video-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/pollo/apis/pollo-ai-video-collection/revisions/b3c228cf4e87?raw)
