Déploiement de la génération d'images et de vidéos avec vLLM-Omni sur SageMaker AI
Un guide technique détaille comment déployer les modèles FLUX.2 et Wan2.1 sur Amazon SageMaker en utilisant un conteneur vLLM-Omni partagé avec des schémas d'inférence mixtes.
Traduit automatiquement depuis l'original anglais.
Amazon Web Services a publié le 28 septembre 2026 un tutoriel technique démontrant comment générer des images et les animer en vidéo à l'aide d'Amazon SageMaker AI. Le guide détaille le déploiement de deux modèles génératifs spécifiques, FLUX.2-klein-4B et Wan2.1-VACE-1.3B, en utilisant le Deep Learning Container AWS vLLM-Omni pour gérer à la fois les charges de travail en temps réel et asynchrones au sein d'une infrastructure unifiée.
Ce qui s'est passé
La publication décrit un flux de travail qui transforme une invite textuelle en image fixe, puis anime cette image en court clip vidéo. Ce processus repose sur deux points d'accès distincts déployés à partir de la même version épinglée du Deep Learning Container (DLC) AWS vLLM-Omni. Le premier point d'accès gère la génération d'images à l'aide du modèle FLUX.2-klein-4B, tandis que le second gère la génération de vidéos à l'aide du modèle Wan2.1-VACE-1.3B. En utilisant une seule image de conteneur pour ces deux tâches, l'architecture réduit la variabilité de la pile de service tout en permettant à chaque modèle de fonctionner sur des types d'instances optimisés pour ses exigences computationnelles spécifiques.
Le tutoriel distingue les schémas d'inférence requis pour chaque tâche. La génération d'images est traitée via un point d'accès SageMaker AI en temps réel, qui renvoie directement le PNG généré au client. En revanche, la génération de vidéos utilise un point d'accès SageMaker Asynchronous Inference. Cette approche est nécessaire car la création de vidéos est une opération plus longue impliquant des charges utiles plus volumineuses. Le point d'accès asynchrone écrit le fichier MP4 final dans Amazon Simple Storage Service (Amazon S3), permettant au client de interroger périodiquement le résultat plutôt que de maintenir une connexion ouverte.
Cette sortie constitue la deuxième partie d'une série explorant les DLC AWS spécialisés. Alors que l'épisode précédent se concentrait sur le traitement vocal en temps réel utilisant le streaming bidirectionnel, ce guide isole la génération d'images et de vidéos pour clarifier les différences en matière de charges utiles et de mécanismes de réponse. La solution fournie inclut à la fois un flux de travail en ligne de commande et une application Streamlit, permettant aux développeurs de tester le pipeline de bout en bout, de l'invite textuelle à la vidéo animée.
Comment cela fonctionne
La technologie centrale permettant ce flux de travail est le DLC AWS vLLM-Omni, qui étend le framework vLLM au-delà de la génération de texte pour prendre en charge l'audio, les images et les vidéos via des API compatibles OpenAI. Le conteneur inclut un middleware de routage qui lit l'en-tête CustomAttributes dans les requêtes entrantes et redirige le trafic vers la route vLLM-Omni appropriée. Pour le modèle d'image, les requêtes sont routées vers /v1/images/generations, tandis que les requêtes vidéo vont vers /v1/videos/sync. Cette abstraction permet aux développeurs d'interagir avec des modèles multimodaux complexes en utilisant des structures d'API familières.
Le flux de données commence lorsque l'application envoie une invite textuelle au point d'accès FLUX.2-klein. Le modèle renvoie un PNG encodé en base64, que l'application redimensionne ensuite pour correspondre aux dimensions cibles de la vidéo et convertit en une URL de données JPEG compacte. Cette image de référence est intégrée dans une requête multipartie pour le modèle vidéo Wan VACE. Parce que la charge utile dépasse la limite de 128 000 octets pour les corps asynchrones en ligne, l'application téléverse la requête dans Amazon S3 et fournit l'emplacement au point d'accès SageMaker. Le point d'accès traite le job, écrit le MP4 résultant dans un emplacement de sortie S3 désigné, et le client récupère le fichier une fois la génération terminée.
Détails clés
- La solution utilise l'image DLC épinglée
omni-sagemaker-cuda-v1.6pour les deux points d'accès. - La génération d'images s'exécute sur un type d'instance
ml.g6.xlargevia un point d'accès en temps réel. - La génération de vidéos s'exécute sur un type d'instance
ml.g6e.xlargevia un point d'accès asynchrone. - Le modèle Wan VACE utilise le tiling par autoencodeur variationnel (VAE) pour réduire la mémoire de pointe lors du décodage.
- Les paramètres vidéo par défaut produisent 17 images en utilisant 30 étapes de diffusion pour préserver la qualité.
- Les réponses réussies et les échecs d'appel sont stockés sous des préfixes Amazon S3 séparés.
Pourquoi c'est important
Pour les équipes d'ingénierie développant des applications médiatiques génératives, ce modèle offre une feuille de route claire pour gérer les charges de travail à latence mixte. L'utilisation de l'inférence en temps réel pour les tâches rapides comme la génération d'images garantit un retour immédiat, tandis que l'inférence asynchrone empêche les timeouts et la contention des ressources pour le rendu vidéo plus lent. Cette séparation permet aux systèmes de passer à l'échelle plus efficacement, car chaque point d'accès peut être ajusté indépendamment en fonction de ses exigences spécifiques en matière de latence et de débit.
De plus, l'utilisation d'une image de conteneur partagée simplifie la charge opérationnelle. Maintenir une seule version de DLC à travers plusieurs modèles réduit la complexité de la gestion des dépendances et des correctifs de sécurité. Les développeurs peuvent changer ou mettre à jour les modèles en modifiant la variable d'environnement SM_VLLM_MODEL sans reconstruire l'infrastructure de service sous-jacente. Cette modularité soutient l'expérimentation rapide avec différentes familles de modèles tout en maintenant la stabilité de l'environnement de production.
Ce que vous pouvez faire
- Clonez le dépôt
sagemaker-genai-hosting-examplesdepuis GitHub pour accéder au code exemple. - Assurez-vous que votre compte AWS dispose du quota pour les instances
ml.g6.xlargeetml.g6e.xlargedans votre région cible. - Configurez un rôle d'exécution SageMaker avec les autorisations d'accéder à Amazon S3 et de créer des points d'accès.
- Exécutez le script
deploy.pyfourni pour approvisionner les points d'accès en temps réel et asynchrones. - Utilisez l'outil en ligne de commande
generate.pypour tester le pipeline avec des invites textuelles et de mouvement personnalisées. - Lancez l'application Streamlit incluse pour visualiser le flux de travail image-vers-vidéo dans une interface navigateur.

