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

# Image To Video

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

## Request

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

Generate a video from a provided image.

## Request body `multipart/form-data`

- BodyGenImageToVideo
  - `image` string, binary, required: Uploaded image to generate a video from.
  - `model_id` string: Hugging Face model ID used for video generation.
  - `height` integer: The height in pixels of the generated video.
  - `width` integer: The width in pixels of the generated video.
  - `fps` integer: The frames per second of the generated video.
  - `motion_bucket_id` integer: Used for conditioning the amount of motion for the generation. The higher the number the more motion will be in the video.
  - `noise_aug_strength` number: Amount of noise added to the conditioning image. Higher values reduce resemblance to the conditioning image and increase motion.
  - `safety_check` boolean: Perform a safety check to estimate if generated images could be offensive or harmful.
  - `seed` integer: Seed for random number generation.
  - `num_inference_steps` integer: Number of denoising steps. More steps usually lead to higher quality images but slower inference. Modulated by strength.

## Response `200`

Successful Response

- VideoResponse: Response model for image generation.
  - `images` Media[], required: The generated images.
    - `url` string, required: The URL where the media can be accessed.
    - `seed` integer, required: The seed used to generate the media.
    - `nsfw` boolean, required: Whether the media was flagged as NSFW.

## 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
- **2024-10-03** `cbf999b9a7cf`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/livepeer/apis/livepeer-ai-api/changes/api/generate/image-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)
