---
title: "stable-video-diffusion"
publisher: "stabilityai"
type: "endpoint"
updated: "2025-07-20T16:35:25.609Z"
description: "Stable Video Diffusion (SVD) is a generative diffusion model that leverages a single image as a conditioning frame to synthesize video sequences."
canonical: "https://build.nvidia.com/stabilityai/stable-video-diffusion"
---

# Model Overview

## Note: You need to request the model checkpoint and license from Stability AI
Request the model checkpoint from [Stability AI](https://stability.ai/membership)

## Description:

Stable Video Diffusion (SVD) is a generative diffusion model that leverages a single image as a conditioning frame to synthesize video sequences. 
This model was trained to generate 25 frames at resolution 576x1024 given a context frame of the same size, fine tuned from SVD Image-to-Video [14 frames].

Developed by: Stability AI
Funded by: Stability AI
Model type: Generative image-to-video model

## Terms of use

By using this software or model, you are agreeing to the terms and conditions of the [license](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid/blob/main/LICENSE), [acceptable use policy](https://stability.ai/use-policy#:~:text=If%20you%20access%2C%20use%2C%20or,Stability%20Technology%20safely%20and%20responsibly.) and Stability’s [privacy policy](https://stability.ai/privacy-policy).

## References(s):

* [Stable Video — Stability AI](https://stability.ai/stable-video)
* [Stable Video Diffusion (huggingface.co)](https://huggingface.co/docs/diffusers/main/en/using-diffusers/svd)
* [Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets — Stability AI](https://stability.ai/research/stable-video-diffusion-scaling-latent-video-diffusion-models-to-large-datasets)

## Model Card:

[Stable Video Diffusion model Card](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid)

## Model Architecture: 
**Architecture Type:** Convolutional Neural Network (CNN) <br>
**Network Architecture:** UNet + attention blocks <br>
**Model Version:** SVD XT <br>

## Input:
**Input Format:** Red, Green, Blue (RGB) Image <br>
**Input Parameters:** motion_bucket_id, frames_per_second, guidance_scale, seed <br>

## Output:
**Output Format:** Video <br>
**Output Parameters:** seed <br>

## Software Integration:
**Supported Hardware Platform(s):** Hopper, Ampere/Turing <br>
**Supported Operating System(s):** Linux <br>

# Inference:
**Engine:** [Triton](https://developer.nvidia.com/triton-inference-server) <br>
**Test Hardware:** Other <br>

# Request Model Checkpoint:
You can request the model checkpoint from [Stability AI](https://stability.ai/membership)

## Prototype

```bash
invoke_url='https://ai.api.nvidia.com/v1/genai/stabilityai/stable-video-diffusion'

authorization_header="Authorization: Bearer $NVIDIA_API_KEY"
accept_header='Accept: application/json'
content_type_header='Content-Type: application/json'

data='{
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGK6HcwNCAAA//8DTgE8HuxwEQAAAABJRU5ErkJggg==",
"cfg_scale": 2.5,
"seed": 0
}'

response=$(curl --silent -i -w "\n%{http_code}" --request POST \
--url "$invoke_url" \
--header "$authorization_header" \
--header "$accept_header" \
--header "$content_type_header" \
--data "$data"
)

http_code=$(echo "$response" | tail -n 1)

echo "$response" | awk '/{/,EOF-1'
```

```javascript
import fetch from "node-fetch";

const invokeUrl = "https://ai.api.nvidia.com/v1/genai/stabilityai/stable-video-diffusion"

const headers = {
"Authorization": "Bearer $NVIDIA_API_KEY",
"Accept": "application/json",
}

const payload = {
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGK6HcwNCAAA//8DTgE8HuxwEQAAAABJRU5ErkJggg==",
"cfg_scale": 2.5,
"seed": 0
}

let response = await fetch(invokeUrl, {
method: "post",
body: JSON.stringify(payload),
headers: { "Content-Type": "application/json", ...headers }
});

if (response.status != 200) {
let errBody = await (await response.blob()).text()
throw "invocation failed with status " + response.status + " " + errBody
}
let response_body = await response.json()
console.log(JSON.stringify(response_body))
```

```python
import requests

invoke_url = "https://ai.api.nvidia.com/v1/genai/stabilityai/stable-video-diffusion"

headers = {
"Authorization": "Bearer $NVIDIA_API_KEY",
"Accept": "application/json",
}

payload = {
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGK6HcwNCAAA//8DTgE8HuxwEQAAAABJRU5ErkJggg==",
"cfg_scale": 2.5,
"seed": 0
}

response = requests.post(invoke_url, headers=headers, json=payload)

response.raise_for_status()
response_body = response.json()
print(response_body)
```