Accéder au contenu principal

Runway Act-One Guide : Je me suis filmé pour le tester

Apprenez à utiliser Runway Act-One à travers l'interface web et son API, et découvrez comment le combiner avec Runway Gen3-Alpha.
Actualisé 14 févr. 2025  · 8 min de lecture

Dans cet article de blog, je vais vous faire part de mon expérience en matière de test du nouvel outilAct-One de Runway ML. Je vais vous expliquer comment cela fonctionne, en utilisant à la fois l'interface web et leur API Python. Je parlerai également des résultats que j'ai obtenus, qui n'ont pas été aussi impressionnants que je l'espérais.

Si vous êtes curieux d'en savoir plus sur Act-One et que vous voulez le voir à l'œuvre, continuez à lire !

Vous souhaitez vous lancer dans l'IA générative ?

Apprenez à travailler avec des LLM en Python directement dans votre navigateur

Commencez maintenant

Qu'est-ce que Runway Act-One ?

Runway Act-One est un outil qui permet d'animer des images de personnages fixes à l'aide de la vidéo. Voyons ce qu'il en est :

Source : Défilé

Cette vidéo a été créée à l'aide de :

  1. Une vidéo d'un acteur humain ; et
  2. Une image statique du personnage de l'animation.

Runway Act-One anime ensuite le personnage pour reproduire les mouvements et les expressions du visage de l'acteur humain.

Entrées et sorties d'Act-One.

L'animation de personnages est un processus sophistiqué que seuls des professionnels hautement qualifiés peuvent réaliser à partir de zéro. Act-One tente de changer la donne en permettant à n'importe qui d'animer un personnage simplement en s'enregistrant et en fournissant une image fixe du personnage qu'il souhaite animer.

Et cela ne se limite pas aux personnages d'animation. Elle fonctionne également pour les personnages cinématographiques et réalistes. Et nousous pouvons également créer un dialogue convaincant en créant plusieurs courtes vidéos des personnages qui s'expriment dans un sens ou dans l'autre et en les réunissant :

Source : Défilé

Je me suis filmé pour tester Runway Act-One

Explorons nous-mêmes Runway Act-One. Bien qu'un niveau gratuit soit disponible, offrant 125 crédits et des options de file d'attente, Act-One n'est pas inclus dans ce niveau et nécessite un abonnement.

Commencez par vous rendre sur la page de connexion de page de connexion de Runway et connectez-vous ou créez un compte. Ensuite, souscrivez à l'un des plans proposés. Il est important de noter que même avec un abonnement, il y a une limite au nombre de vidéos que nous pouvons générer. J'ai essayé l'abonnement mensuel de 15 $ qui m'a donné 625 crédits (plus les 125 crédits gratuits pour un total de 750 crédits).

Comment ouvrir Runway Act-One

Pour générer une vidéo avec Act-One, cliquez sur le bouton "Essayez maintenant" sur le tableau de bord.

Comment ouvrir l'interface web d'Act-One.

L'interface d'Act-One est relativement simple à utiliser. Dans l'image ci-dessous, vous pouvez voir que :

  1. En haut, nous sélectionnons la vidéo d'entraînement, qui est la vidéo utilisée pour piloter l'animation.
  2. En bas, nous sélectionnons l'image de référence du personnage que nous souhaitons animer.

Interface Runway ML Act-One avec téléchargement de vidéos et options de sélection de personnages.

Tester Runway Act-One en s'animant soi-même

Pour l'essayer, je me suis filmé en train de faire une grimace de surprise et j'ai essayé en utilisant la référence de leur personnage de chien.

Écran partagé montrant le visage d'une personne surprise à côté de celui d'un chien de dessin animé.

J'ai trouvé que la vidéo obtenue était tout juste acceptable. L'expression du visage n'est pas très prononcée, mais elle correspond à la mienne.

J'ai fait d'autres expériences avec le même personnage, et Runway Act-One ne m'a jamais impressionné. Dans certains cas, il n'y avait même pas d'expression du tout. Dans l'exemple ci-dessous, le chien n'a pas bougé du tout malgré mon expression faciale.

Échec de l'exemple de sortie.

Je ne suis pas un acteur, c'est peut-être là le problème. Cependant, si l'objectif d'Act-One est de permettre à n'importe qui d'animer des personnages, il reste encore beaucoup de chemin à parcourir avant qu'il ne soit réellement utilisable par toute personne n'ayant pas d'expérience dans l'industrie.

J'ai également constaté qu'il était impossible d'utiliser une image de personnage personnalisée. J'ai généré environ 10 personnages différents à l'aide de Dall-E 3, et Runway a échoué à chaque fois à trouver un visage. En voici un exemple :

Runway Act-One ne reconnaît pas encore les visages de dessins animés.

Cela m'indique que les exemples présentés sont triés sur le volet et que le modèle n'est pas prêt pour le grand public. Cependant, j'ai essayé avec des personnages humains et cela a fonctionné. Il se peut donc que le modèle ne prenne pas encore en charge les personnages animés personnalisés.

Voici un exemple avec un personnage humain :

Exemple d'Act-One utilisant des visages humains.

Le résultat obtenu avec un visage humain était bien meilleur, et je pensais que le résultat était plus fidèle. Cependant, ce cas d'utilisation semble avoir moins d'impact puisque nous pourrions simplement faire agir l'humain directement à la place.

Une note sur la tarification

La durée de la vidéo de sortie correspondra à celle de la vidéo d'entrée, et des crédits seront facturés en fonction de la durée de la vidéo.

Combiner Act-One et Runway Gen-3 Alpha

Plus tôt dans l'année, en juin, Runway ML a présenté son modèle Alpha Gen-3, qui crée des vidéos à partir d'une image fixe et d'un texte.

Comme Act-One se concentre sur les gros plans de visage, ces deux modèles se complètent. Act-One peut être utilisé pour créer des dialogues, tandis que Gen-3 Alpha peut générer les scènes entre les dialogues.

Générer une vidéo avec Gen-3 Alpha

Pour passer à la Gen-3 Alpha, cliquez sur l'icône "T" à gauche (#1 sur l'image ci-dessous).

Animer des images à l'aide de Gen-3 Alpha.

Les données d'entrée de ce modèle sont une image (#2) et une invite textuelle (#3). Runway suggère que l'invite textuelle suive ce format :

[camera movement]: [establishing scene]. [additional details].

Par exemple :

Low-angle static shot: The camera is angled up at a woman wearing all orange as she stands in a tropical rainforest with colorful flora. The dramatic sky is overcast and gray.

J'ai essayé d'animer une photo que j'ai prise récemment. Voici les entrées que j'ai utilisées :

Exemple d'entrée pour Gen-3 Alpha.

Et voici le résultat :

Vidéo générée avec la piste Gen-3 Alpha

J'ai apprécié le résultat. La lumière est belle lorsque le bateau s'éloigne du soleil, et le mouvement de l'eau est fluide.

Cependant, le résultat est très différent de ce que j'avais imaginé au départ. C'est certainement l'un des principaux problèmes des créateurs de vidéos : l'impossibilité de contrôler chaque détail d'une scène, ce qui est possible avec les méthodes traditionnelles de création de films. Si cette limitation persiste, les futurs réalisateurs utilisant l'IA pourraient se voir contraints d'utiliser des scènes générées par l'IA plutôt que d'être en mesure de réaliser leur vision originale.

Combinez avec les gros plans d'Act-One

Dans ce cas, nous pouvons combiner de manière créative trois clips vidéo distincts.

Tout d'abord, nous disposons d'une vidéo d'un bateau se déplaçant sur l'eau. Ce clip établit le cadre et fournit le contexte des actions suivantes.

Ensuite, nous pourrions avoir un gros plan d'un personnage debout sur le rivage, le regard fixé sur le bateau et exprimant un sentiment de nostalgie.

Enfin, nous avons une vidéo du bateau qui s'éloigne du rivage, vu du point de vue du personnage. Ce troisième clip donne une impression de mouvement et de progression.

Utiliser l'API Runway ML avec Python

Runway ML propose également une API pour utiliser ses modèles en dehors de l'interface web. Bien qu'il prenne en charge Gen-3 Alpha Turbo, il semble qu'Act-One ne soit pas encore disponible. Ce guide couvre les bases de l'utilisation de l'API, qui resteront inchangées une fois qu'Act-One sera disponible.

Création de la clé API

Pour commencer, nous devons créer un compte de développeur et générer une clé API.

Accédez à la la page du développeur et cliquez sur le bouton de connexion. Si vous n'avez pas de compte, vous pourrez en créer un.

Capture d'écran de la page développeur de Runway ML montrant le bouton de connexion.

Une fois le compte créé, accédez à la page "Clés API" et cliquez sur "Nouvelle clé API" :

Capture d'écran de la page développeur de Runway ML montrant la section des clés API.

Une fenêtre contextuelle s'ouvre pour vous demander le nom de la clé. Nous pouvons le laisser vide et cliquer sur "Créer".

Création de la clé API.

Ensuite, la clé est affichée et nous pouvons la copier. N'oubliez pas que, pour des raisons de sécurité, c'est la seule fois où la clé sera affichée, alors assurez-vous de la copier. S'il se perd pour une raison quelconque, nous pouvons toujours le supprimer et en créer un nouveau.

Copier la clé API.

Tarification

L'API Runway ML ne propose pas de version gratuite. Pour l'expérimenter, nous devons ajouter des crédits à notre compte. La tarification est identique à celle de l'interface web : 0,25 $ pour une vidéo de 5 secondes et 0,50 $ pour une vidéo de 10 secondes. 

Il est important de noter que les crédits API sont distincts de ceux d'un compte d'abonnement. Ces crédits ne peuvent donc pas être utilisés pour générer des vidéos via l'interface web et vice-versa. 

Mise en place

Runway ML fournit une bibliothèque Python appelée runwayml que nous devons installer pour interagir avec l'API. Pour l'installer, utilisez la commande :

pip install runwayml

Pour accéder à l'API, la clé de l'API doit être définie en tant que variable d'environnement nommée RUNWAYML_API_SECRET. Nous pouvons le faire à l'aide de la commande suivante :

export RUNWAYML_API_SECRET=api_key
```Replacing api_key with the key created above.
Generating a videoRecently, I took this photo of the night sky:

Source: Instagram @fran.a.photo
I wanted to try out runwayml to see if it could generate a time-lapse video from the photo. To generate a video from an image using the API, we:
Import and initialize RunwayML client. Note that we don’t need to provide the API key as it is automatically loaded from the environment variable we set up before.Call the image_to_video.create() method from the client, providing the name of the model, the image URL, and the prompt.Store the task into a variable and print its identifier so that we can retrieve the video later. This is important as it seems that their API doesn’t have any way to list the past tasks. Without it, we’ll pay the generation credits but won’t have a way to get our video.```python
from runwayml import RunwayML
url = "https://i.ibb.co/LC7Kfrq/Z72-5415.jpg"
client = RunwayML()
task = client.image_to_video.create(
  model="gen3a_turbo",
  prompt_image=url,
  prompt_text="Camera slowly zooms out: Astrophotography time-lapse featuring shooting stars.",
)
print(task.id)

Pour voir le résultat, nous devons attendre que la tâche soit terminée. Nous pouvons accéder au statut de la tâche en utilisant task.status. Le statut sera égal à la chaîne ”SUCCEEDED” une fois que la vidéo aura été générée avec succès.

Nous pouvons accéder à l'URL de la vidéo en utilisant task.output. Notez que ce champ est une liste de sorties. Par défaut, une seule vidéo est générée, l'URL de la vidéo sera donc task.output[0].

Voici un script simple qui imprime l'URL de la vidéo à partir de l'identifiant de la tâche :

from runwayml import RunwayML
task_id = "af0a95ed-b0ff-4120-aecd-2473d7a42891"
client = RunwayML()
task = client.tasks.retrieve(id=task_id)
if task.status == "SUCCEEDED":
  print(task.output[0])
else:
  print(f"Video not ready, status={task.status}")

Voici la vidéo que nous avons générée à partir de la photo :

Vidéo générée avec la piste Gen-3 Alpha

Une fois de plus, je m'attendais à ce que le résultat soit différent. J'aime la façon dont le ciel tourne, imitant un time-lapse nocturne. Cependant, les étoiles filantes sont très peu réalistes. Le premier plan devient également moins réaliste au fur et à mesure que la vidéo progresse. Les reflets sur l'eau constituent un détail intéressant.

Options avancées

Passons en revue les quelques options dont nous disposons lorsque nous générons des vidéos avec l'API. Pour plus de détails, consultez la page de documentation de Runway.

Runway ML prend en charge les vidéos d'une durée de 5 ou 10 secondes. Par défaut, il génère une vidéo de 10 secondes. Ce paramètre peut être défini à l'aide du paramètre duration, comme suit :

task = client.image_to_video.create(
  model="gen3a_turbo",
  prompt_image=url,
  prompt_text="Camera slowly zooms out: Astrophotography time-lapse featuring shooting stars.",
  duration=5,
)

Par défaut, les vidéos sont générées avec un format 16:9. Nous pouvons également le mettre en mode portrait en spécifiant un rapport d'aspect 9:16 à l'aide du paramètre ratio:

task = client.image_to_video.create(
  model="gen3a_turbo",
  prompt_image=url,
  prompt_text="Camera slowly zooms out: Astrophotography time-lapse featuring shooting stars.",
  ratio=”9:16”,
)

En ce qui concerne le modèle, il semble qu'à l'heure où nous écrivons ces lignes, le seul modèle disponible dans l'API soit gen3a_turbo.

Chargement d'une photo locale

Dans l'exemple ci-dessus, nous avons utilisé une URL d'image pour spécifier l'image que nous voulons utiliser. Nous pouvons également utiliser un fichier local sur notre ordinateur en le lisant comme un URI de données.

Vous trouverez ci-dessous une fonction Python qui utilise les paquets base64 et mimetypes pour ce faire. Ces deux paquets sont intégrés, il n'est donc pas nécessaire de les installer. 

def image_to_data_uri(image_path):
    mime_type, _ = mimetypes.guess_type(image_path)
    with open(image_path, "rb") as img_file:
        img_data = img_file.read()
    b64_encoded = base64.b64encode(img_data).decode("utf-8")
    data_uri = f"data:{mime_type};base64,{b64_encoded}"
    return data_uri

Voici un exemple de construction d'une requête utilisant la fonction image_to_data_uri() pour charger l'image :

task = client.image_to_video.create(
  model="gen3a_turbo",
  prompt_image=image_to_data_uri("nightsky.jpg"),
  prompt_text="Camera slowly zooms out: Astrophotography time-lapse featuring shooting stars.",
)

Conclusion

Dans cet article de blog, nous avons exploré Act-One de Runway ML, un outil conçu pour simplifier l'animation des personnages. Nous avons abordé ses fonctionnalités de base, la manière de l'utiliser via l'interface web et son intégration avec l'API Python. Nous avons également étudié le modèle Alpha Gen-3 de Runway pour générer des vidéos à partir d'images fixes.

Comme je l'ai mentionné précédemment, mes expériences personnelles avec Act-One n'ont pas été tout à fait à la hauteur des exemples soignés fournis par Runway ML. Les résultats n'ont pas eu la vivacité et l'expressivité que j'attendais, ce qui indique que le modèle est peut-être encore en cours de développement ou qu'il nécessite une contribution plus professionnelle. En outre, l'impossibilité d'utiliser des personnages animés personnalisés constituait un inconvénient majeur. 

Malgré ces limites, les projets Act-One et Gen-3 Alpha de Runway ML illustrent le potentiel passionnant de l'IA dans la création et l'animation vidéo. Si vous souhaitez en savoir plus sur la génération de vidéos par l'IA, je vous recommande ces articles de blog :


François Aubry's photo
Author
François Aubry
LinkedIn
L'enseignement a toujours été ma passion. Dès mes premiers jours d'études, j'ai cherché avec enthousiasme des occasions de donner des cours particuliers et d'aider d'autres étudiants. Cette passion m'a amenée à poursuivre un doctorat, où j'ai également été assistante d'enseignement pour soutenir mes efforts académiques. Au cours de ces années, j'ai trouvé un immense épanouissement dans le cadre d'une classe traditionnelle, en favorisant les liens et en facilitant l'apprentissage. Cependant, avec l'avènement des plateformes d'apprentissage en ligne, j'ai reconnu le potentiel de transformation de l'éducation numérique. En fait, j'ai participé activement au développement d'une telle plateforme dans notre université. Je suis profondément engagée dans l'intégration des principes d'enseignement traditionnels avec des méthodologies numériques innovantes. Ma passion est de créer des cours qui sont non seulement attrayants et instructifs, mais aussi accessibles aux apprenants à l'ère du numérique.
Sujets

Apprenez l'IA avec ces cours !

cursus

Principes de l'IA

10 heures hr
Découvrez les fondamentaux de l'IA, plongez dans des modèles comme ChatGPT et décodez les secrets de l'IA générative pour naviguer dans le paysage dynamique de l'IA.
Afficher les détailsRight Arrow
Commencer le cours
Certification disponible

cours

Comprendre la loi européenne sur l'IA

1 hr
2.3K
Rassemblez vos forces en matière d'intelligence artificielle ! Comprendre les obligations, les risques et les exigences de la loi européenne sur l'IA.
Voir plusRight Arrow