Aller au contenu principal
Page non répertoriée
Cette page n'est pas répertoriée. Les moteurs de recherche ne l'indexeront pas, et seuls les utilisateurs ayant un lien direct peuvent y accéder.

Des visuels clés avec Wan 3.0 (2) — Boucle vidéo et transition vers le logo avec FLF2V

· 11 minutes de lecture
AICU API Team
api.aicu.ai

Une suite d'images où le trophée posé sur le drap blanc se dissout dans la lumière pour devenir l'emblème de l'International AI Creator Award, formé de deux orbites qui se croisent

Dans (1), nous avons pris une seule photo de trophée comme première image et créé 10 teasers vidéo uniquement par le prompt. Dans (2), nous indiquons aussi la dernière image. On fixe le début et la fin, et on laisse le modèle créer ce qui se trouve entre les deux (FLF2V : First-Last-Frame to Video).

Nous avons réalisé trois choses : une boucle vidéo pouvant tourner en continu sur les écrans du lieu, une transition où le trophée se change en l'emblème du prix, et l'inverse, une ouverture. Pour finir, nous avons enchaîné les 3 vidéos en un teaser de 17 secondes.

Les conditions de cet article​

Modèlewan3.0-video, 720p, 5 secondes
EntréeLa même photo de trophée que dans (1), et une image de l'emblème du prix sur fond blanc
Génération3 vidéos (boucle, de la photo à l'emblème, de l'emblème à la photo). 21 000 AP au total, 111 à 132 secondes par vidéo
Post-traitementffmpeg (assemblage, fondu enchaîné, remplacement du logo). Sans frais

Appeler l'API​

On transmet les images en base64 dans first_frame et last_frame. Le reste est identique à (1).

curl -X POST https://api.aicu.ai/v1/video/generate \
-H "Authorization: Bearer $AICU_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"wan3.0-video\",
\"first_frame\": \"$(base64 -i trophy.jpg)\",
\"last_frame\": \"$(base64 -i logo-frame.jpg)\",
\"prompt\": \"The crystal trophy glows brighter and dissolves into streams of golden light ...\",
\"resolution\": \"720p\",
\"seconds\": 5
}"

Avec l'id renvoyé, interrogez GET /v1/video/status/{id} toutes les 10 secondes ; une fois l'état completed atteint, récupérez le mp4 avec GET /v1/video/file/{id} (détails dans Video API).

Vous pouvez aussi télécharger un script qui regroupe en une seule étape l'envoi d'une vidéo et sa réception. Il ne dépend que de la bibliothèque standard et, par défaut, se contente d'estimer le coût : wan-flf2v.py

curl -O https://api.aicu.ai/docs/samples/wan-teaser/wan-flf2v.py
python3 wan-flf2v.py --first trophy.jpg --last logo-frame.jpg --out to-logo.mp4 \
--prompt "The crystal trophy glows brighter and dissolves into streams of golden light ..." --apply

Les deux images doivent avoir la même taille. Ici, elles font toutes deux 1671×941.

Exemple 1 : boucle vidéo​

Transmettre la même image aux deux extrémités​

On transmet la même photo au début et à la fin, et on écrit dans le prompt que « ça bouge, puis ça revient à l'état initial ».

The white cloth ripples gently in the breeze and golden caustic light drifts slowly across it,
then everything settles back to exactly where it began. A soft lens flare pulses once at the tip
of the trophy. Fixed camera.

Bande d'images de la boucle vidéo. La lumière ondule sur le drap, un halo s'allume à la pointe, puis le cadrage initial revient

La première et la dernière image sont presque identiques, et même en lecture répétée le raccord est à peine perceptible (la vidéo ci-dessus est en lecture en boucle).

Comparaison avec les méthodes par post-traitement seul​

On peut aussi transformer une vidéo existante en boucle. Nous avons essayé avec la 03 de (1) (caméra fixe, éclat scintillant) et mesuré à quel point la première et la dernière image se ressemblent avec le PSNR (plus la valeur est élevée, plus elles se ressemblent).

MéthodeDuréePSNR du raccordUsage adapté
Répéter telle quelle la 03 de (1)5 secondes13.2 dBSaut nettement visible au raccord
Fondu enchaîné (superposer la dernière seconde au début)4 secondes31.9 dBMouvements sans forme définie, comme la lumière ou l'eau
Ping-pong (lecture puis lecture inversée)10 secondes35.5 dBMouvements lents. Ne convient pas aux mouvements dont l'inversion se remarque (eau qui coule, personne qui marche)
FLF2V (même image aux deux extrémités)5 secondes41.9 dBSi vous créez une nouvelle vidéo, c'est la plus naturelle

Le fondu enchaîné et le ping-pong se font avec ffmpeg.

# Fondu enchaîné : 1 à 5 s forment le corps, fondu vers 0 à 1 s pendant la dernière seconde (boucle de 4 secondes)
ffmpeg -i 03.mp4 -filter_complex "[0:v]split[a][b];[a]trim=1:5,setpts=PTS-STARTPTS[body];[b]trim=0:1,setpts=PTS-STARTPTS[head];[body][head]xfade=transition=fade:duration=1:offset=3,format=yuv420p[v]" -map "[v]" -an xfade-loop.mp4

# Ping-pong : enchaîner la lecture inversée après la lecture normale (10 secondes)
ffmpeg -i 03.mp4 -filter_complex "[0:v]split[f][r];[r]reverse[rv];[f][rv]concat=n=2:v=1[v]" -map "[v]" -an pingpong.mp4
Fondu enchaînéPing-pong

Utiliser la boucle vidéo​

Retirez le son (le -an des commandes ffmpeg ci-dessus). Wan 3.0 ajoute du son même sans instruction (voir (1)), mais si l'image se raccorde, le son, lui, se coupe au raccord. Diffusez la musique séparément, côté lieu ou côté diffusion.

Pour l'utiliser en fond de page web, ajoutez muted afin de permettre la lecture automatique.

<video src="loop.mp4" autoplay muted loop playsinline></video>

Pour la livrer en version longue à un affichage dynamique ou à un écran, faites-en un seul mp4 répété sur la durée voulue.

# Répéter la boucle de 5 secondes 60 fois = un fichier de 5 minutes (sans réencodage)
ffmpeg -stream_loop 59 -i loop.mp4 -c copy loop-5min.mp4

Exemple 2 : transition vers le logo​

La dernière image est le logo​

Comme dernière image, nous avons transmis une image avec l'emblème du prix au centre d'un fond blanc.

L&#39;emblème du prix, formé de deux orbites qui se croisent, au centre d&#39;un fond blanc

Lorsque vous utilisez un logo, respectez les règles de son propriétaire. Pour l'emblème de l'International AI Creator Award, il y en avait trois : le placer sur fond blanc, ne modifier ni les couleurs ni les proportions, ne pas laisser l'IA en changer la forme.

The crystal trophy glows brighter and dissolves into streams of golden light. The light swirls
into two glowing orbits around a small figure, and the background fades to clean white as the
emblem settles at the center. The camera slowly pushes in.

Bande d&#39;images de la photo vers l&#39;emblème. Le trophée brille, devient des filets de lumière qui se rassemblent en orbites pour former l&#39;emblème

Le trophée se dissout en filets de lumière qui se rassemblent en deux orbites pour former l'emblème. À un moment, pendant quelques images, l'emblème flotte en relief et projette une ombre, mais à la fin il retombe correctement sur l'image transmise.

Remplacer la dernière image par l'image d'origine​

Même s'il retombe correctement, la dernière image générée n'est pas l'image d'origine elle-même. À gauche, la dernière image générée ; à droite, l'image d'origine transmise.

À gauche : la dernière image générée. À droite : l&#39;image d&#39;origine. La forme est presque identique, mais le fond est légèrement crème et les couleurs diffèrent légèrement

La forme est presque identique, mais le fond a pris une légère teinte crème et les couleurs sont un peu décalées (PSNR 37.7 dB). Comme la règle du logo est de « ne pas laisser l'IA en changer la forme », nous fondons vers l'image d'origine pendant les 0,5 dernière seconde, puis la figeons 2 secondes. Que l'emblème se déforme dans les images intermédiaires est acceptable comme effet de mise en scène, mais ce qui apparaît à la fin doit être l'image d'origine.

# Fondu vers l'image d'origine (mise au même 1280x720 que la vidéo) pendant les 0,5 dernière seconde des 5 s générées, puis arrêt sur image de 2 s
ffmpeg -i to-logo.mp4 -loop 1 -t 2.5 -framerate 24 -i logo-1280x720.png -filter_complex \
"[0:v]fps=24,format=yuv420p,setsar=1[a];[1:v]format=yuv420p,setsar=1[b];[a][b]xfade=transition=fade:duration=0.5:offset=4.5[v];[0:a]apad=pad_dur=2,afade=t=out:st=5:d=2[au]" \
-map "[v]" -map "[au]" -c:v libx264 -pix_fmt yuv420p -c:a aac -shortest to-logo-final.mp4

Après remplacement, la dernière image atteint 42.1 dB par rapport à l'image d'origine (la différence restante est due à la compression mp4).

Exemple 3 : une ouverture qui commence par le logo​

En inversant le début et la fin, on obtient une ouverture qui part de l'emblème pour arriver à la photo. Ici aussi, nous montrons d'abord l'image d'origine pendant 1 seconde, avant de fondre vers la vidéo générée.

The emblem on the white background breaks into soft golden light. The light spreads across the
frame like silk, forming waves of white cloth, green trees appear behind, and the light gathers
into a crystal trophy standing in the sunlight. The camera slowly pulls out.

Bande d&#39;images de l&#39;emblème vers la photo. L&#39;emblème devient une bande de lumière, le drap et les arbres apparaissent, puis le trophée

Enchaîner les 3 vidéos en une seule​

Les 3 vidéos réalisées jusqu'ici ont des images d'extrémité concordantes. La fin de l'ouverture, le début et la fin de la boucle, le début de la transition : c'est à chaque fois la même photo du trophée. Un simple fondu enchaîné de 0,3 seconde suffit donc à les relier sans raccord visible.

ffmpeg -i from-logo-final.mp4 -i loop.mp4 -i to-logo-final.mp4 -filter_complex \
"[0:v]fps=24,format=yuv420p,setsar=1[a];[1:v]fps=24,format=yuv420p,setsar=1[b];[2:v]fps=24,format=yuv420p,setsar=1[c];[a][b]xfade=transition=fade:duration=0.3:offset=5.7[ab];[ab][c]xfade=transition=fade:duration=0.3:offset=10.4[v]" \
-map "[v]" -an chain.mp4

Emblème → trophée → scintillement de la lumière → emblème : 17 secondes. Le son a été retiré ; on termine en ajoutant une musique. En répétant plusieurs fois la boucle du milieu, on peut aussi ajuster librement la durée.

En fixant la première et la dernière image, on peut assembler comme des pièces des vidéos créées séparément. C'est l'aspect le plus pratique de FLF2V.

Ce que nous avons appris​

Résultat
BoucleTransmettre la même image aux deux extrémités est le plus naturel (raccord à 41.9 dB). En post-traitement : ping-pong (35.5 dB) ou fondu enchaîné (31.9 dB)
Son de la boucleIl se coupe au raccord, donc on le retire. La musique est diffusée séparément
Transition vers le logoLa dernière image retombe correctement, mais ce n'est pas l'image d'origine elle-même (37.7 dB). À la fin, on remplace par l'image d'origine
Assembler comme des piècesSi les images d'extrémité concordent, un court fondu enchaîné suffit à les relier

Récapitulatif des coûts​

3 générations (720p, 5 secondes)7 000 AP × 3 = 21 000 AP (environ 2,10 $)
Post-traitement (ffmpeg)0

Même en ajoutant les 10 vidéos de (1) (77 000 AP), le total est de 98 000 AP (environ 9,80 $).

⭐︎ Les prix sont ceux en vigueur à la publication (12 novembre 2026). Les tarifs actuels peuvent être vérifiés dans Tarifs et avec GET /v1/models.


Special Thanks to Alibaba Wan 3.0