> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-fr/generation-video/cogvideox.md).

# Génération vidéo CogVideoX

CogVideoX est une famille de transformeurs de diffusion vidéo à poids ouverts de Zhipu AI (Tsinghua). Les modèles génèrent des clips cohérents de 6 secondes en 720×480 et 8 ips à partir soit d'une invite textuelle (T2V), soit d'une image de référence plus une invite (I2V). Deux échelles de paramètres sont disponibles — 2B pour des itérations rapides et 5B pour une fidélité supérieure — toutes deux avec un `intégration` via `CogVideoXPipeline`.

Faire tourner CogVideoX sur un GPU loué depuis [Clore.ai](https://clore.ai/) vous permet d'éviter les contraintes matérielles locales et de générer de la vidéo à grande échelle pour quelques centimes par clip.

## Principales caractéristiques

* **Texte vers Vidéo (T2V)** — décrivez une scène et obtenez un clip de 6 secondes en 720×480 à 8 ips (49 images).
* **Image vers Vidéo (I2V)** — fournissez une image de référence plus une invite ; le modèle l'anime avec une cohérence temporelle.
* **Deux échelles** — CogVideoX-2B (rapide, \~12 Go de VRAM) et CogVideoX-5B (qualité supérieure, \~20 Go de VRAM).
* **Support natif des diffusers** — `CogVideoXPipeline` et `CogVideoXImageToVideoPipeline` classes.
* **VAE causal 3D** — compresse 49 images en un espace latent compact pour un débruitage efficace.
* **Poids ouverts** — licence Apache-2.0 pour la variante 2B ; licence de recherche pour la 5B.

## Exigences

| Composant   | Minimum          | Recommandé       |
| ----------- | ---------------- | ---------------- |
| VRAM GPU    | 16 Go (2B, fp16) | 24 Go (5B, bf16) |
| RAM système | 32 Go            | 64 Go            |
| Disque      | 30 Go            | 50 Go            |
| Python      | 3.10+            | 3.11             |
| CUDA        | 12.1+            | 12.4             |

**Recommandation GPU Clore.ai :** Un **RTX 4090** (24 Go, \~0,5–2 $/jour) gère confortablement les variantes 2B et 5B. Un **RTX 3090** (24 Go, \~0,3–1 $/jour) fonctionne tout aussi bien pour la 5B en bf16 et est le choix économique.

## Démarrage rapide

```bash
# Créer l'environnement
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
pip install diffusers transformers accelerate sentencepiece imageio[ffmpeg]

# Vérifier le GPU
python -c "import torch; print(torch.cuda.get_device_name(0))"
```

## Exemples d'utilisation

### Texte vers Vidéo (5B)

```python
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video

pipe = CogVideoXPipeline.from_pretrained(
    "THUDM/CogVideoX-5b",
    torch_dtype=torch.bfloat16,
)
pipe.to("cuda")
pipe.enable_model_cpu_offload()      # économise ~4 Go de VRAM au pic
pipe.vae.enable_tiling()             # requis pour 720x480 sur des cartes 24 Go

prompt = (
    "Un golden retriever courant dans un champ de tournesols au coucher du soleil, "
    "éclairage cinématographique, ralenti, qualité 4K"
)

video_frames = pipe(
    prompt=prompt,
    num_frames=49,
    guidance_scale=6.0,
    num_inference_steps=50,
    generator=torch.Generator("cuda").manual_seed(42),
).frames[0]

export_to_video(video_frames, "retriever_sunset.mp4", fps=8)
print("Saved retriever_sunset.mp4")
```

### Image vers Vidéo (5B)

```python
import torch
from PIL import Image
from diffusers import CogVideoXImageToVideoPipeline
from diffusers.utils import export_to_video

pipe = CogVideoXImageToVideoPipeline.from_pretrained(
    "THUDM/CogVideoX-5b-I2V",
    torch_dtype=torch.bfloat16,
)
pipe.to("cuda")
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()

image = Image.open("reference.png").resize((720, 480))

video_frames = pipe(
    prompt="La caméra orbite lentement autour du sujet, vent léger",
    image=image,
    num_frames=49,
    guidance_scale=6.0,
    num_inference_steps=50,
).frames[0]

export_to_video(video_frames, "animated.mp4", fps=8)
```

### Génération rapide avec la variante 2B

```python
from diffusers import CogVideoXPipeline
import torch

pipe = CogVideoXPipeline.from_pretrained(
    "THUDM/CogVideoX-2b",
    torch_dtype=torch.float16,
)
pipe.to("cuda")
pipe.vae.enable_tiling()

frames = pipe(
    prompt="Time-lapse d'un cerisier en fleurs",
    num_frames=49,
    guidance_scale=6.0,
    num_inference_steps=30,       # moins d'étapes → plus rapide
).frames[0]
```

## Conseils pour les utilisateurs de Clore.ai

1. **Activer le tiling du VAE** — sans `pipe.vae.enable_tiling()` le VAE 3D provoquera un OOM sur des cartes 24 Go pendant le décodage.
2. **Utilisez `enable_model_cpu_offload()`** — déplace automatiquement les modules inactifs vers la RAM ; ajoute \~10 % au temps mur mais économise plus de 4 Go de VRAM au pic.
3. **bf16 pour 5B, fp16 pour 2B** — le point de contrôle 5B a été entraîné en bf16 ; utiliser fp16 peut provoquer des sorties NaN.
4. **Persister les modèles** — montez un volume persistant Clore.ai sur `/models` et définissez `HF_HOME=/models/hf` pour que les poids survivent aux redémarrages du conteneur.
5. **Traitement par lot pendant la nuit** — mettez en file d'attente de longues listes d'invites avec une simple boucle Python ; la facturation Clore.ai se fait à l'heure, donc saturer le GPU.
6. **SSH + tmux** — lancez la génération à l'intérieur de `tmux` pour qu'une connexion interrompue ne tue pas le processus.
7. **Sélectionnez le bon GPU** — filtrez le marketplace Clore.ai pour des cartes ≥24 Go de VRAM ; triez par prix pour trouver le RTX 3090 / 4090 le moins cher disponible.

## Dépannage

| Problème                                   | Corriger                                                                                                                 |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `OutOfMemoryError` pendant le décodage VAE | Appelez `pipe.vae.enable_tiling()` avant l'inférence                                                                     |
| NaN / images noires avec la 5B             | Passez à `torch.bfloat16`; fp16 n'est pas pris en charge pour la variante 5B                                             |
| `ImportError : imageio`                    | `pip install imageio[ffmpeg]` — le plugin ffmpeg est nécessaire pour l'export MP4                                        |
| Première exécution très lente              | Le téléchargement du modèle fait \~20 Go ; les exécutions suivantes utilisent les poids en cache                         |
| Incompatibilité de version CUDA            | Assurez-vous que la version CUDA de PyTorch correspond au pilote : `python -c "import torch; print(torch.version.cuda)"` |
| Mouvement brouillé / scintillement         | Augmentez `num_inference_steps` à 50 ; diminuer `guidance_scale` à 5.0                                                   |
| Conteneur tué en cours de téléchargement   | Définir `HF_HOME` sur un volume persistant et redémarrez — les téléchargements partiels reprennent automatiquement       |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-fr/generation-video/cogvideox.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
