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

# Sora 2 Video To Video API

> API reference for Sora 2 Video To Video. Video-to-video remix endpoint for Sora 2, OpenAI’s advanced model that transforms existing videos based on new text or image prompts allowing rich edits, style

**Endpoint:** `POST https://fal.run/fal-ai/sora-2/video-to-video/remix`
**Endpoint ID:** `fal-ai/sora-2/video-to-video/remix`

<Card title="Try it in the Playground" icon="play" href="https://fal.ai/models/fal-ai/sora-2/video-to-video/remix/playground">
  Run this model interactively with your own prompts.
</Card>

### Quick Start

<CodeGroup>
  ```python title="Python" theme={null}
  import fal_client

  def on_queue_update(update):
      if isinstance(update, fal_client.InProgress):
          for log in update.logs:
             print(log["message"])

  result = fal_client.subscribe(
      "fal-ai/sora-2/video-to-video/remix",
      arguments={
          "video_id": "video_123",
          "prompt": "Change the cat's fur color to purple."
      },
      with_logs=True,
      on_queue_update=on_queue_update,
  )
  print(result)
  ```

  ```javascript title="JavaScript" theme={null}
  import { fal } from "@fal-ai/client";

  const result = await fal.subscribe("fal-ai/sora-2/video-to-video/remix", {
    input: {
        video_id: "video_123",
        prompt: "Change the cat's fur color to purple."
      },
    logs: true,
    onQueueUpdate: (update) => {
      if (update.status === "IN_PROGRESS") {
        update.logs.map((log) => log.message).forEach(console.log);
      }
    },
  });
  console.log(result.data);
  console.log(result.requestId);
  ```

  ```bash title="cURL" theme={null}
  curl --request POST \
    --url https://fal.run/fal-ai/sora-2/video-to-video/remix \
    --header "Authorization: Key $FAL_KEY" \
    --header "Content-Type: application/json" \
    --data '{
    "video_id": "video_123",
    "prompt": "Change the cat'\''s fur color to purple."
  }'
  ```
</CodeGroup>

### Input Schema

<ParamField body="video_id" type="string" required>
  The video\_id from a previous Sora 2 generation. Note: You can only remix videos that were generated by Sora (via text-to-video or image-to-video endpoints), not arbitrary uploaded videos.
</ParamField>

<ParamField body="prompt" type="string" required>
  Updated text prompt that directs the remix generation
</ParamField>

<ParamField body="delete_video" type="boolean" default="true">
  Whether to delete the video after generation for privacy reasons. If True, the video cannot be used for remixing and will be permanently deleted. Default value: `true`
</ParamField>

### Output Schema

<ParamField body="video" type="VideoFile" required>
  The generated video
</ParamField>

<ParamField body="video_id" type="string" required>
  The ID of the generated video
</ParamField>

<ParamField body="thumbnail" type="ImageFile">
  Thumbnail image for the video
</ParamField>

<ParamField body="spritesheet" type="ImageFile">
  Spritesheet image for the video
</ParamField>

### Input Example

```json theme={null}
{
  "video_id": "video_123",
  "prompt": "Change the cat's fur color to purple.",
  "delete_video": true
}
```

### Output Example

```json theme={null}
{
  "video": {
    "content_type": "video/mp4",
    "url": "https://v3b.fal.media/files/b/rabbit/nk1MK6LY90QqScvI4_Yn8.mp4"
  },
  "video_id": "video_123"
}
```

## Related

* [Sora 2](/model-api-reference/video-generation-api/sora-2) — Video Generation
