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

# OpenAI Sora 2 (reverse) Video Generation

Sora 2 (reverse) is a state-of-the-art video + audio generator. It improves upon the original Sora with more precise physics, clearer realism, synchronized audio, stronger controllability, and a broader range of styles.

<Tip>
  This is an **async** API that only returns the task\_id of the async task. Use the task\_id to call the [Get Async Task Result API](/docs/models/reference-get-async-task-result) to retrieve the generated result.
</Tip>

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Bearer authentication format: Bearer \{\{API Key}}.
</ParamField>

## Request Body

<ParamField body="prompt" type="string" required={true}>
  Positive text prompt for video generation.
</ParamField>

<ParamField body="image" type="string" required={false}>
  Input image supports URL format only. Supported image formats include .jpg, .jpeg, .png.
</ParamField>

<ParamField body="duration" type="number" required={false}>
  Video duration (seconds)

  Enum: `10`,`15`
</ParamField>

<ParamField body="size" type="string" required={false}>
  Width x Height, specific values are ignored. Width > Height produces landscape, Width \< Height produces portrait.

  Enum:

  * `1280x720` - Standard definition landscape (actual output resolution is approximately 480P, listed as 480P in pricing)
  * `720x1280` - Standard definition portrait (actual output resolution is approximately 480P, listed as 480P in pricing)
</ParamField>

<ParamField body="watermark" type="boolean" required={false} default={false}>
  Whether to include a watermark. Defaults to no watermark if not provided.
</ParamField>

<ParamField body="character_url" type="string" required={false}>
  Video URL for creating a character. Note: the video must not contain real people, otherwise it will fail.
</ParamField>

<ParamField body="character_timestamps" type="string" required={false}>
  Time range in seconds when the character appears in the video, format: \{start},\{end}. Note: end-start range must be 1-3 seconds.

  Example: `1,3`
</ParamField>

## Response

<ResponseField name="task_id" type="string" required={true}>
  The task\_id of the async task. Use the task\_id to call the [Get Async Task Result API](/docs/models/reference-get-async-task-result) to retrieve the generated result.
</ResponseField>
