# Stable Video Diffusion

{% hint style="info" %}
**Доступны более новые альтернативы!** Рассмотрите [**FramePack**](https://docs.clore.ai/guides/guides_v2-ru/generaciya-video/framepack) (всего 6 ГБ VRAM!), [**Wan2.1**](https://docs.clore.ai/guides/guides_v2-ru/generaciya-video/wan-video) (более высокое качество), или [**LTX-2**](https://docs.clore.ai/guides/guides_v2-ru/generaciya-video/ltx-video-2) (видео с оригинальной аудиодорожкой).
{% endhint %}

Генерируйте видео из изображений с помощью модели SVD от Stability AI.

{% hint style="success" %}
Все примеры можно запускать на GPU-серверах, арендуемых через [CLORE.AI Marketplace](https://clore.ai/marketplace).
{% endhint %}

## Что такое Stable Video Diffusion?

SVD (Stable Video Diffusion) генерирует короткие видеоклипы из одного изображения:

* Выход 14 или 25 кадров
* Разрешение 576x1024
* Плавная генерация движения
* Открытые веса с исходным кодом

## Ресурсы

* **HuggingFace:** [stabilityai/stable-video-diffusion-img2vid-xt](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt)
* **GitHub:** [Stability-AI/generative-models](https://github.com/Stability-AI/generative-models)
* **Статья:** [Статья SVD](https://arxiv.org/abs/2311.15127)

## Требования к аппаратному обеспечению

| Модель             | VRAM  | Рекомендуемый GPU |
| ------------------ | ----- | ----------------- |
| SVD (14 кадров)    | 16GB  | RTX 4090          |
| SVD-XT (25 кадров) | 24 ГБ | RTX 4090 / A100   |

## Быстрое развертывание

**Docker-образ:**

```
pytorch/pytorch:2.5.1-cuda12.4-cudnn9-devel
```

**Порты:**

```
22/tcp
7860/http
```

**Команда:**

```bash
pip install diffusers transformers accelerate && \
pip install gradio && \
python -c "
import gradio as gr
from diffusers import StableVideoDiffusionPipeline
from diffusers.utils import export_to_video
import torch

pipe = StableVideoDiffusionPipeline.from_pretrained(
    'stabilityai/stable-video-diffusion-img2vid-xt',
    torch_dtype=torch.float16,
    variant='fp16'
).to('cuda')

def generate(image, seed, fps):
    generator = torch.manual_seed(seed)
    frames = pipe(image, num_frames=25, generator=generator).frames[0]
    export_to_video(frames, 'output.mp4', fps=fps)
    return 'output.mp4'

gr.Interface(
    fn=generate,
    inputs=[gr.Image(type='pil'), gr.Number(value=42, label='Seed'), gr.Slider(6, 30, value=7, label='FPS')],
    outputs=gr.Video(),
    title='Stable Video Diffusion'
).launch(server_name='0.0.0.0', server_port=7860)
"
```

## Доступ к вашему сервису

После развертывания найдите ваш `http_pub` URL в **Моих заказах**:

1. Перейдите на **Моих заказах** страницу
2. Нажмите на ваш заказ
3. Найдите `http_pub` URL (например, `abc123.clorecloud.net`)

Используйте `https://YOUR_HTTP_PUB_URL` вместо `localhost` в примерах ниже.

## Установка

```bash
pip install diffusers transformers accelerate torch

# Для экспорта видео
pip install imageio[ffmpeg]
```

## Базовое использование

```python
import torch
from diffusers import StableVideoDiffusionPipeline
from diffusers.utils import load_image, export_to_video

# Загрузить pipeline
pipe = StableVideoDiffusionPipeline.from_pretrained(
    "stabilityai/stable-video-diffusion-img2vid-xt",
    torch_dtype=torch.float16,
    variant="fp16"
)
pipe.to("cuda")

# Загрузить и изменить размер изображения
image = load_image("input.jpg")
image = image.resize((1024, 576))

# Сгенерировать видео
generator = torch.manual_seed(42)
frames = pipe(image, num_frames=25, generator=generator).frames[0]

# Сохранить видео
export_to_video(frames, "output.mp4", fps=7)
```

## SVD против SVD-XT

| Функция      | SVD     | SVD-XT    |
| ------------ | ------- | --------- |
| Кадры        | 14      | 25        |
| Длительность | \~2 сек | \~3.5 сек |
| VRAM         | 16GB    | 24 ГБ     |
| Качество     | Хорошо  | Лучше     |

## Оптимизация памяти

```python

# Включить энергоэффективное внимание
pipe.enable_model_cpu_offload()

# Или использовать разрезание внимания (attention slicing)
pipe.enable_attention_slicing()

# Для очень малого объёма VRAM
pipe.enable_sequential_cpu_offload()
```

## Пакетная обработка

```python
import os
from pathlib import Path

input_dir = Path("./images")
output_dir = Path("./videos")
output_dir.mkdir(exist_ok=True)

for img_path in input_dir.glob("*.jpg"):
    image = load_image(str(img_path)).resize((1024, 576))
    frames = pipe(image, num_frames=25).frames[0]
    export_to_video(frames, str(output_dir / f"{img_path.stem}.mp4"), fps=7)
    print(f"Generated: {img_path.stem}.mp4")
```

## Интеграция с ComfyUI

SVD отлично работает в ComfyUI:

1. Установите ComfyUI
2. Скачайте модель SVD в `models/checkpoints/`
3. Используйте узлы SVD для workflow img2vid

## Устранение неполадок

{% hint style="danger" %}
**Недостаточно памяти**
{% endhint %}

* Используйте `enable_model_cpu_offload()`
* Уменьшите `num_frames` на 14
* Используйте вариант fp16

### Видео слишком короткое

* Вместо SVD (14 кадров) используйте SVD-XT (25 кадров)
* Интерполируйте с помощью RIFE для более плавного результата

### Плохое качество движения

* Используйте изображения высокого качества
* Убедитесь, что изображение 1024x576 (или 576x1024)
* Попробуйте другие seed'ы

### Ошибка CUDA

* Обновите PyTorch и diffusers
* Проверьте совместимость версии CUDA

## Оценка стоимости

Типичные ставки на маркетплейсе CLORE.AI (по состоянию на 2024):

| GPU       | Почасовая ставка | Дневная ставка | Сессия 4 часа |
| --------- | ---------------- | -------------- | ------------- |
| RTX 3060  | \~$0.03          | \~$0.70        | \~$0.12       |
| RTX 3090  | \~$0.06          | \~$1.50        | \~$0.25       |
| RTX 4090  | \~$0.10          | \~$2.30        | \~$0.40       |
| A100 40GB | \~$0.17          | \~$4.00        | \~$0.70       |
| A100 80GB | \~$0.25          | \~$6.00        | \~$1.00       |

*Цены варьируются в зависимости от провайдера. Проверьте* [*CLORE.AI Marketplace*](https://clore.ai/marketplace) *для текущих тарифов.*

## Дальнейшие шаги

* AnimateDiff - анимировать изображения SD
* [Интерполяция RIFE](https://docs.clore.ai/guides/guides_v2-ru/obrabotka-video/rife-interpolation) - Увеличить FPS
* [Hunyuan Video](https://docs.clore.ai/guides/guides_v2-ru/generaciya-video/hunyuan-video) - Текст-видео
