---
title: "Live Video To Video"
method: POST
path: "/api/generate/live-video-to-video"
tags: ["generate"]
---

# Live Video To Video

`POST /api/generate/live-video-to-video`

## Request

- The document declares no server URL.
- Auth: none declared

Apply transformations to a live video streamed to the returned endpoints.

## Request body

- LiveVideoToVideoParams
  - `subscribe_url` string, required: Source URL of the incoming stream to subscribe to.
  - `publish_url` string, required: Destination URL of the outgoing stream to publish.
  - `control_url` string: URL for subscribing via Trickle protocol for updates in the live video-to-video generation params.
  - `events_url` string: URL for publishing events via Trickle protocol for pipeline status and logs.
  - `model_id` string, required: Name of the pipeline to run in the live video to video job. Notice that this is named model_id for consistency with other routes, but it does not refer to a Hugging Face model ID. The exact model(s) depends on the pipeline implementation and might be configurable via the `params` argument.
  - `params` object: Initial parameters for the pipeline.
  - `gateway_request_id` string: The ID of the Gateway request (for logging purposes).
  - `manifest_id` string: The manifest ID from the orchestrator (for logging purposes).
  - `stream_id` string: The Stream ID (for logging purposes).

## Response `200`

Successful Response

- LiveVideoToVideoResponse: Response model for live video-to-video generation.
  - `subscribe_url` string, required: Source URL of the incoming stream to subscribe to
  - `publish_url` string, required: Destination URL of the outgoing stream to publish to
  - `control_url` string: URL for updating the live video-to-video generation
  - `events_url` string: URL for subscribing to events for pipeline status and logs
  - `request_id` string: The ID generated for this request
  - `manifest_id` string: Orchestrator manifest ID for this request

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `422`: Validation Error
- `500`: Internal Server Error
- `default`: Error

## Changes

- **2025-10-30** `dfc937fc0d2c`: 6 breaking, 3 info
  - the `oneOf[subschema #1: HTTPError]/detail` response's property type changed from `object` to no type for status `400`
  - the `oneOf[subschema #1: HTTPError]/detail` response's property type changed from `object` to no type for status `401`
  - the `oneOf[subschema #1: HTTPError]/detail` response's property type changed from `object` to no type for status `500`
  - removed the required property `oneOf[subschema #1: HTTPError]/detail/msg` from the response with the `400` status
  - …5 more
- **2025-10-30** `f5d01b71ba9a`: 3 breaking, 6 info
  - the `oneOf[subschema #1: HTTPError]/detail` response's property type changed from no type to `object` for status `400`
  - the `oneOf[subschema #1: HTTPError]/detail` response's property type changed from no type to `object` for status `401`
  - the `oneOf[subschema #1: HTTPError]/detail` response's property type changed from no type to `object` for status `500`
  - removed `#/components/schemas/APIError` from the `oneOf[subschema #1: HTTPError]/detail` response property `allOf` list for the response status `400`
  - …5 more
- **2025-10-28** `dfc937fc0d2c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/livepeer/apis/livepeer-ai-api/changes/api/generate/live-video-to-video/post.md)

---

[API](https://skmtc.dev/livepeer/apis/livepeer-ai-api.md) - [All operations](https://skmtc.dev/livepeer/apis/livepeer-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/livepeer/apis/livepeer-ai-api/revisions/dfc937fc0d2c?raw)
