GLM-5 pour l'orchestration des prompts d'images et de vidéos IA
Utilisez GLM-5 comme couche de raisonnement pour générer, affiner et enchaîner des prompts pour les modèles d'images et de vidéos sur WaveSpeed.
Salut, je m’appelle Dora. J’essayais de transformer une idée brute, « une tasse en céramique sobre sur une table en lin, lumière du matin », en un court clip produit. Les visuels étaient clairs dans ma tête. Les prompts, eux, ne l’étaient pas. Je passais constamment d’un outil image à un outil vidéo, puis à un outil d’upscaling, en réécrivant de petites phrases qui changeaient tout. J’avais l’impression de travailler par fragments.
J’ai essayé d’intégrer GLM-5 au milieu de ce chaos, non pas comme la star, mais comme la personne au tableau blanc. Mon objectif était simple : utiliser GLM-5 comme orchestrateur de prompts pour les modèles image et vidéo. La phrase que je gardais dans mes notes était « GLM-5 image video prompt », parce que c’est exactement le travail : prendre une description ordinaire et la transformer de manière fiable en prompts que les modèles en aval respectent.
Pourquoi un LLM performant est essentiel dans les pipelines image/vidéo
Je n’ai pas besoin d’un seul modèle qui fait tout. J’ai besoin d’un modèle qui s’exprime clairement, de la même façon, à chaque fois. C’est ce qui fait ou défait un pipeline visuel.
Avec les images et la vidéo, de petits mots changent les résultats de façon significative : la distance caméra, la longueur focale, les adjectifs de matière, et même l’ordre dans lequel ils apparaissent. Si vous avez déjà ajouté « lumière dorsale diffuse » en fin de prompt et vu toute l’atmosphère changer, vous connaissez ce sentiment.
Avant, je rédigeais chaque prompt manuellement pour chaque outil : un pour FLUX, un autre pour WAN, un troisième pour l’upscaler. Ça fonctionnait, mais ça ne passait pas à l’échelle et ça épuisait l’attention. Un LLM performant au centre fait trois choses pour moi :
- Normaliser le langage : transformer un brief informel en un schéma que chaque modèle comprend.
- Ajouter des garde-fous : contraindre le style et les spécifications techniques pour que les variations ne dérivent pas.
- Conserver la mémoire : transmettre les choix (caméra, palette, notes produit) d’un outil à l’autre sans que je les retape.
Il ne s’agit pas de gagner quelques minutes de frappe. Il s’agit d’économiser les petits jugements qui épuisent une session. Quand GLM-5 maintient la structure stable, je peux voir les changements clairement : ce qui a changé, et pourquoi.
GLM-5 comme orchestrateur de prompts
Je ne cherchais pas de fonctionnalités particulières. Je me suis simplement demandé : GLM-5 peut-il prendre ma description simple, la façonner pour le bon modèle, et tout mémoriser d’une étape à l’autre ? Voici ce que ça a donné en pratique.
Générer des prompts FLUX à partir de descriptions naturelles
Premier essai : donner à GLM-5 un brief court en langage naturel et lui demander un prompt prêt pour FLUX avec des champs explicites — sujet, caméra, éclairage, matières, arrière-plan, contraintes de couleur, négatifs. J’ai emprunté la structure aux notes du modèle FLUX et à quelques guides de prompts publics, puis j’ai volontairement rendu ça ennuyeux. L’ennui, c’est reproductible.
Une petite surprise : GLM-5 était doué pour inférer discrètement les détails manquants (par exemple, ajouter un équivalent 50 mm quand j’avais oublié de choisir la focale). Je lui ai demandé d’étiqueter ces hypothèses pour que je puisse les accepter ou les rejeter. Ça a réduit quelques allers-retours.
Ce qui s’est moins bien passé : GLM-5 avait parfois tendance à utiliser des adjectifs ornementaux que je ne voulais pas (« éthéré », « époustouflant »). J’ai ajouté une règle — « langage concret, axé photographie uniquement » — et le superflu a disparu.
Chaîne : prompt GLM-5 → vidéo WAN 2.5 → upscale
Une fois le prompt image stabilisé, j’ai demandé à GLM-5 de le traduire en prompt vidéo pour WAN 2.5. Le mapping n’était pas 1:1. La vidéo nécessite du mouvement, un timing et des contraintes que les prompts image ignorent. J’ai récupéré un template simple dans la documentation WAN et demandé à GLM-5 de le remplir : temps forts de mouvement, déplacement de caméra (ou immobilité), durée, actions du sujet, et notes de continuité pour que la première image corresponde au rendu image.
Deux observations de terrain :
- Si je laissais GLM-5 ajouter des mouvements de caméra par défaut, WAN 2.5 sur-animait parfois la scène. Bloquer le mouvement sur un seul axe ou le rendre statique donnait des boucles plus propres.
- La correspondance de la température de couleur entre l’image et la vidéo comptait plus que je ne le pensais. J’ai demandé à GLM-5 de transmettre une cible numérique de balance des blancs (par ex. 5200 K) entre les étapes.
Pour l’upscaling, je suis restée sobre et déterministe : prompt uniquement pour l’intention de texture (mat vs brillant), tolérance au bruit et biais d’accentuation. Des instructions simples ont donné moins d’artefacts.
Expansion de prompts en batch pour les tests A/B
C’est là que GLM-5 ressemblait le plus à un collègue. Je lui demandais de générer cinq micro-variations qui changeaient chacune exactement un paramètre : focale, texture de la table, heure de la journée ou plage de saturation. Pas de reformulation poétique. Juste un delta propre par variante. Il étiquetait chacune avec une raison et un risque prédit (par ex. « peut introduire des reflets spéculaires »).
Ça n’a pas économisé du temps au début — il fallait quand même trier le bon du mauvais. Mais dès le troisième batch, j’ai remarqué que l’effort mental était moindre. La structure rendait la comparaison honnête. Je pouvais vraiment voir quel choix l’emportait, et pas seulement quel prompt sonnait mieux.
Workflow agentique : GLM-5 planifie la génération multi-étapes
Je n’ai pas activé le « mode agent » et laissé faire. J’ai demandé à GLM-5 de planifier les étapes, vérifier les hypothèses, puis attendre ma validation. Une boucle simple : planifier → proposer des prompts → recevoir mes modifications → exécuter → résumer.
Il m’a été utile de donner à GLM-5 une petite liste de vérification dès le départ :
- Clarifier l’objectif en une phrase.
- Demander les inconnues (caméra, palette, mouvement).
- Produire des prompts de première passe pour l’image, puis les traduire en vidéo.
- Conserver un bloc de contraintes partagées : notes SKU produit, couleurs de marque, ratio d’aspect, mouvement maximal.
- Après chaque rendu, noter ce qui a changé et ce qu’il faut conserver.
Exemple : shooting produit → 5 angles → vidéo
J’ai essayé ça avec un shooting produit minimaliste : une tasse en céramique, table en lin, douce lumière matinale. La mission : cinq visuels depuis différents angles, puis une boucle de 6 à 8 secondes.
Ce que j’ai observé (février 2026, trois sessions) :
- Étape 1, Jeu d’angles : GLM-5 a proposé cinq angles de caméra avec des distances et hauteurs explicites (par ex. 1,2 m de hauteur, 0,6 m de recul, 35° vers le bas). Cette précision était importante. Elle maintenait la cohérence des compositions entre les variantes.
- Étape 2, Contrôle de texture : Pour le lin, GLM-5 a suggéré d’éviter une lumière latérale forte pour prévenir le moiré lors de l’upscaling. Ce n’était pas toujours juste, mais la prudence a sauvé une prise bruyante.
- Étape 3, Passage en vidéo : En passant à WAN 2.5, il a traité le visuel principal comme « frame zéro ». Il a transmis la focale, la balance des blancs et la compensation d’exposition. Moins de surprises.
- Étape 4, Passes de contrôle : Tous les deux rendus, GLM-5 résumait la dérive : « chaleur +6 %, ombres plus profondes, reflets introduits. » Ces petites notes facilitaient le choix du moment où s’arrêter.
Limites : je n’ai pas laissé GLM-5 choisir la musique ni les temps de rythme au-delà des notes de mouvement. Quand il essayait d’être « créatif », il ajoutait des gestes qui ne correspondaient pas au produit. La retenue fonctionnait mieux ici.
Comparaison de la qualité des prompts : résultats GLM-5 vs GLM-4.7
J’ai soumis la même description naturelle à GLM-4.7 et à GLM-5, puis utilisé les résultats tels quels. Pas un test en laboratoire, juste le genre d’essai que je ferais avant une échéance.
Brief utilisé : « Tasse en céramique sobre sur une table en lin, douce lumière matinale, palette neutre, sans marque. Propre, calme, fidèle à la réalité. »
Ce que j’ai observé :
- Discipline de structure : GLM-5 respectait le schéma plus souvent. GLM-4.7 dérivait vers des expressions stylistiques (« onirique », « élégant ») qui poussaient FLUX vers un look lifestyle. GLM-5 s’en tenait à la caméra, la lumière, les matières.
- Ancres numériques : GLM-5 proposait de modestes valeurs numériques par défaut (35 mm, f/4, 5200 K) et les étiquetait comme hypothèses. GLM-4.7 tendait à ignorer les chiffres sauf si on les demandait.
- Prompts négatifs : GLM-5 incluait des négatifs pratiques (« bokeh, reflets brillants, compression téléobjectif ») qui réduisaient les artefacts dans mes images de test. Les négatifs de GLM-4.7 étaient génériques.
- Traduction en vidéo : GLM-5 ajoutait un script de mouvement simple avec timing ; GLM-4.7 restituait essentiellement le prompt image avec « courte vidéo ». WAN 2.5 respectait davantage le timing de GLM-5.
Nuance : GLM-4.7 produisait parfois un prompt au son plus agréable qui, à mon avis, fonctionnait pour des moodboards. Si vous êtes en phase de conception, ce ton peut être utile. Mais pour une remise en production, je préférais la sobriété de GLM-5.
Ces observations m’ont donné des modèles de langage que GLM-5 pouvait répéter de manière fiable.
Exemple de code — pipeline complet avec le SDK WaveSpeed
Voici un exemple simplifié pour montrer la structure du workflow que j’ai utilisé. Remplacez les clés et les endpoints par les vôtres. J’ai exécuté une variation de ceci le 9 février 2026. Ce n’est pas élégant. C’est fiable.
# pip install wavespeed sdk hypothetical
from wavespeed import GLM5, Flux, WAN25, Upscaler
glm = GLM5(api_key=GLM5_KEY)
flux = Flux(api_key=FLUX_KEY)
wan = WAN25(api_key=WAN_KEY)
up = Upscaler(api_key=UPSCALE_KEY)
brief = {
"subject": "muted ceramic mug on a linen table",
"mood": "soft morning light, neutral palette",
"constraints": {"aspect_ratio": "4:5", "brand_colors": ["#E8E4DA", "#8D8A83"]}
}
# 1) Demander à GLM-5 de normaliser le brief pour FLUX
flux_prompt = glm.generate(
system="Return a FLUX-friendly prompt with fields: subject, camera, lighting, materials, background, color, negatives. "
"Photography-first, numeric where helpful, minimal adjectives. Label assumptions.",
user=brief,
format={
"type": "object",
"properties": {
"subject": {"type": "string"},
"camera": {"type": "object"},
"lighting": {"type": "object"},
"materials": {"type": "object"},
"background": {"type": "string"},
"color": {"type": "object"},
"negatives": {"type": "array", "items": {"type": "string"}},
"assumptions": {"type": "array"}
},
"required": ["subject", "camera", "lighting", "negatives"]
}
)
# 2) Rendu image
img = flux.generate_image(prompt=flux_prompt, seed=4217, steps=30, guidance=3.5)
# 3) Traduire en prompt vidéo WAN 2.5
wan_prompt = glm.generate(
system="Translate the FLUX prompt into a WAN 2.5 prompt. Include: duration 6-8s, motion beats, camera movement (static or gentle pan), "
"continuity with the image (lens, white balance), and a list of negatives.",
user={"flux_prompt": flux_prompt, "reference_frame": img.preview_url}
)
vid = wan.generate_video(prompt=wan_prompt, seed=4217, fps=24, duration=7)
# 4) Upscale avec accentuation et bruit contrôlés
final = up.enhance(
input=vid.keyframe(0),
noise_reduction="low",
sharpening="moderate",
texture_bias="matte"
)
# 5) Journal de dérive
drift = glm.generate(
system="Summarize differences between target brief and outputs. 3 bullets: warmth, contrast, motion.",
user={"brief": brief, "image": img.metrics, "video": vid.metrics}
)
print(drift)
Je garde les prompts LLM proches du code pour que moi-du-futur puisse comprendre pourquoi ces choix ont été faits. Si vous préférez des templates YAML, ça fonctionne aussi. L’important, c’est que GLM-5 renvoie des champs structurés que vous pouvez passer directement aux fonctions de rendu sans les modifier.
Quelques petits garde-fous qui ont aidé :
- Fixez tout avec des seeds jusqu’à obtenir le rendu de base souhaité. Ensuite, libérez les seeds uniquement là où vous voulez de la variation.
- Transmettez la balance des blancs sous forme de nombre, pas d’ambiance.
- Demandez à GLM-5 de lister ses hypothèses et laissez-vous la possibilité de les accepter ou de les rejeter avant le rendu.
Si votre stack n’utilise pas WaveSpeed, l’idée reste valable. Le LLM se place entre vos notes et les endpoints des modèles, traduit et tient les comptes.





