<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Antoine Laurent</title>
    <description>The latest articles on DEV Community by Antoine Laurent (@antoine_laurentt).</description>
    <link>https://dev.to/antoine_laurentt</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3820003%2Fa715e92b-d41a-4a32-8b32-8cf0b0c9b5c8.png</url>
      <title>DEV Community: Antoine Laurent</title>
      <link>https://dev.to/antoine_laurentt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/antoine_laurentt"/>
    <language>en</language>
    <item>
      <title>Gemini Omni 1.1 Flash : les nouveautés du modèle vidéo GA de Google</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Fri, 28 Aug 2026 08:47:02 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/gemini-omni-11-flash-les-nouveautes-du-modele-video-ga-de-google-2a0</link>
      <guid>https://dev.to/antoine_laurentt/gemini-omni-11-flash-les-nouveautes-du-modele-video-ga-de-google-2a0</guid>
      <description>&lt;p&gt;Google a rendu son modèle vidéo conversationnel généralement disponible le 27 août 2026. Son identifiant est &lt;code&gt;gemini-omni-1.1-flash&lt;/code&gt;. Il remplace le point de terminaison &lt;code&gt;gemini-omni-flash-preview&lt;/code&gt;, lancé en préversion publique le 30 juin. Si vous utilisez cette préversion, migrez avant le 30 septembre 2026 : Google &lt;a href="https://ai.google.dev/gemini-api/docs/changelog" rel="noopener noreferrer"&gt;désactivera alors le point de terminaison de préversion&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;La version GA apporte quatre nouveautés importantes pour la production : extension de scène jusqu’à 40 secondes, contrôle de la première et de la dernière image, mode brouillon 360p et mise à l’échelle 4K. Cet article couvre les capacités, les limites, le coût, les environnements disponibles et la migration depuis la préversion.&lt;/p&gt;

&lt;p&gt;Pour découvrir l’historique de la famille Omni et les raisons du développement d’un modèle vidéo orienté raisonnement, consultez &lt;a href="https://apidog.com/fr/blog/what-is-gemini-omni?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Qu’est-ce que Gemini Omni ?&lt;/a&gt;. La suite se concentre sur la version 1.1.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que fait Gemini Omni 1.1 Flash
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blog.google/innovation-and-ai/technology/developers-tools/build-with-gemini-omni-1-1-flash/" rel="noopener noreferrer"&gt;Omni 1.1 Flash&lt;/a&gt; accepte du texte, des images et des vidéos en entrée, puis génère une vidéo. Il s’exécute via l’API Interactions, et non &lt;code&gt;generateContent&lt;/code&gt;. Cette interface permet d’envoyer des requêtes de suivi dans la même interaction : vous pouvez donc modifier une vidéo générée sans la télécharger à nouveau.&lt;/p&gt;

&lt;p&gt;Les cinq tâches prises en charge sont :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Texte vers vidéo&lt;/strong&gt; : générer un clip à partir d’une invite.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image vers vidéo&lt;/strong&gt; : utiliser une image comme première image ou comme référence stylistique.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Référence vers vidéo&lt;/strong&gt; : utiliser jusqu’à trois clips de référence de trois secondes pour guider le mouvement, l’apparence et la cohérence des personnages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modifier&lt;/strong&gt; : transformer une vidéo déjà générée dans une interaction conversationnelle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Étendre&lt;/strong&gt; : ajouter 10 secondes à la fin d’un clip.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’audio des clips de référence est ignoré. Le modèle les analyse uniquement pour le mouvement et l’apparence.&lt;/p&gt;

&lt;h2&gt;
  
  
  Étendre une scène avec 10 secondes de contexte
&lt;/h2&gt;

&lt;p&gt;La principale amélioration concerne l’extension de scène. La préversion n’analysait que la dernière seconde du clip. Cela suffisait à conserver une palette de couleurs, mais pas la continuité des personnages ou des mouvements de caméra.&lt;/p&gt;

&lt;p&gt;Omni 1.1 analyse jusqu’à 10 secondes de contexte antérieur, ce qui améliore la &lt;a href="https://blog.google/innovation-and-ai/technology/developers-tools/build-with-gemini-omni-1-1-flash/" rel="noopener noreferrer"&gt;cohérence visuelle et l’adhérence narrative&lt;/a&gt;. Vous pouvez ajouter des segments de 10 secondes, jusqu’à une durée cumulative de 40 secondes.&lt;/p&gt;

&lt;p&gt;À retenir :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l’extension se fait uniquement à la fin du clip ;&lt;/li&gt;
&lt;li&gt;vous ne pouvez pas insérer une séquence au milieu ni en ajouter au début ;&lt;/li&gt;
&lt;li&gt;une vidéo téléchargée est limitée à 10 secondes en entrée ;&lt;/li&gt;
&lt;li&gt;dans une interaction multi-tour, l’état précédent est conservé.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le &lt;a href="https://apidog.com/fr/blog/gemini-omni-scene-extension-40-seconds?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’extension de scène jusqu’à 40 secondes&lt;/a&gt; détaille la structure des requêtes et les points où les raccords peuvent apparaître.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contrôler la première et la dernière image
&lt;/h2&gt;

&lt;p&gt;Vous pouvez désormais fournir une image de départ, une image de fin et une invite décrivant le mouvement entre les deux. Le modèle génère la séquence intermédiaire.&lt;/p&gt;

&lt;p&gt;Cette fonction convient notamment aux :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;orbites de caméra ;&lt;/li&gt;
&lt;li&gt;transitions avec zoom ;&lt;/li&gt;
&lt;li&gt;clips en boucle ;&lt;/li&gt;
&lt;li&gt;animations reliant deux états visuels précis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour un produit vidéo, cette approche est plus prévisible que le texte vers vidéo seul. Deux images fixes définissent les contraintes de départ et d’arrivée ; le modèle n’a plus qu’à résoudre la transition.&lt;/p&gt;

&lt;h2&gt;
  
  
  Le mode brouillon 360p réduit le coût d’itération
&lt;/h2&gt;

&lt;p&gt;Omni 1.1 génère des prévisualisations 360p jusqu’à 60 % plus rapidement que le 720p, pour un tiers du coût. Le flux de travail recommandé est simple :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;tester les invites en 360p ;&lt;/li&gt;
&lt;li&gt;sélectionner la version satisfaisante ;&lt;/li&gt;
&lt;li&gt;générer la sortie finale en 720p, 1080p ou 4K.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;La génération vidéo étant facturée à la seconde, cette approche évite de payer le prix fort pour des essais qui seront abandonnés. La &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;répartition complète des prix&lt;/a&gt; détaille le calcul par seconde.&lt;/p&gt;

&lt;p&gt;La résolution se définit dans le format de réponse. Les sorties &lt;code&gt;1080p&lt;/code&gt; et &lt;code&gt;4k&lt;/code&gt; sont des mises à l’échelle des images générées, et non des rendus natifs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Où utiliser Omni 1.1 Flash
&lt;/h2&gt;

&lt;p&gt;Le modèle est disponible via :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l’API Gemini dans &lt;a href="https://aistudio.google.com" rel="noopener noreferrer"&gt;Google AI Studio&lt;/a&gt; ;&lt;/li&gt;
&lt;li&gt;l’API Gemini Enterprise Agent Platform ;&lt;/li&gt;
&lt;li&gt;Google Flow, pour les abonnés AI Plus, Pro et Ultra ;&lt;/li&gt;
&lt;li&gt;l’application Gemini, notamment pour l’extension de scène.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Google a également annoncé des partenaires qui utilisent le modèle dans leurs produits : Adobe Firefly, Figma Weave, Runway et GMI Cloud.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pas de niveau gratuit sur l’API
&lt;/h3&gt;

&lt;p&gt;Contrairement aux modèles texte Flash, pour lesquels &lt;a href="https://apidog.com/fr/blog/how-to-use-gemini-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;AI Studio propose une offre gratuite à débit limité&lt;/a&gt;, Omni est facturé dès la première requête. Chaque seconde de vidéo générée est payante.&lt;/p&gt;

&lt;p&gt;Le modèle est gratuit sur YouTube Shorts et YouTube Create, mais ces produits disposent de limites distinctes. Le &lt;a href="https://apidog.com/fr/blog/how-to-use-gemini-omni-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;récapitulatif des accès gratuits&lt;/a&gt; compare les différentes options.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limites à vérifier avant l’intégration
&lt;/h2&gt;

&lt;p&gt;Avant de construire une fonctionnalité autour du modèle, vérifiez les points suivants :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Paramètres de génération limités&lt;/strong&gt; : les instructions système, &lt;code&gt;temperature&lt;/code&gt;, &lt;code&gt;top_p&lt;/code&gt;, les séquences d’arrêt et les invites négatives ne sont pas pris en charge. Pour exclure un élément, indiquez-le dans l’invite standard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restrictions régionales&lt;/strong&gt; : le téléchargement et l’édition de vidéos ne sont pas disponibles dans l’Espace économique européen, en Suisse et au Royaume-Uni. L’édition d’images contenant des mineurs est également restreinte. Les vidéos générées par le modèle restent modifiables dans ces régions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personnes reconnaissables&lt;/strong&gt; : la modification de certains individus identifiables est bloquée.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dialogue sur une vidéo téléchargée&lt;/strong&gt; : vous pouvez étendre silencieusement un clip téléchargé ou travailler dans une interaction multi-tour, mais vous ne pouvez pas ajouter de dialogue en étendant la vidéo d’une autre personne.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Une seule vidéo pour le raisonnement&lt;/strong&gt; : le modèle ne raisonne pas sur plusieurs vidéos d’entrée.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Langues&lt;/strong&gt; : l’anglais est entièrement pris en charge. Google indique que les autres langues ne sont pas testées.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chaque sortie contient un &lt;a href="https://deepmind.google/technologies/synthid/" rel="noopener noreferrer"&gt;filigrane SynthID&lt;/a&gt; invisible à l’œil nu et détectable par programmation. Tenez-en compte si votre produit revendique une provenance vérifiable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Omni 1.1 Flash ou Veo 3.1 ?
&lt;/h2&gt;

&lt;p&gt;Google propose désormais deux familles de génération vidéo accessibles avec la même clé API :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Veo 3.1&lt;/strong&gt; : rendu cinématographique avec génération audio native ;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Omni 1.1 Flash&lt;/strong&gt; : modèle vidéo conversationnel conçu pour les interactions multi-tour et les modifications successives.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Une seconde de vidéo Omni en 720p coûte environ un quart du prix d’une seconde standard de Veo 3.1. Veo ne propose pas d’équivalent à la boucle d’édition multi-tour d’Omni.&lt;/p&gt;

&lt;p&gt;La &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash-vs-veo-3-1?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparaison entre Gemini Omni 1.1 Flash et Veo 3.1&lt;/a&gt; présente les cas d’utilisation adaptés à chaque modèle. Si vous utilisez déjà Veo, consultez le &lt;a href="https://apidog.com/fr/blog/veo-3-1-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’API Veo 3.1&lt;/a&gt; : cette version ne le déprécie pas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Migrer depuis &lt;code&gt;gemini-omni-flash-preview&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Toute intégration utilisant &lt;code&gt;gemini-omni-flash-preview&lt;/code&gt; cessera de fonctionner après le 30 septembre 2026. Dans la plupart des cas, la migration consiste à remplacer l’identifiant du modèle :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gemini-omni-flash-preview
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;par :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gemini-omni-1.1-flash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Vérifiez cependant les deux points suivants.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Résolution par défaut
&lt;/h3&gt;

&lt;p&gt;Le 720p est désormais la résolution par défaut. Les options 360p et 4K sont nouvelles. Si votre application suppose une taille de sortie fixe, inspectez la réponse réelle avant de déployer.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Format de la réponse
&lt;/h3&gt;

&lt;p&gt;Les vidéos de plus de 4 Mo sont renvoyées sous forme d’URI plutôt que dans un champ base64 intégré. Un gestionnaire qui ne lit que &lt;code&gt;output_video.data&lt;/code&gt; peut donc sembler ne rien recevoir lorsque vous augmentez la résolution.&lt;/p&gt;

&lt;p&gt;Pour comparer les deux versions :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;enregistrez la requête dans un client API ;&lt;/li&gt;
&lt;li&gt;placez l’identifiant du modèle dans une variable d’environnement ;&lt;/li&gt;
&lt;li&gt;exécutez la même requête avec les deux modèles ;&lt;/li&gt;
&lt;li&gt;comparez la résolution et le format de la réponse ;&lt;/li&gt;
&lt;li&gt;basculez vers la version GA après validation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; facilite ce test : conservez une requête enregistrée, changez d’environnement et comparez les réponses. Le &lt;a href="https://apidog.com/fr/blog/how-to-use-gemini-omni-1-1-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’API Gemini Omni 1.1 Flash&lt;/a&gt; décrit la procédure complète.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Quel est l’identifiant de Gemini Omni 1.1 Flash ?
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;gemini-omni-1.1-flash&lt;/code&gt;. L’identifiant de préversion supprimé le 30 septembre 2026 est &lt;code&gt;gemini-omni-flash-preview&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quand Gemini Omni 1.1 Flash est-il sorti ?
&lt;/h3&gt;

&lt;p&gt;Le 27 août 2026, en disponibilité générale. La préversion avait été lancée le 30 juin 2026.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini Omni 1.1 Flash est-il gratuit ?
&lt;/h3&gt;

&lt;p&gt;Non. Il n’existe pas de niveau gratuit pour Omni et chaque génération est facturée. Les modèles texte, comme &lt;a href="https://apidog.com/fr/blog/what-is-gemini-3-6-flash?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3.6 Flash&lt;/a&gt;, disposent toujours d’une voie gratuite dans AI Studio.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quelle est la durée maximale d’une vidéo Gemini Omni ?
&lt;/h3&gt;

&lt;p&gt;Un clip initial dure 10 secondes. L’extension ajoute des segments de 10 secondes, jusqu’à un total de 40 secondes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini Omni génère-t-il de l’audio ?
&lt;/h3&gt;

&lt;p&gt;La documentation couvre la sortie vidéo et précise que l’audio des clips de référence est ignoré. Veo 3.1 est le modèle avec génération audio native. Si le son est essentiel, commencez par le &lt;a href="https://apidog.com/fr/blog/veo-3-1-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’API Veo 3.1&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Puis-je modifier une vidéo filmée avec mon propre appareil ?
&lt;/h3&gt;

&lt;p&gt;Oui, pour une vidéo d’entrée de 10 secondes maximum, hors Espace économique européen, Suisse et Royaume-Uni. Téléchargez la vidéo avec l’API Files et transmettez son URI au modèle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Omni 1.1 Flash est la première version de la famille qui semble prête pour une intégration en production. L’extension de scène améliore la continuité, les images clés rendent les transitions plus prévisibles et le mode brouillon 360p rend les itérations abordables.&lt;/p&gt;

&lt;p&gt;Configurez une requête enregistrée avec l’identifiant GA, testez chaque résolution utilisée par votre application et migrez avant la fin septembre. &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt; pour conserver cette vérification dans votre workflow.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Comment prolonger une vidéo jusqu'à 40 secondes avec Gemini Omni 1.1 Flash</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Fri, 28 Aug 2026 08:34:26 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/comment-prolonger-une-video-jusqua-40-secondes-avec-gemini-omni-11-flash-go4</link>
      <guid>https://dev.to/antoine_laurentt/comment-prolonger-une-video-jusqua-40-secondes-avec-gemini-omni-11-flash-go4</guid>
      <description>&lt;p&gt;Gemini Omni 1.1 Flash génère des clips de 10 secondes. L’extension de scène permet d’aller plus loin : chaque appel ajoute 10 secondes, jusqu’à une durée cumulée maximale de 40 secondes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Le mécanisme existait déjà dans le modèle d’aperçu, mais il exploitait seulement la dernière seconde de la séquence. Les couleurs restaient relativement cohérentes, mais les vêtements changeaient et les mouvements de caméra se réinitialisaient. La &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;version GA du 27 août 2026&lt;/a&gt; utilise désormais 10 secondes de contexte précédent, ce qui améliore la &lt;a href="https://blog.google/innovation-and-ai/technology/developers-tools/build-with-gemini-omni-1-1-flash/" rel="noopener noreferrer"&gt;cohérence visuelle et l’adhésion narrative&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ce guide montre comment appeler l’extension, quelles sont ses limites et comment éviter qu’une séquence de 40 secondes ne dérive au troisième segment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Appeler une extension
&lt;/h2&gt;

&lt;p&gt;L’extension utilise l’API Files : téléchargez le clip, puis fournissez son URI avec une invite décrivant la suite de la scène.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;base64&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;video_file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;upload&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;my_video.mp4&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;interaction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-omni-1.1-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;document&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;uri&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;video_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;uri&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Continue the scene.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;extended.mp4&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;wb&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base64&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;b64decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;interaction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;output_video&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le traitement du fichier est asynchrone. Attendez donc qu’il soit prêt avant de créer l’interaction :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;

&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;video_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;state&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;PROCESSING&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;video_file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;video_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;video_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;state&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;FAILED&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;ValueError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;video_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si la vidéo provient d’Omni dans la même session, utilisez plutôt l’ID de l’interaction précédente. Cette méthode coûte moins de jetons et conserve davantage de contexte :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;res2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-omni-1.1-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;previous_interaction_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;res1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The camera pulls back to reveal the whole street.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le &lt;a href="https://apidog.com/fr/blog/how-to-use-gemini-omni-1-1-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;tutoriel de l’API&lt;/a&gt; détaille les options de résolution et de livraison.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ajouter un personnage à une extension
&lt;/h2&gt;

&lt;p&gt;Vous pouvez joindre des médias de référence et les cibler dans l’invite. Les fichiers sont accessibles via des emplacements tels que &lt;code&gt;&amp;lt;IMAGE_REF_0&amp;gt;&lt;/code&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;video_file&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;upload&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;my_video.mp4&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;character_img&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;upload&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;character.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;interaction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-omni-1.1-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;document&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;uri&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;video_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;uri&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;document&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;uri&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;character_img&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;uri&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Extend this video: have the character shown in &amp;lt;IMAGE_REF_0&amp;gt; enter the scene and wave.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Les références vidéo sont également prises en charge, avec une limite de trois clips de trois secondes. Elles servent à transmettre le mouvement et l’apparence ; leur audio est ignoré.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limites à prendre en compte
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;40 secondes maximum&lt;/strong&gt; : une génération initiale de 10 secondes, suivie de trois extensions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ajout en fin de clip uniquement&lt;/strong&gt; : impossible d’insérer une séquence au début ou au milieu. Si le segment deux est incorrect, il faut le régénérer ainsi que tous les segments suivants.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;10 secondes pour une vidéo téléchargée&lt;/strong&gt; : cette limite concerne l’entrée envoyée via l’API Files. Les chaînes utilisant &lt;code&gt;previous_interaction_id&lt;/code&gt; ne sont pas concernées.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pas de dialogue avec les téléchargements étendus&lt;/strong&gt; : vous pouvez étendre silencieusement une vidéo téléchargée, mais pas ajouter de dialogue pendant cette extension.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restrictions régionales&lt;/strong&gt; : le téléchargement et l’édition vidéo ne sont pas disponibles dans l’EEE, en Suisse ni au Royaume-Uni. Les vidéos générées par le modèle restent extensibles dans ces régions avec &lt;code&gt;previous_interaction_id&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Une seule vidéo d’entrée&lt;/strong&gt; : le modèle ne raisonne pas sur plusieurs vidéos simultanément.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prototyper l’arc complet avant le rendu final
&lt;/h2&gt;

&lt;p&gt;Une séquence de 40 secondes en 720p coûte environ 4,06 $ en sortie vidéo. Si l’histoire dérive au troisième segment, vous devrez souvent régénérer les segments trois et quatre, avec le risque de modifier une partie qui fonctionnait déjà.&lt;/p&gt;

&lt;p&gt;Commencez par un prototype en 360p. Cette résolution est générée jusqu’à 60 % plus rapidement et coûte environ un tiers du prix : les quatre segments reviennent alors à environ 1,35 $. Une fois l’arc validé, relancez-le en 720p ou dans une résolution supérieure. Consultez l’&lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;article sur les tarifs&lt;/a&gt; pour le détail du calcul.&lt;/p&gt;

&lt;p&gt;Définissez la résolution dans le format de réponse :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;interaction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-omni-1.1-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;document&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;uri&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;video_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;uri&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Continue the scene.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="n"&gt;response_format&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;video&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;resolution&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;360p&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Écrire des invites cohérentes sur quatre segments
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Décrire le changement
&lt;/h3&gt;

&lt;p&gt;Le modèle dispose déjà de 10 secondes de contexte. Décrivez donc l’action suivante plutôt que toute la scène :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;La caméra zoome sur la porte.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Une nouvelle description complète du décor pourrait pousser le modèle à réinterpréter ce qui est déjà à l’écran.&lt;/p&gt;

&lt;h3&gt;
  
  
  Limiter chaque segment à un mouvement
&lt;/h3&gt;

&lt;p&gt;Une extension qui demande deux actions risque de les précipiter toutes les deux. Pour dix secondes, prévoyez une seule action principale.&lt;/p&gt;

&lt;h3&gt;
  
  
  Utiliser des ancres de continuité
&lt;/h3&gt;

&lt;p&gt;Indiquez explicitement ce qui doit rester identique, par exemple :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;« la même veste rouge » ;&lt;/li&gt;
&lt;li&gt;« le même angle de caméra en plongée » ;&lt;/li&gt;
&lt;li&gt;« le même éclairage ».&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ces ancres donnent au modèle des éléments stables à conserver au raccord.&lt;/p&gt;

&lt;h3&gt;
  
  
  Planifier dans l’ordre de lecture
&lt;/h3&gt;

&lt;p&gt;L’extension ne fonctionne que vers l’avant. Organisez donc la séquence dans son ordre définitif : corriger le début après coup implique de régénérer tout ce qui suit.&lt;/p&gt;

&lt;p&gt;Le &lt;a href="https://apidog.com/fr/blog/google-veo-3-prompt-theory?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide d’invite de Veo&lt;/a&gt; présente des principes également utiles pour les modèles vidéo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tester chaque extension
&lt;/h2&gt;

&lt;p&gt;Une chaîne de quatre appels crée quatre points de rupture possibles. Enregistrez chaque étape comme une requête distincte dans &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;, et stockez l’URI du fichier ainsi que l’ID d’interaction dans des variables d’environnement. Vous pourrez ainsi rejouer un segment précis sans reconstruire toute la chaîne.&lt;/p&gt;

&lt;p&gt;Vérifiez également la forme de la réponse : une extension haute résolution peut dépasser 4 Mo et remplacer une vidéo base64 inline par un URI. Prévoyez un délai d’attente supérieur à celui de la génération initiale, car le modèle doit d’abord lire les 10 secondes de contexte.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt; Téléchargez Apidog&lt;/a&gt; pour configurer ce harnais de test.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Quelle est la durée maximale d’une vidéo Gemini Omni ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
40 secondes : une génération initiale de 10 secondes, puis trois extensions de 10 secondes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Puis-je étendre une vidéo que j’ai filmée moi-même ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui, jusqu’à 10 secondes d’entrée, hors EEE, Suisse et Royaume-Uni. Téléchargez-la avec l’API Files et transmettez son URI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Puis-je ajouter une séquence au début d’un clip ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Non. L’extension ajoute uniquement du contenu à la fin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pourquoi mon personnage change-t-il d’apparence entre les segments ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
L’invite redécrit peut-être la scène au lieu de décrire uniquement le changement, ou l’ancre de continuité est trop vague. Indiquez ce qui doit rester identique et utilisez éventuellement une image de personnage comme référence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chaque extension coûte-t-elle plus cher ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui. Chaque appel facture ses 10 secondes de sortie vidéo ainsi que les jetons d’entrée correspondant au contexte lu.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Que faire si j’ai besoin de plus de 40 secondes ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Veo 3.1 étend les vidéos par tranches de 7 secondes, jusqu’à 148 secondes, uniquement en 720p. Consultez la &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash-vs-veo-3-1?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparaison des modèles&lt;/a&gt; et le &lt;a href="https://apidog.com/fr/blog/veo-3-1-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’API Veo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;L’extension de scène transforme Omni d’une démonstration en outil exploitable, à condition de planifier correctement. Découpez votre scénario en quatre actions, prototypez l’arc complet en 360p, limitez chaque invite à un mouvement et ne passez en 720p qu’une fois la séquence validée.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Comment utiliser Gemini Omni gratuitement (restrictions géographiques)</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Fri, 28 Aug 2026 08:29:10 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/comment-utiliser-gemini-omni-gratuitement-restrictions-geographiques-13e5</link>
      <guid>https://dev.to/antoine_laurentt/comment-utiliser-gemini-omni-gratuitement-restrictions-geographiques-13e5</guid>
      <description>&lt;h1&gt;
  
  
  Gemini Omni est-il gratuit ? Les vraies options en 2026
&lt;/h1&gt;

&lt;p&gt;L'API Gemini Omni n'est pas gratuite. Il n'existe ni niveau gratuit, ni crédits d'essai, ni offre de loisir à débit limité. Chaque seconde de vidéo générée avec &lt;code&gt;gemini-omni-1.1-flash&lt;/code&gt; est facturée dès la première requête, à environ 0,10 $ par seconde pour une sortie en 720p.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd'hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Cela rompt avec le modèle établi par le reste de la famille Gemini. La &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;version GA&lt;/a&gt; propose notamment l'extension de scène sur 40 secondes, le contrôle des images clés et une ébauche économique en 360p. En revanche, aucune voie gratuite n'est disponible.&lt;/p&gt;

&lt;p&gt;Les modèles de texte de Google proposent un niveau gratuit à débit limité via AI Studio. Beaucoup de développeurs supposent donc que la vidéo fonctionne de la même manière. Ce n'est pas le cas.&lt;/p&gt;

&lt;p&gt;Il existe toutefois deux façons d'utiliser le modèle sans le payer, dont une sans carte bancaire. L'API n'en fait pas partie.&lt;/p&gt;

&lt;h2&gt;
  
  
  Voie gratuite 1 : YouTube Shorts et YouTube Create
&lt;/h2&gt;

&lt;p&gt;C'est la véritable option gratuite. Lorsque Google a &lt;a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-omni/" rel="noopener noreferrer"&gt;présenté Gemini Omni&lt;/a&gt;, l'entreprise a indiqué que le modèle était « déployé gratuitement pour les utilisateurs de YouTube Shorts et de l'application YouTube Create ».&lt;/p&gt;

&lt;p&gt;Dans Shorts, Gemini Omni fonctionne via Remix :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sélectionnez un Short éligible.&lt;/li&gt;
&lt;li&gt;Décrivez la modification souhaitée, par exemple l'ajout de votre image ou d'une référence visuelle.&lt;/li&gt;
&lt;li&gt;Générez une nouvelle version.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Aucun abonnement, paramètre de facturation ou clé API n'est nécessaire.&lt;/p&gt;

&lt;p&gt;La principale limite est régionale. YouTube Create est une application mobile disponible dans un nombre limité de pays. Vérifiez sa disponibilité dans votre région avant de l'inclure dans votre workflow.&lt;/p&gt;

&lt;p&gt;Il s'agit également d'une interface grand public : un clip à la fois, sans script, traitement par lots ni intégration dans un pipeline. C'est une bonne option pour tester le modèle, mais pas pour construire une fonctionnalité automatisée.&lt;/p&gt;

&lt;h2&gt;
  
  
  Voie gratuite 2 : l'offre étudiante
&lt;/h2&gt;

&lt;p&gt;Google propose aux étudiants universitaires éligibles &lt;a href="https://blog.google/innovation-and-ai/products/gemini-app/student-offer-google-ai/" rel="noopener noreferrer"&gt;12 mois d'un plan Google AI sans frais&lt;/a&gt;. En dehors des États-Unis, il s'agit de Google AI Plus ; aux États-Unis, de Google AI Pro. La description du plan mentionne directement l'accès à Gemini Omni.&lt;/p&gt;

&lt;p&gt;Vérifiez les conditions avant de vous inscrire :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vous devez avoir au moins 18 ans, être étudiant et résider dans un pays où l'offre est disponible.&lt;/li&gt;
&lt;li&gt;Votre statut étudiant est vérifié via SheerID.&lt;/li&gt;
&lt;li&gt;Une méthode de paiement valide est requise lors de l'inscription.&lt;/li&gt;
&lt;li&gt;L'activation doit être effectuée avant le 31 décembre 2026.&lt;/li&gt;
&lt;li&gt;L'offre est renouvelée automatiquement sous la forme d'un plan payant, sauf annulation préalable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le dernier point est essentiel : l'accès est gratuit pendant douze mois, mais votre carte est déjà enregistrée. Programmez un rappel pour le onzième mois.&lt;/p&gt;

&lt;p&gt;Cette offre donne accès à Omni dans l'application Gemini et Google Flow, avec une interface plus complète que YouTube Remix. Elle ne donne toujours pas accès à l'API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qu'en est-il des crédits API gratuits ?
&lt;/h2&gt;

&lt;p&gt;Plusieurs sites affirment le contraire, mais le niveau gratuit de l'API Gemini couvre uniquement les modèles de texte. Omni et Veo n'en font pas partie.&lt;/p&gt;

&lt;p&gt;La &lt;a href="https://ai.google.dev/gemini-api/docs/pricing" rel="noopener noreferrer"&gt;page tarifaire&lt;/a&gt; n'indique aucun niveau gratuit pour Omni. Les niveaux à débit limité qui encadrent l'utilisation gratuite n'incluent pas les modèles de génération vidéo.&lt;/p&gt;

&lt;p&gt;Pour utiliser Omni de manière programmatique, vous devez activer la facturation. Le &lt;a href="https://apidog.com/fr/blog/how-to-use-gemini-omni-1-1-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l'API&lt;/a&gt; détaille la configuration, mais votre première requête de test sera facturée.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que les offres payantes apportent réellement
&lt;/h2&gt;

&lt;p&gt;Pour un travail exploratoire, un abonnement peut coûter moins cher que l'API : vous payez un montant mensuel fixe plutôt qu'un tarif à la seconde.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Interface&lt;/th&gt;
&lt;th&gt;Accès&lt;/th&gt;
&lt;th&gt;Coût&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;YouTube Shorts Remix, YouTube Create&lt;/td&gt;
&lt;td&gt;Gratuit&lt;/td&gt;
&lt;td&gt;0 $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Application Gemini, Google Flow&lt;/td&gt;
&lt;td&gt;Google AI Plus, Pro ou Ultra&lt;/td&gt;
&lt;td&gt;Abonnement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API Gemini&lt;/td&gt;
&lt;td&gt;Facturation activée, paiement par seconde&lt;/td&gt;
&lt;td&gt;Environ 0,10 $/s en 720p&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Google a modifié ses limites d'abonnement vers un modèle basé sur le calcul à l'I/O 2026. Votre quota se rafraîchit toutes les cinq heures jusqu'à atteindre un plafond hebdomadaire. Les abonnés Pro et Ultra peuvent acheter des crédits supplémentaires.&lt;/p&gt;

&lt;p&gt;AI Ultra coûte 100 $ et 200 $ par mois selon le niveau. L'extension de scène dans l'application Gemini est réservée aux abonnés : le &lt;a href="https://apidog.com/fr/blog/gemini-omni-scene-extension-40-seconds?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;workflow de 40 secondes&lt;/a&gt; nécessite donc un plan.&lt;/p&gt;

&lt;p&gt;Le choix dépend de votre objectif :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Explorer le modèle&lt;/strong&gt; : utilisez un abonnement et travaillez dans l'interface utilisateur.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Construire un produit&lt;/strong&gt; : activez la facturation et payez à la seconde pour automatiser les appels.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Utiliser l'API payante au coût minimum
&lt;/h2&gt;

&lt;p&gt;Puisque l'API ne propose aucune voie gratuite, commencez par réduire le coût de vos essais.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Faites vos brouillons en 360p
&lt;/h3&gt;

&lt;p&gt;Omni génère du 360p pour un tiers du coût du 720p et jusqu'à 60 % plus rapidement. Un clip de 10 secondes coûte ainsi environ 0,34 $ au lieu de 1,01 $.&lt;/p&gt;

&lt;p&gt;Pendant la phase de test des prompts, chaque rendu est généralement jetable. Payer un tiers du prix pour ces essais est donc le levier le plus important. La &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;ventilation des prix&lt;/a&gt; fournit le calcul détaillé.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Mettez les résultats en cache
&lt;/h3&gt;

&lt;p&gt;Stockez chaque fichier généré avec le prompt et les paramètres utilisés. Régénérer un clip identique représente une dépense inutile à 0,10 $ la seconde.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Augmentez le délai d'attente avant de réessayer
&lt;/h3&gt;

&lt;p&gt;La génération vidéo est lente. Un délai d'attente ne signifie pas nécessairement que la génération a échoué. Une boucle de retry déclenchée par un timeout peut vous faire payer deux fois le même clip.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Configurez une alerte de facturation
&lt;/h3&gt;

&lt;p&gt;Définissez l'alerte avant votre première requête, et non après votre première mauvaise surprise.&lt;/p&gt;

&lt;p&gt;Sauvegarder la requête dans &lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; aide notamment à éviter les retries involontaires : vous définissez explicitement le délai d'attente, validez le format de la réponse et exécutez l'appel à votre convenance. Conservez également la clé API dans une variable d'environnement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que l'accès gratuit ne permet pas
&lt;/h2&gt;

&lt;p&gt;Les deux voies gratuites ont les mêmes limites :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Aucun accès API&lt;/strong&gt; : les interfaces YouTube et les abonnements donnent accès à des produits distincts, avec une facturation distincte.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aucune automatisation ni traitement par lots&lt;/strong&gt; : vous générez un clip à la fois, manuellement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aucun contrôle complet des paramètres&lt;/strong&gt; : la résolution, le rapport d'aspect et le format de livraison sont des paramètres côté API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Un filigrane est toujours présent&lt;/strong&gt; : chaque génération porte un filigrane &lt;a href="https://deepmind.google/technologies/synthid/" rel="noopener noreferrer"&gt;SynthID&lt;/a&gt;, invisible pour les spectateurs mais détectable par programme.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L'accès gratuit suffit pour vérifier si le modèle répond à votre besoin. Pour lancer une fonctionnalité, prévoyez en revanche un budget à la seconde dès le début du projet.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Gemini Omni est-il gratuit ?
&lt;/h3&gt;

&lt;p&gt;Dans YouTube Shorts et l'application YouTube Create, oui. Dans l'application Gemini et Google Flow, un abonnement Google AI Plus, Pro ou Ultra est nécessaire. Via l'API, non : aucun niveau gratuit n'est disponible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pourquoi Gemini 3.6 Flash a-t-il un niveau gratuit mais pas Omni ?
&lt;/h3&gt;

&lt;p&gt;La sortie vidéo est facturée 17,50 $ par million de tokens, et une seconde de vidéo 720p représente 5 792 de ces tokens. L'économie est donc très différente de celle d'une complétion de texte. La &lt;a href="https://apidog.com/fr/blog/how-to-use-gemini-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;voie gratuite AI Studio&lt;/a&gt; de Google couvre uniquement les modèles de texte.&lt;/p&gt;

&lt;h3&gt;
  
  
  Puis-je obtenir des crédits API gratuits pour Omni ?
&lt;/h3&gt;

&lt;p&gt;Non. Le niveau gratuit de l'API Gemini n'inclut pas les modèles de génération vidéo.&lt;/p&gt;

&lt;h3&gt;
  
  
  L'offre étudiante inclut-elle l'API ?
&lt;/h3&gt;

&lt;p&gt;Non. Elle couvre l'accès au plan Google AI, notamment l'application Gemini et Flow. L'utilisation de l'API est facturée séparément.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quelle est la façon la moins chère de générer de la vidéo via une API ?
&lt;/h3&gt;

&lt;p&gt;Dans la gamme Google, Veo 3.1 Lite coûte 0,05 $ par seconde en 720p, soit moins qu'Omni, mais sans 4K ni édition conversationnelle. La &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash-vs-veo-3-1?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;comparaison des modèles&lt;/a&gt; détaille ce compromis.&lt;/p&gt;

&lt;p&gt;Pour une génération vidéo gratuite plus largement, consultez &lt;a href="https://apidog.com/fr/blog/free-google-veo-3?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;les méthodes d'accès gratuit à Veo&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Existe-t-il un essai gratuit de l'API Gemini Omni ?
&lt;/h3&gt;

&lt;p&gt;Non. Aucun crédit d'essai n'est proposé. La facturation doit être activée avant le premier appel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Google propose Gemini Omni gratuitement sur YouTube, mais conserve une API strictement payante. Les voies gratuites conviennent donc à l'évaluation, pas à la construction d'un produit.&lt;/p&gt;

&lt;p&gt;Testez le modèle dans Shorts, vérifiez qu'il répond à votre besoin, puis prévoyez un budget API adapté. Commencez en 360p, sauvegardez votre première requête avec un délai d'attente raisonnable et &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;téléchargez Apidog&lt;/a&gt; pour suivre le coût de chaque appel avant de recevoir la facture.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Gemini Omni 1.1 Flash vs Veo 3.1 : Quelle API vidéo choisir ?</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Fri, 28 Aug 2026 08:06:29 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/gemini-omni-11-flash-vs-veo-31-quelle-api-video-choisir--maa</link>
      <guid>https://dev.to/antoine_laurentt/gemini-omni-11-flash-vs-veo-31-quelle-api-video-choisir--maa</guid>
      <description>&lt;h1&gt;
  
  
  Veo 3.1 ou Gemini Omni 1.1 Flash : quel modèle vidéo choisir ?
&lt;/h1&gt;

&lt;p&gt;Google propose désormais deux modèles de vidéo générative sous la même clé API, mais ils répondent à des besoins différents. Veo 3.1 est le moteur de rendu cinématographique avec audio natif. Gemini Omni 1.1 Flash, &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;généralement disponible depuis le 27 août 2026&lt;/a&gt;, est le modèle conversationnel que vous pouvez modifier au fil des échanges.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Le choix dépend principalement de trois critères : avez-vous besoin de son, souhaitez-vous modifier le clip après l’avoir généré, et quelle doit être la durée finale ? Voici comment chaque modèle se distingue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tableau comparatif
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Critère&lt;/th&gt;
&lt;th&gt;Gemini Omni 1.1 Flash&lt;/th&gt;
&lt;th&gt;Veo 3.1&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ID du modèle&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gemini-omni-1.1-flash&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;veo-3.1-generate-preview&lt;/code&gt; — avec variantes fast et lite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Surface d’API&lt;/td&gt;
&lt;td&gt;API Interactions (&lt;code&gt;/v1beta/interactions&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;generateContent&lt;/code&gt;, avec opération longue durée&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audio natif&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;Oui, toujours activé&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Durée de clip de base&lt;/td&gt;
&lt;td&gt;10 secondes&lt;/td&gt;
&lt;td&gt;4, 6 ou 8 secondes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Durée maximale via extension&lt;/td&gt;
&lt;td&gt;40 secondes, par paliers de 10 secondes&lt;/td&gt;
&lt;td&gt;148 secondes, par extensions de 7 secondes, jusqu’à 20 fois&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contexte lu lors de l’extension&lt;/td&gt;
&lt;td&gt;Jusqu’à 10 secondes de séquences précédentes&lt;/td&gt;
&lt;td&gt;Non spécifié&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Édition conversationnelle&lt;/td&gt;
&lt;td&gt;Oui, via &lt;code&gt;previous_interaction_id&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Première et dernière image&lt;/td&gt;
&lt;td&gt;Oui&lt;/td&gt;
&lt;td&gt;Oui, via &lt;code&gt;lastFrame&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Médias de référence&lt;/td&gt;
&lt;td&gt;Jusqu’à 3 clips vidéo de 3 secondes chacun&lt;/td&gt;
&lt;td&gt;Jusqu’à 3 images de référence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Résolutions&lt;/td&gt;
&lt;td&gt;360p, 720p, 1080p, 4K&lt;/td&gt;
&lt;td&gt;720p, 1080p, 4K — 720p uniquement lors de l’extension&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rapports d’aspect&lt;/td&gt;
&lt;td&gt;16:9, 9:16&lt;/td&gt;
&lt;td&gt;16:9, 9:16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Coût par seconde en 720p&lt;/td&gt;
&lt;td&gt;Environ 0,10 $&lt;/td&gt;
&lt;td&gt;0,40 $ standard, 0,10 $ fast, 0,05 $ lite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Niveau gratuit&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Filigrane&lt;/td&gt;
&lt;td&gt;SynthID&lt;/td&gt;
&lt;td&gt;SynthID&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Choisissez Gemini Omni 1.1 Flash si…
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Vous devez modifier le résultat après l’avoir vu
&lt;/h3&gt;

&lt;p&gt;C’est la principale différence. Omni utilise l’API Interactions : vous générez un clip, le regardez, puis envoyez une requête de suivi pour le modifier.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;res1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-omni-1.1-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;A woman playing violin outdoors.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;res2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-omni-1.1-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;previous_interaction_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;res1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Make the violin invisible.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Vous n’avez pas besoin de re-télécharger la vidéo ni de décrire à nouveau toute la scène. Veo n’offre pas d’équivalent : chaque requête est une nouvelle génération. Pour modifier le résultat, il faut donc envoyer une nouvelle invite et relancer le processus.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vous voulez produire des ébauches à moindre coût
&lt;/h3&gt;

&lt;p&gt;En 360p, Omni génère des vidéos jusqu’à 60 % plus rapidement, pour un tiers du coût du 720p. Veo commence en 720p. Lorsque vous testez une invite pour la douzième fois, l’écart devient significatif. Consultez la &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;répartition des prix&lt;/a&gt; pour les détails.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vous fournissez des vidéos plutôt que des images fixes
&lt;/h3&gt;

&lt;p&gt;Omni accepte jusqu’à trois clips de référence de trois secondes et mappe leur mouvement sur la nouvelle scène. Veo utilise des images de référence. Pour reproduire un mouvement ou maintenir un personnage cohérent entre plusieurs plans, les références vidéo d’Omni offrent donc davantage de contrôle.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vous devez préserver la cohérence lors d’une extension
&lt;/h3&gt;

&lt;p&gt;Omni analyse jusqu’à 10 secondes de séquences précédentes avant de poursuivre la vidéo, contre la seule dernière seconde utilisée par le modèle d’aperçu. Le &lt;a href="https://apidog.com/fr/blog/gemini-omni-scene-extension-40-seconds?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide d’extension de scène&lt;/a&gt; détaille ce fonctionnement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choisissez Veo 3.1 si…
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Vous avez besoin d’audio
&lt;/h3&gt;

&lt;p&gt;Veo génère l’audio nativement avec la vidéo. La documentation d’Omni couvre la sortie vidéo, mais ignore l’audio dans les clips de référence. Si votre livrable doit inclure du son, Veo est le choix évident. Consultez le &lt;a href="https://apidog.com/fr/blog/veo-3-1-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de l’API Veo 3.1&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vous avez besoin de plus de 40 secondes
&lt;/h3&gt;

&lt;p&gt;Veo s’étend par tranches de 7 secondes, jusqu’à 20 fois, pour atteindre 148 secondes. Omni est limité à 40 secondes.&lt;/p&gt;

&lt;p&gt;Attention : les vidéos étendues de Veo sont uniquement disponibles en 720p. Un clip long et un clip 4K constituent donc deux cas d’usage différents.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vous cherchez le coût par seconde le plus bas
&lt;/h3&gt;

&lt;p&gt;Veo 3.1 Lite coûte 0,05 $ par seconde en 720p, soit la moitié du tarif d’Omni. En contrepartie, il ne prend pas en charge la 4K. Pour les générations en volume et à faible enjeu, Lite est l’option la moins chère des deux familles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vous voulez générer un clip court
&lt;/h3&gt;

&lt;p&gt;Veo propose des clips de 4 et 6 secondes, tandis qu’Omni génère des vidéos de 10 secondes. Pour une vidéo finale de 4 secondes, Veo ne facture que 4 secondes ; Omni en facture 10.&lt;/p&gt;

&lt;h2&gt;
  
  
  La décision en quatre lignes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Besoin de son ? &lt;strong&gt;Veo 3.1&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Besoin de plus de 40 secondes ? &lt;strong&gt;Veo 3.1&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Besoin de modifier le clip après génération ou de créer des brouillons économiques ? &lt;strong&gt;Gemini Omni 1.1 Flash&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Besoin du coût par seconde le plus bas, sans autre contrainte ? &lt;strong&gt;Veo 3.1 Lite&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;De nombreux pipelines utilisent finalement les deux modèles : Omni pour explorer et verrouiller le plan de manière conversationnelle, puis Veo pour produire la version finale avec audio. Ils partagent une clé API, ce qui simplifie leur configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deux intégrations différentes
&lt;/h2&gt;

&lt;p&gt;Quel que soit votre choix, les deux modèles utilisent des points d’accès structurellement différents.&lt;/p&gt;

&lt;p&gt;Omni envoie une requête POST vers &lt;code&gt;/v1beta/interactions&lt;/code&gt;, avec le modèle dans le corps de la requête. La vidéo est renvoyée directement en base64, sauf si le fichier dépasse 4 Mo ; dans ce cas, la réponse contient une URI.&lt;/p&gt;

&lt;p&gt;Veo fonctionne comme une opération longue durée que vous devez interroger. Les fichiers générés restent sur les serveurs de Google pendant deux jours avant d’être supprimés.&lt;/p&gt;

&lt;p&gt;Cette différence est importante si vous envisagez de changer de modèle. Le code d’un modèle ne fonctionnera pas avec l’autre en remplaçant simplement la chaîne du modèle. Votre couche d’abstraction doit gérer à la fois :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;une opération nécessitant un polling ;&lt;/li&gt;
&lt;li&gt;un corps de réponse pouvant contenir deux formats différents.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La &lt;a href="https://apidog.com/fr/blog/how-to-use-gemini-omni-1-1-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;présentation de l’API Omni&lt;/a&gt; explique comment gérer ces réponses.&lt;/p&gt;

&lt;p&gt;Avant de les intégrer à votre application, définissez une requête enregistrée pour chaque modèle dans &lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;. Conservez la clé API dans une variable d’environnement, vérifiez la structure des réponses et augmentez les délais d’expiration bien au-delà des valeurs par défaut.&lt;/p&gt;

&lt;p&gt;Pour comparer la qualité des sorties, vous pourrez ainsi exécuter la même invite avec les deux modèles en quelques clics, sans réécrire des commandes &lt;code&gt;curl&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Gemini Omni remplace-t-il Veo ?
&lt;/h3&gt;

&lt;p&gt;Non. Google propose les deux modèles, et Veo 3.1 n’est pas obsolète. Ils génèrent tous deux des vidéos, mais pour des usages différents.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lequel est le moins cher ?
&lt;/h3&gt;

&lt;p&gt;En 720p, Omni — environ 0,10 $ par seconde — et Veo 3.1 Fast — 0,10 $ par seconde — sont équivalents.&lt;/p&gt;

&lt;p&gt;Veo 3.1 Lite est moins cher, à 0,05 $ par seconde. Veo 3.1 Standard est le plus coûteux, à 0,40 $ par seconde.&lt;/p&gt;

&lt;h3&gt;
  
  
  Peuvent-ils générer des vidéos avec des dialogues ?
&lt;/h3&gt;

&lt;p&gt;Veo génère de l’audio natif. La sortie vidéo d’Omni ne couvre pas la génération audio et ne peut pas ajouter de dialogue lors de l’extension d’une vidéo téléchargée.&lt;/p&gt;

&lt;h3&gt;
  
  
  Les deux modèles ajoutent-ils un filigrane ?
&lt;/h3&gt;

&lt;p&gt;Oui. Ils appliquent tous deux &lt;a href="https://deepmind.google/technologies/synthid/" rel="noopener noreferrer"&gt;SynthID&lt;/a&gt;, invisible pour les spectateurs mais détectable par programmation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Qu’en est-il de Sora ou des autres API vidéo ?
&lt;/h3&gt;

&lt;p&gt;Les fournisseurs proposent des compromis différents. &lt;a href="https://apidog.com/fr/blog/openai-sora-2?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;OpenAI Sora 2&lt;/a&gt; et &lt;a href="https://apidog.com/fr/blog/seedance?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Seedance 1.0&lt;/a&gt; sont à examiner si vous évaluez des solutions en dehors de l’écosystème Google.&lt;/p&gt;

&lt;h3&gt;
  
  
  Avec quel modèle commencer ?
&lt;/h3&gt;

&lt;p&gt;Pour prototyper sans audio, commencez avec Omni en 360p. C’est le moyen le moins cher de vérifier si la vidéo générée répond à votre besoin. &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt; et enregistrez votre première requête afin de rendre les comparaisons reproductibles.&lt;/p&gt;

&lt;p&gt;En résumé : &lt;strong&gt;Veo rend, Omni converse&lt;/strong&gt;. La &lt;a href="https://ai.google.dev/gemini-api/docs/video" rel="noopener noreferrer"&gt;documentation Google sur la génération vidéo&lt;/a&gt; couvre les deux. Choisissez donc le modèle en fonction de la tâche, et non de l’équipe qui l’a développé.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Gemini Omni 1.1 Flash prix : ce que coûte réellement une seconde de vidéo</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Fri, 28 Aug 2026 08:05:22 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/gemini-omni-11-flash-prix-ce-que-coute-reellement-une-seconde-de-video-2pb</link>
      <guid>https://dev.to/antoine_laurentt/gemini-omni-11-flash-prix-ce-que-coute-reellement-une-seconde-de-video-2pb</guid>
      <description>&lt;h1&gt;
  
  
  Le coût réel de la génération vidéo avec Gemini Omni 1.1 Flash
&lt;/h1&gt;

&lt;p&gt;Une seconde de vidéo 720p avec Gemini Omni 1.1 Flash coûte environ 0,10 $. C'est le chiffre à utiliser pour planifier votre budget, tel qu'indiqué sur la &lt;a href="https://ai.google.dev/gemini-api/docs/pricing" rel="noopener noreferrer"&gt;page de tarification&lt;/a&gt; de Google. Il n'existe aucun niveau gratuit : le premier clip généré en suivant la documentation sera facturé.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Le modèle est facturé en jetons, et non à la durée. Comprendre ce mécanisme permet d'identifier immédiatement les leviers d'optimisation. Le plus efficace consiste à utiliser le 360p pour les brouillons : vos coûts d'itération diminuent des deux tiers.&lt;/p&gt;

&lt;h2&gt;
  
  
  La grille tarifaire
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Élément&lt;/th&gt;
&lt;th&gt;Prix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Entrée (texte, image, vidéo, audio)&lt;/td&gt;
&lt;td&gt;1,50 $ par million de jetons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sortie texte&lt;/td&gt;
&lt;td&gt;9,00 $ par million de jetons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sortie vidéo&lt;/td&gt;
&lt;td&gt;17,50 $ par million de jetons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Niveau gratuit&lt;/td&gt;
&lt;td&gt;Aucun&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Ces tarifs concernent &lt;code&gt;gemini-omni-1.1-flash&lt;/code&gt;, le modèle GA (Disponibilité Générale) publié le 27 août 2026, ainsi que le point d'accès &lt;code&gt;gemini-omni-flash-preview&lt;/code&gt;, qui sera retiré. Consultez &lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;les fonctionnalités livrées avec la version GA&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comment la sortie vidéo est convertie en jetons
&lt;/h2&gt;

&lt;p&gt;Google facture la vidéo comme le texte : par jetons de sortie. Une seconde de vidéo 720p correspond à 5 792 jetons :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;5,792 tokens x ($17.50 / 1,000,000) = $0.1014 per second
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Un clip 720p de 10 secondes coûte donc environ 1,01 $. Une scène de 40 secondes créée avec quatre appels d'extension coûte environ 4,06 $, auxquels s'ajoutent les jetons d'entrée du contexte précédent relu à chaque étape.&lt;/p&gt;

&lt;p&gt;L'entrée reste peu coûteuse. À 1,50 $ par million de jetons, les images de référence et les vidéos jointes pèsent peu face à la sortie. N'optimisez pas la longueur du [REDACTED PROMPT]&lt;/p&gt;

&lt;h2&gt;
  
  
  Le levier du 360p
&lt;/h2&gt;

&lt;p&gt;Google génère les aperçus 360p pour un tiers du coût du 720p et jusqu'à 60 % plus rapidement. Un brouillon de 10 secondes revient ainsi à environ 0,34 $, contre 1,01 $ en 720p.&lt;/p&gt;

&lt;p&gt;L'itération des prompts vidéo nécessite rarement une seule tentative. Une session réaliste peut demander douze essais avant d'obtenir une prise exploitable :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Flux de travail&lt;/th&gt;
&lt;th&gt;12 brouillons&lt;/th&gt;
&lt;th&gt;1 rendu final&lt;/th&gt;
&lt;th&gt;Total&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Tout en 720p&lt;/td&gt;
&lt;td&gt;12,17 $&lt;/td&gt;
&lt;td&gt;1,01 $&lt;/td&gt;
&lt;td&gt;13,18 $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Brouillons en 360p, final en 720p&lt;/td&gt;
&lt;td&gt;4,06 $&lt;/td&gt;
&lt;td&gt;1,01 $&lt;/td&gt;
&lt;td&gt;5,07 $&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Vous obtenez le même résultat avec 62 % de dépenses en moins, et les brouillons sont plus rapides à générer. Définissez &lt;code&gt;resolution&lt;/code&gt; sur &lt;code&gt;360p&lt;/code&gt; dans &lt;code&gt;response_format&lt;/code&gt; pendant l'itération, puis passez à une résolution supérieure uniquement lorsque le prompt est validé. Consultez &lt;a href="https://apidog.com/fr/blog/how-to-use-gemini-omni-1-1-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;le guide de l'API&lt;/a&gt; pour la structure de la requête.&lt;/p&gt;

&lt;p&gt;Les résolutions 1080p et 4K sont des suréchantillonnages des images générées, et non des rendus natifs. Elles coûtent donc plus cher que le 720p. Avant de budgétiser un pipeline 4K, vérifiez les tarifs actuels par seconde sur la page de tarification de Google, qui fait autorité.&lt;/p&gt;

&lt;h2&gt;
  
  
  Combien coûte l'extension d'une scène ?
&lt;/h2&gt;

&lt;p&gt;L'extension est souvent responsable des dépassements de budget. Une vidéo de 40 secondes ne correspond pas à une seule requête : elle comprend une génération initiale et trois appels d'extension, chacun facturant ses propres 10 secondes de sortie ainsi que le contexte précédent.&lt;/p&gt;

&lt;p&gt;En 720p, une scène complète de 40 secondes coûte environ 4,06 $. Si un segment s'écarte du scénario, il faut régénérer à partir de ce segment.&lt;/p&gt;

&lt;p&gt;La méthode la plus économique est la suivante :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ébauchez toute la scène en 360p, pour environ 1,35 $.&lt;/li&gt;
&lt;li&gt;Vérifiez la continuité sur les quatre segments.&lt;/li&gt;
&lt;li&gt;Relancez le rendu final en 720p.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://apidog.com/fr/blog/gemini-omni-scene-extension-40-seconds?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Le guide d'extension de scène&lt;/a&gt; détaille les situations où les extensions échouent le plus souvent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparaison avec Veo 3.1
&lt;/h2&gt;

&lt;p&gt;Les deux modèles utilisent la même clé API Gemini, ce qui peut masquer leur différence de prix :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;720p par seconde&lt;/th&gt;
&lt;th&gt;4K par seconde&lt;/th&gt;
&lt;th&gt;Niveau gratuit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gemini Omni 1.1 Flash&lt;/td&gt;
&lt;td&gt;~0,10 $&lt;/td&gt;
&lt;td&gt;Niveau d'upscale, voir la page de tarification&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Veo 3.1&lt;/td&gt;
&lt;td&gt;0,40 $&lt;/td&gt;
&lt;td&gt;0,60 $&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Veo 3.1 Fast&lt;/td&gt;
&lt;td&gt;0,10 $&lt;/td&gt;
&lt;td&gt;0,30 $&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Veo 3.1 Lite&lt;/td&gt;
&lt;td&gt;0,05 $&lt;/td&gt;
&lt;td&gt;Non disponible&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Veo 3.1 standard coûte environ quatre fois plus cher qu'Omni en 720p. Veo 3.1 Lite est moins cher qu'Omni, mais le prix par seconde ne suffit pas pour choisir :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Veo&lt;/strong&gt; génère de l'audio natif et s'étend jusqu'à 148 secondes, par segments de 7 secondes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Omni&lt;/strong&gt; propose une boucle d'édition conversationnelle sans équivalent direct dans Veo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://apidog.com/fr/blog/gemini-omni-1-1-flash-vs-veo-3-1?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;La comparaison complète&lt;/a&gt; explique quel modèle choisir selon le cas d'usage. Si vous utilisez déjà Veo, &lt;a href="https://apidog.com/fr/blog/veo-3-1-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;ce guide d'intégration&lt;/a&gt; reste valable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trois erreurs qui font exploser les coûts
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Rendre en pleine résolution pour vérifier une petite modification.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Utilisez le 360p pour confirmer qu'une modification du prompt fonctionne. Réservez le 720p au rendu livré.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Régénérer en production ce qui pourrait être mis en cache.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
La sortie est suffisamment déterministe pour être réutilisée. Stockez chaque fichier et indexez-le à partir du prompt et des paramètres. Régénérer deux fois le même clip est une dépense inutile.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Réessayer automatiquement après un timeout.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Un timeout côté client ne signifie pas nécessairement que la génération a échoué. Votre logique de retry peut donc facturer deux fois un seul clip. Augmentez le délai d'attente et vérifiez l'état de l'interaction avant de relancer.&lt;/p&gt;

&lt;p&gt;Testez ce comportement avant la mise en production. Enregistrez la requête dans &lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; avec un timeout réaliste, validez la structure de la réponse et exécutez-la volontairement. Configurez également une alerte de dépenses dans Google Cloud Billing.&lt;/p&gt;
&lt;h2&gt;
  
  
  Estimer une facture mensuelle
&lt;/h2&gt;

&lt;p&gt;Commencez par le nombre de secondes finalisées, puis ajoutez le coût des brouillons :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;monthly cost = finished_seconds x $0.10
             + draft_seconds x $0.034
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Exemple : une équipe livre 5 minutes de vidéo 720p par mois avec un ratio brouillon/final de  plus grande part de la facture, même à un tiers du prix, car ils sont dix fois plus nombreux que les livrables. Pour réduire ce montant, diminuez le nombre de tentatives par élément conservé grâce à de meilleurs prompts et au contrôle des keyframes. Réduire le coût du rendu final aura beaucoup moins d'impact.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Gemini Omni 1.1 Flash est-il gratuit ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Pas via l'API. Omni n'a aucun niveau gratuit, même s'il est disponible gratuitement sur YouTube Shorts et YouTube Create. &lt;a href="https://apidog.com/fr/blog/how-to-use-gemini-omni-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Le résumé des accès gratuits&lt;/a&gt; présente ces options. Les modèles de texte Google, comme &lt;a href="https://apidog.com/fr/blog/gemini-3-6-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Gemini 3.6 Flash&lt;/a&gt;, offrent encore un accès gratuit limité en débit via AI Studio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Combien coûte une vidéo de 10 secondes ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Environ 1,01 $ en 720p et 0,34 $ en 360p.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pourquoi la vidéo est-elle facturée en jetons ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Google facture toutes les sorties de modèles en jetons pour garantir un modèle de facturation cohérent. En 720p, une seconde de vidéo équivaut à 5 792 jetons, facturés 17,50 $ par million de jetons de sortie vidéo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Les images d'entrée et les clips de référence coûtent-ils plus cher ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Ils sont facturés 1,50 $ par million de jetons d'entrée, ce qui reste minime face au coût de la sortie vidéo. Ce n'est pas le principal poste à optimiser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Le 4K en vaut-il la peine ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Uniquement pour les livrables finaux. Le 1080p et le 4K sont des suréchantillonnages : ils n'ajoutent pas de détails que le modèle n'a pas générés, tout en augmentant la taille des fichiers et le coût.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Une génération échouée est-elle toujours facturée ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Une génération qui renvoie une vidéo est facturée. Les rejets du filtre de contenu et les erreurs sans sortie ne devraient pas l'être. Surveillez toutefois votre tableau de bord de facturation pendant la première semaine de chaque nouveau pipeline.&lt;/p&gt;

&lt;p&gt;La maîtrise des coûts repose davantage sur la discipline que sur l'optimisation théorique : brouillons en basse résolution, cache agressif, timeouts contrôlés et une requête enregistrée par type de tâche. Vous pourrez ainsi détecter rapidement une modification du modèle ou du prix avant qu'elle ne se transforme en facture. &lt;a href="https://apidog.com/download?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Téléchargez Apidog&lt;/a&gt; pour valider vos requêtes avant de découvrir leur coût.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>GLM-5.3-Flash Vision : Envoyer des images à un modèle à 1M de contexte</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Thu, 27 Aug 2026 03:37:50 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/glm-53-flash-vision-envoyer-des-images-a-un-modele-a-1m-de-contexte-13ca</link>
      <guid>https://dev.to/antoine_laurentt/glm-53-flash-vision-envoyer-des-images-a-un-modele-a-1m-de-contexte-13ca</guid>
      <description>&lt;h1&gt;
  
  
  GLM-5.3-Flash : vision native et contexte d’un million de tokens
&lt;/h1&gt;

&lt;p&gt;La plupart des modèles de vision vous obligent à choisir entre image et texte. GLM-5.3-Flash accepte les images comme des blocs de contenu dans une fenêtre de contexte de 1 048 576 tokens, avec tout le texte dont vous avez besoin dans la même requête.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Cette combinaison — entrée d’image native et vaste contexte — permet des flux de travail qu’aucune de ces capacités ne rend possibles seule. Voici la charge utile à utiliser, les cas d’usage pertinents et les limites à prendre en compte.&lt;/p&gt;

&lt;h2&gt;
  
  
  Une vision native, pas un adaptateur
&lt;/h2&gt;

&lt;p&gt;Les précédents modèles de vision de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; étaient séparés : GLM-5V-Turbo et GLM-4.6V possédaient chacun leur identifiant et leur point d’accès. GLM-5.3, lui, achemine la vision via des adaptateurs.&lt;/p&gt;

&lt;p&gt;GLM-5.3-Flash est le premier modèle GLM-5 dont les images sont une entrée de première classe, dans le même appel et le même contexte que le texte.&lt;/p&gt;

&lt;p&gt;En pratique, vous disposez de :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;un seul identifiant de modèle ;&lt;/li&gt;
&lt;li&gt;une seule ligne de facturation ;&lt;/li&gt;
&lt;li&gt;un seul ensemble de limites de débit ;&lt;/li&gt;
&lt;li&gt;une seule fenêtre de contexte pour les images et le texte.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour les anciennes approches, consultez &lt;a href="https://apidog.com/fr/blog/glm-5v-turbo-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide d’API GLM-5V-Turbo&lt;/a&gt; et &lt;a href="https://apidog.com/fr/blog/glm-4-6v-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide GLM-4.6V&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Construire la charge utile
&lt;/h2&gt;

&lt;p&gt;L’image est envoyée dans un bloc de contenu typé. &lt;code&gt;content&lt;/code&gt; n’est donc plus une chaîne, mais un tableau :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;REDACTED&lt;/span&gt; &lt;span class="n"&gt;CREDENTIAL&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.z.ai/api/paas/v4/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;glm-5.3-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What is wrong with this layout on mobile?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://example.com/mobile-view.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pour une image locale ou privée, utilisez une URL de données base64 :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;base64&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;image_block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;base64&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;b64encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;read_bytes&lt;/span&gt;&lt;span class="p"&gt;()).&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;suffix&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;suffix&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lstrip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;jpg&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;jpeg&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;data:image/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;suffix&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;;base64,&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Chaque image doit être son propre bloc :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Image 1 is the design. Image 2 is what we built. List the differences.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="nf"&gt;image_block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;design.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="nf"&gt;image_block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;built.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;L’ordre est important : le modèle lit le tableau séquentiellement. Placez le contexte avant les images et identifiez explicitement chaque image lorsque vous en envoyez plusieurs.&lt;/p&gt;

&lt;p&gt;La configuration initiale et l’authentification sont détaillées dans &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide d’API&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flux de travail utiles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Déboguer avec une capture d’écran
&lt;/h3&gt;

&lt;p&gt;C’est le cas d’usage le plus évident, et celui mis en avant par &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;. Sa documentation décrit un modèle capable d’observer des interfaces, des rendus et des retours d’interaction — davantage un scénario d’agent de programmation qu’une simple description d’image.&lt;/p&gt;

&lt;p&gt;Envoyez le rendu défectueux et le code source dans la même requête :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;This component renders incorrectly below 400px. Here is the screenshot and the source.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="nf"&gt;image_block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;bug-mobile.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;```
&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;endraw&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;
jsx&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;component_source&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;raw&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;
```&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Le modèle analyse le rendu réel au lieu de dépendre de la description d’un humain. Vous éliminez ainsi une étape coûteuse : traduire un problème visuel en mots.&lt;/p&gt;

&lt;h3&gt;
  
  
  Comparer des designs
&lt;/h3&gt;

&lt;p&gt;Envoyez deux images et demandez une comparaison. En CI, un outil de différence détecte les pixels modifiés tandis que le modèle estime si le changement est significatif.&lt;/p&gt;

&lt;p&gt;Utilisez cette sortie pour trier les régressions à faire vérifier par un humain, pas pour bloquer seul un déploiement. Une comparaison de captures d’écran reste un jugement, pas une preuve.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vérifier un document par rapport à sa spécification
&lt;/h3&gt;

&lt;p&gt;C’est ici que la fenêtre de contexte d’un million de tokens devient réellement utile. Placez une longue spécification sous forme de texte et l’artefact généré sous forme d’image :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Specification:&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;spec_text&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Below is the generated report. Does it satisfy every requirement above? List gaps.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="nf"&gt;image_block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;generated-report.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Une spécification de 40 pages et une image peuvent tenir dans le même prompt. Ce flux n’est pas possible de la même façon avec un modèle limité à 128K tokens et doté d’une vision basée sur des adaptateurs.&lt;/p&gt;

&lt;p&gt;Les notes de version de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; citent également les documents bureautiques et la recherche financière parmi les scénarios visés par le comportement d’agent.&lt;/p&gt;

&lt;h3&gt;
  
  
  Extraire des graphiques et des tableaux de bord
&lt;/h3&gt;

&lt;p&gt;Demandez une structure JSON et validez-la systématiquement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Extract the series in this chart as JSON: [{label, values: [...]}]. Return only JSON.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="nf"&gt;image_block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;quarterly.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La validation par schéma détecte les erreurs de structure, mais pas les nombres plausibles et incorrects. Pour les données importantes, utilisez les données sources plutôt qu’une image du graphique.&lt;/p&gt;

&lt;p&gt;Pour l’extraction documentaire spécialisée, un modèle dédié peut rester supérieur à un généraliste. Voir &lt;a href="https://apidog.com/fr/blog/glm-ocr-document-understanding?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;GLM-OCR pour la compréhension de documents&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vidéo et fichiers
&lt;/h2&gt;

&lt;p&gt;La documentation de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; mentionne les entrées vidéo et fichier avec le même mécanisme de blocs de contenu.&lt;/p&gt;

&lt;p&gt;Restez prudent : ces fonctions sont récentes, moins documentées et moins testées publiquement que l’entrée d’image. De plus, la capacité annoncée par le modèle n’est pas forcément disponible sur la passerelle utilisée.&lt;/p&gt;

&lt;p&gt;Si la vidéo est essentielle à votre application, testez-la avec vos propres médias et votre propre fournisseur avant de concevoir votre architecture autour de cette fonction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limites et modes d’échec
&lt;/h2&gt;

&lt;p&gt;La multimodalité native ne garantit pas des résultats fiables. Prévoyez au minimum ces quatre problèmes :&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chiffres incorrects dans les graphiques.&lt;/strong&gt; Le modèle peut produire une réponse fluide et bien formatée tout en lisant mal une valeur. Un schéma valide ne garantit pas une valeur correcte. Utilisez les données sous-jacentes lorsque la précision compte.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Texte trop petit.&lt;/strong&gt; Les interfaces denses, les tableaux basse résolution et le code compressé se dégradent rapidement. Rognez la région d’intérêt au lieu de réduire toute l’image.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Précision spatiale limitée.&lt;/strong&gt; Le modèle décrit généralement bien une relation comme « le bouton chevauche le champ », mais mesure mal un écart précis comme « 12 pixels trop à gauche ».&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Confusion entre les images.&lt;/strong&gt; Avec plusieurs images, un détail peut être attribué au mauvais visuel. Ajoutez des libellés dans les blocs de texte et limitez le nombre d’images lorsque la précision est critique.&lt;/p&gt;

&lt;p&gt;Ces limites ne sont pas propres à GLM-5.3-Flash. Elles sont communes aux modèles de langage visuel, et le score de 57 sur l’Indice d’Intelligence ne les élimine pas. Concevez vos flux pour qu’une erreur soit détectée avant de déclencher une action.&lt;/p&gt;

&lt;h2&gt;
  
  
  Coût
&lt;/h2&gt;

&lt;p&gt;Les images consomment des tokens d’entrée et sont facturées comme tels. Il n’existe pas de supplément séparé pour les images.&lt;/p&gt;

&lt;p&gt;Au tarif catalogue, le coût est de 0,15 $ par million de tokens d’entrée, ou 0,075 $ pendant la promotion de lancement valable jusqu’au 9 septembre 2026.&lt;/p&gt;

&lt;p&gt;Les images haute résolution peuvent consommer beaucoup de tokens. La résolution est donc un levier de coût important. Réduisez-la lorsque les détails fins ne sont pas nécessaires.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;reasoning_effort&lt;/code&gt; vaut &lt;code&gt;max&lt;/code&gt; par défaut et le raisonnement est facturé comme des tokens de sortie. Pour une extraction simple, &lt;code&gt;low&lt;/code&gt; est souvent suffisant et nettement moins cher. &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre guide des prix&lt;/a&gt; détaille ces deux leviers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Maîtriser le coût des images
&lt;/h2&gt;

&lt;p&gt;Les images étant facturées comme des tokens d’entrée, l’optimisation de la résolution doit être arbitrée avec la précision attendue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fixyf70kl0ow7x1kbgod6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fixyf70kl0ow7x1kbgod6.png" width="798" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Appliquez cet ordre :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rognez avant de réduire l’échelle.&lt;/strong&gt; Envoyez la région pertinente en pleine résolution plutôt que tout l’écran à moitié réduit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adaptez la résolution à la question.&lt;/strong&gt; Une réduction agressive peut convenir pour vérifier une mise en page, mais pas pour lire un message d’erreur.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ne renvoyez pas les images inchangées.&lt;/strong&gt; Dans une conversation multi-tours, une image déjà envoyée appartient au contexte. La rattacher à chaque tour la fait facturer à nouveau.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Définissez &lt;code&gt;reasoning_effort&lt;/code&gt; explicitement.&lt;/strong&gt; L’extraction simple nécessite rarement &lt;code&gt;max&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’objet &lt;code&gt;usage&lt;/code&gt; de chaque réponse fournit le nombre réel de tokens consommés. C’est la seule façon de connaître le coût effectif d’une image au lieu de l’estimer à partir de sa taille de fichier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tester les appels multimodaux
&lt;/h2&gt;

&lt;p&gt;Les tests manuels sont difficiles : une URL de données base64 produit des milliers de caractères et les réponses en texte libre masquent facilement les régressions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbnb029ymb4ypilnx3nqy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbnb029ymb4ypilnx3nqy.png" width="799" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Deux pratiques sont particulièrement utiles :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Conservez un petit jeu fixe d’images de référence et de réponses attendues.&lt;/li&gt;
&lt;li&gt;Validez toute extraction structurée avec un schéma.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; convient bien à ce workflow. Enregistrez les charges utiles d’image dans une requête, stockez la clé API dans une variable d’environnement et ajoutez des assertions au JSON produit par vos prompts.&lt;/p&gt;

&lt;p&gt;Après un changement de modèle ou une mise à jour du fournisseur, relancez la suite pour vérifier que le comportement de vision reste stable.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GLM-5.3 prend-il également en charge les images ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Pas nativement. GLM-5.3 achemine la vision via des adaptateurs séparés. Flash est le modèle nativement multimodal. Voir &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-vs-glm-5-3?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre comparaison&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Combien d’images peut-on envoyer par requête ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Plusieurs, chacune dans son propre bloc &lt;code&gt;image_url&lt;/code&gt;. La limite pratique dépend de votre budget de contexte.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faut-il utiliser une URL ou du base64 ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Les deux fonctionnent. Utilisez une URL publique pour une image déjà hébergée et accessible, et base64 pour une image locale ou privée.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;La vidéo est-elle prise en charge ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; documente l’entrée vidéo, mais cette fonction est récente et peu testée. Vérifiez-la avec vos propres médias et votre fournisseur.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Les images sont-elles facturées différemment ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Non. Elles consomment des tokens d’entrée, la résolution influence donc directement le coût.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Prix GLM-5.3-Flash : Coût avant et après la promotion de lancement</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Thu, 27 Aug 2026 03:36:47 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/prix-glm-53-flash-cout-avant-et-apres-la-promotion-de-lancement-1119</link>
      <guid>https://dev.to/antoine_laurentt/prix-glm-53-flash-cout-avant-et-apres-la-promotion-de-lancement-1119</guid>
      <description>&lt;p&gt;GLM-5.3-Flash est actuellement proposé à moitié prix. Cette offre se termine le &lt;strong&gt;9 septembre 2026&lt;/strong&gt; : après cette date, toutes les projections fondées sur les tarifs actuels doubleront.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Voici ce que le modèle coûte maintenant, ce qu’il coûtera ensuite, comment il se compare aux alternatives et comment vérifier si l’écart compte pour votre charge de travail. Chiffres vérifiés le 27 août 2026 : les pages tarifaires pouvant changer, confirmez-les auprès de votre fournisseur avant de fixer un budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tarifs
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Prix de lancement (jusqu’au 9 sept. 2026)&lt;/th&gt;
&lt;th&gt;Prix catalogue (après)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Input&lt;/td&gt;
&lt;td&gt;0,075 $ / 1 M de jetons&lt;/td&gt;
&lt;td&gt;0,15 $ / 1 M de jetons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;0,25 $ / 1 M de jetons&lt;/td&gt;
&lt;td&gt;0,50 $ / 1 M de jetons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Input mis en cache&lt;/td&gt;
&lt;td&gt;0,015 $ / 1 M de jetons&lt;/td&gt;
&lt;td&gt;0,03 $ / 1 M de jetons&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Artificial Analysis publie un tarif combiné de &lt;strong&gt;0,10 $ par million de jetons&lt;/strong&gt;, calculé avec un ratio cache/entrée/sortie de 7:2:1. Ce chiffre facilite les comparaisons, mais votre ratio réel détermine votre facture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Coût de trois charges de travail
&lt;/h2&gt;

&lt;p&gt;Les exemples suivants utilisent le &lt;strong&gt;prix catalogue&lt;/strong&gt;, le plus pertinent pour planifier les coûts après le 9 septembre.&lt;/p&gt;

&lt;h3&gt;
  
  
  Classificateur de support
&lt;/h3&gt;

&lt;p&gt;Pour 100 000 tickets par mois, avec environ 800 jetons d’entrée et 100 jetons de sortie par ticket :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;80 millions de jetons d’entrée : 12 $&lt;/li&gt;
&lt;li&gt;10 millions de jetons de sortie : 5 $&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Total : 17 $ par mois&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour ce type de tâche, définissez &lt;code&gt;reasoning_effort&lt;/code&gt; sur &lt;code&gt;low&lt;/code&gt; : la quantité de sortie, et donc son coût, peut encore diminuer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Assistant de codage
&lt;/h3&gt;

&lt;p&gt;Pour 500 sessions par jour, avec 15 000 jetons d’entrée — dont une grande partie de contexte de fichiers répété — et 2 000 jetons de sortie par session :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;225 millions de jetons d’entrée : 33,75 $&lt;/li&gt;
&lt;li&gt;30 millions de jetons de sortie : 15 $&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sans cache : 48,75 $ par mois&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si 70 % des entrées sont mises en cache, le coût d’entrée descend à environ 14,85 $, pour un total d’&lt;strong&gt;environ 30 $ par mois&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pipeline documentaire avec images
&lt;/h3&gt;

&lt;p&gt;Pour 10 000 documents par mois, avec environ 40 000 jetons d’entrée — images comprises — et 1 500 jetons de sortie par document :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;400 millions de jetons d’entrée : 60 $&lt;/li&gt;
&lt;li&gt;15 millions de jetons de sortie : 7,50 $&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Total : 67,50 $ par mois&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aucun de ces montants n’est élevé. C’est précisément l’intérêt de GLM-5.3-Flash.&lt;/p&gt;

&lt;h2&gt;
  
  
  Le cache est votre principal levier
&lt;/h2&gt;

&lt;p&gt;À 0,03 $ par million contre 0,15 $ pour une nouvelle entrée, un jeton mis en cache coûte &lt;strong&gt;cinq fois moins cher&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Les charges de travail comportant un préfixe stable — invite système, document interrogé à plusieurs reprises ou base de code — doivent conserver ce préfixe identique d’un appel à l’autre.&lt;/p&gt;

&lt;p&gt;L’erreur la plus fréquente consiste à placer une valeur variable au début de l’invite. Un horodatage, un identifiant de requête ou un nom d’utilisateur dans l’invite système invalide tout ce qui suit. Placez donc le contenu stable en premier et le contenu variable en dernier.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; a également indiqué que le stockage des entrées mises en cache était gratuit pour une durée limitée. Considérez cette mesure comme promotionnelle et vérifiez les conditions actuelles avant d’en dépendre architecturalement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Réduisez l’effort de raisonnement
&lt;/h2&gt;

&lt;p&gt;Sur ce modèle, &lt;code&gt;reasoning_effort&lt;/code&gt; vaut par défaut &lt;strong&gt;&lt;code&gt;max&lt;/code&gt;&lt;/strong&gt;. C’est le réglage le plus coûteux.&lt;/p&gt;

&lt;p&gt;Les trois modes disponibles sont &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt; et &lt;code&gt;max&lt;/code&gt;. Les jetons de raisonnement sont facturés comme des jetons de sortie. Une tâche de classification, d’extraction, de routage ou de formatage peut donc payer pour une réflexion qui n’apparaît jamais dans la réponse finale.&lt;/p&gt;

&lt;p&gt;Pour ces tâches, commencez par &lt;code&gt;low&lt;/code&gt;. La configuration est détaillée dans &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide API&lt;/a&gt;. Il s’agit d’un changement d’une seule ligne et du premier réglage à vérifier si votre facture dépasse vos estimations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparaison avec les autres modèles
&lt;/h2&gt;

&lt;p&gt;Par rapport à son propre frère, au prix catalogue :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Tarif combiné par million&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GLM-5.3-Flash&lt;/td&gt;
&lt;td&gt;0,10 $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GLM-5.3&lt;/td&gt;
&lt;td&gt;0,90 $&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;L’écart est d’environ neuf fois pour seulement trois points de différence sur l’indice d’intelligence d’Artificial Analysis : 57 contre 60.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-vs-glm-5-3?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre comparaison complète&lt;/a&gt; détaille les cas où ce compromis devient défavorable. En bref : si vous diffusez de longues réponses à une personne en attente, GLM-5.3 peut être préférable, car il génère presque deux fois plus vite.&lt;/p&gt;

&lt;p&gt;Par rapport à GLM-5.2, &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; annonce un prix environ &lt;strong&gt;dix fois inférieur&lt;/strong&gt;, avec un coût par tâche de 0,045 $. &lt;a href="https://apidog.com/fr/blog/glm-5-2-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre analyse des tarifs de GLM-5.2&lt;/a&gt; reprend l’ancienne grille pour planifier une migration.&lt;/p&gt;

&lt;p&gt;Face aux gammes multimodales économiques d’autres fournisseurs, GLM-5.3-Flash est compétitif et se distingue par sa licence MIT, qui laisse ouverte l’option de l’auto-hébergement. &lt;a href="https://apidog.com/fr/blog/gemini-3-7-flash-pricing-explained?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre article sur la tarification de Gemini 3.7 Flash&lt;/a&gt; couvre la comparaison la plus proche chez Google.&lt;/p&gt;

&lt;h2&gt;
  
  
  Les revendeurs appliquent leurs propres tarifs
&lt;/h2&gt;

&lt;p&gt;Le modèle est disponible directement via &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;, mais aussi sur OpenRouter, Cloudflare Workers AI, Vercel AI Gateway, DeepInfra, Novita, GMICloud, Baseten et &lt;a href="http://io.net" rel="noopener noreferrer"&gt;io.net&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Les tarifs peuvent varier fortement. AIHubMix, par exemple, a affiché environ 0,113 $ en entrée et 0,394 $ en sortie : des prix situés entre les tarifs promotionnels et catalogue de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;. Certains fournisseurs répercutent la remise de lancement, d’autres non.&lt;/p&gt;

&lt;p&gt;Si vous utilisez un agrégateur, vérifiez son tarif actuel au lieu de supposer qu’il correspond à celui de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;. Une passerelle unifiée peut appliquer une marge, même si celle-ci reste facile à négliger à ces niveaux de prix.&lt;/p&gt;

&lt;h2&gt;
  
  
  À partir de quel volume l’auto-hébergement devient-il rentable ?
&lt;/h2&gt;

&lt;p&gt;Les poids sont sous licence MIT, donc l’exécution locale est possible. Toutefois, la forte baisse du prix API rend le seuil de rentabilité plus difficile à atteindre.&lt;/p&gt;

&lt;p&gt;À titre indicatif, un service en pleine précision nécessite un nœud de classe H200 avec huit GPU, facturé entre 24 $ et 48 $ par jour dans le cloud. En prenant un coût fixe de 1 000 $ par mois, que le nœud soit actif ou non :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1 000 $ au prix catalogue achètent environ 6,7 milliards de jetons d’entrée ;&lt;/li&gt;
&lt;li&gt;il faut donc un volume très élevé et régulier pour amortir le nœud.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour la plupart des équipes, l’auto-hébergement de GLM-5.3-Flash se justifie davantage par le contrôle, la résidence des données ou la licence que par le prix.&lt;/p&gt;

&lt;p&gt;L’équation change avec une version quantifiée. Des quantifications GGUF existent, et l’exécution sur du matériel déjà disponible réduit le coût marginal à celui de l’électricité. &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-locally?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre guide d’exécution locale&lt;/a&gt; explique les capacités de chaque niveau matériel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Le forfait de codage peut coûter moins cher
&lt;/h2&gt;

&lt;p&gt;Si vous êtes une personne qui code dans Claude Code ou Cline plutôt qu’une application qui effectue des appels API, la facturation au jeton n’est peut-être pas le bon modèle.&lt;/p&gt;

&lt;p&gt;Le forfait de codage GLM commence autour de 18 $ par mois, inclut GLM-5.3-Flash et fournirait apparemment &lt;strong&gt;trois fois le quota utilisable&lt;/strong&gt; de GLM-5.3. La documentation de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; indique aussi que les appels effectués en heures creuses consomment la moitié des points standards.&lt;/p&gt;

&lt;p&gt;Pour une personne qui code quotidiennement, un forfait fixe est généralement moins cher et plus prévisible qu’un accès API à la consommation. &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-claude-code-cline?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre guide de configuration du harnais&lt;/a&gt; explique la mise en place. &lt;a href="https://apidog.com/fr/blog/claude-code-vs-codex-vs-cursor-vs-minimax-plan-vs-glm-plan?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre comparaison des forfaits de codage&lt;/a&gt; met le forfait GLM face aux alternatives.&lt;/p&gt;

&lt;h2&gt;
  
  
  Surveillez surtout les sorties
&lt;/h2&gt;

&lt;p&gt;L’entrée attire l’attention parce qu’elle représente souvent le plus gros volume. Pourtant, les budgets dérapent généralement côté sortie :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;La sortie coûte plus de trois fois l’entrée par jeton : 0,50 $ contre 0,15 $.&lt;/li&gt;
&lt;li&gt;Les jetons de raisonnement sont facturés comme des sorties.&lt;/li&gt;
&lt;li&gt;Avec &lt;code&gt;reasoning_effort&lt;/code&gt; réglé sur &lt;code&gt;max&lt;/code&gt;, le modèle peut générer plusieurs fois plus de jetons que la réponse finale visible.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Une application avec une invite courte mais des réponses longues peut donc être dominée par les sorties, même si elle semble orientée vers l’entrée. Le tarif combiné de 0,10 $ suppose un ratio 7:2:1 que de nombreuses charges réelles ne respectent pas.&lt;/p&gt;

&lt;p&gt;Mesurez au lieu d’estimer. Chaque réponse de complétion contient un objet &lt;code&gt;usage&lt;/code&gt; indiquant les jetons consommés pour l’appel. Enregistrez ces valeurs, agrégerez-les et comparez le ratio réel avec votre hypothèse budgétaire.&lt;/p&gt;

&lt;p&gt;Si les sorties dépassent environ 15 % du total des jetons, vérifiez d’abord &lt;code&gt;reasoning_effort&lt;/code&gt;, puis la longueur des invites.&lt;/p&gt;

&lt;h2&gt;
  
  
  À faire avant le 9 septembre
&lt;/h2&gt;

&lt;p&gt;Pendant la période de remise :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mesurez votre répartition réelle.&lt;/strong&gt; Le tarif combiné repose sur un ratio 7:2:1. Si vos sorties sont nombreuses, votre coût effectif se rapprochera davantage de 0,50 $ que de 0,10 $ par million.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contrôlez le taux d’accès au cache.&lt;/strong&gt; Avec un écart de prix de cinq fois entre une entrée mise en cache et une nouvelle entrée, c’est votre principal levier.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recalculez au prix catalogue.&lt;/strong&gt; Tout double le 10 septembre. Si votre charge de travail n’est rentable qu’au tarif promotionnel, corrigez-la maintenant.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour suivre l’utilisation réelle, capturez les réponses de complétion : l’objet &lt;code&gt;usage&lt;/code&gt; contient les comptes d’entrée, de sortie et de cache nécessaires. Exécutez vos appels représentatifs comme une collection enregistrée dans &lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;, avec l’identifiant du modèle comme variable d’environnement. Vous pourrez comparer les factures par requête et rejouer la même suite contre GLM-5.3 plutôt que de vous fier au marketing.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GLM-5.3-Flash est-il gratuit ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Non. Il a été gratuit pendant environ une semaine lorsqu’il fonctionnait anonymement sous le nom « ox-alpha », avant son lancement. La remise actuelle de 50 % ne signifie pas qu’il est gratuit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quand la remise se termine-t-elle exactement ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Le 9 septembre 2026. Le prix catalogue s’applique à partir de cette date.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pourquoi les prix diffèrent-ils selon les sites ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Certains affichent le tarif promotionnel, d’autres le prix catalogue, et les revendeurs ajoutent leur propre marge. Vérifiez toujours le fournisseur que vous appelez réellement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Les images coûtent-elles plus cher ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Les images consomment des jetons de contexte et sont facturées comme des entrées. Il n’existe pas de supplément image séparé, mais une image haute résolution peut consommer beaucoup de jetons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;L’auto-hébergement est-il moins cher ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Seulement à très grand volume régulier, ou sur du matériel que vous possédez déjà avec une version quantifiée. À 0,15 $ par million de jetons d’entrée, louer un nœud H200 à huit GPU est difficile à justifier uniquement par le coût.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>GLM-5.3-Flash vs GLM-5.3 : Lequel choisir ?</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Thu, 27 Aug 2026 03:34:49 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/glm-53-flash-vs-glm-53-lequel-choisir--4h5</link>
      <guid>https://dev.to/antoine_laurentt/glm-53-flash-vs-glm-53-lequel-choisir--4h5</guid>
      <description>&lt;p&gt;&lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; propose désormais deux modèles aux noms presque identiques, avec une fenêtre contextuelle de 1 million de jetons, mais un écart de prix pouvant atteindre neuf fois. Ne vous fiez pas au nom : &lt;strong&gt;GLM-5.3-Flash est moins cher, prend en charge les images nativement et offre un quota de codage 3× supérieur ; GLM-5.3 est légèrement plus intelligent et génère presque deux fois plus vite.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Pour la plupart des charges, Flash est le bon choix par défaut. Voici quand choisir l’autre modèle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparatif rapide
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;GLM-5.3-Flash&lt;/th&gt;
&lt;th&gt;GLM-5.3&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Indice d’intelligence (Analyse Artificielle)&lt;/td&gt;
&lt;td&gt;57&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prix moyen par million de jetons&lt;/td&gt;
&lt;td&gt;0,10 $&lt;/td&gt;
&lt;td&gt;0,90 $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prix catalogue entrée / sortie par million&lt;/td&gt;
&lt;td&gt;0,15 $ / 0,50 $&lt;/td&gt;
&lt;td&gt;1,40 $ / 4,40 $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vitesse de sortie&lt;/td&gt;
&lt;td&gt;~49 jetons/s&lt;/td&gt;
&lt;td&gt;~86 jetons/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Temps au premier jeton&lt;/td&gt;
&lt;td&gt;1,52 s&lt;/td&gt;
&lt;td&gt;1,57 s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fenêtre contextuelle&lt;/td&gt;
&lt;td&gt;1 048 576 jetons&lt;/td&gt;
&lt;td&gt;1 048 576 jetons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entrée d’image native&lt;/td&gt;
&lt;td&gt;Oui&lt;/td&gt;
&lt;td&gt;Non, via adaptateur&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Paramètres&lt;/td&gt;
&lt;td&gt;320 Md au total / 18 Md actifs&lt;/td&gt;
&lt;td&gt;Plus grand, non entièrement divulgué&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Licence&lt;/td&gt;
&lt;td&gt;MIT, poids ouverts&lt;/td&gt;
&lt;td&gt;Poids ouverts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quota du plan de codage&lt;/td&gt;
&lt;td&gt;3×&lt;/td&gt;
&lt;td&gt;1×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Les mesures de vitesse et d’intelligence proviennent d’Analyse Artificielle. Les tarifs sont ceux de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;, hors réduction de lancement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pourquoi Flash coûte neuf fois moins cher
&lt;/h2&gt;

&lt;p&gt;GLM-5.3-Flash est un modèle MoE de 320 milliards de paramètres qui en active 18 milliards par jeton. Son architecture hybride combine attention linéaire et clairsemée.&lt;/p&gt;

&lt;p&gt;Selon &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;, Flash demande environ trois fois moins de calcul d’attention que GLM-5.3 et utilise un cache KV environ 4,4 fois plus petit. C’est déterminant pour les contextes longs : un cache KV plus compact réduit directement le coût de service d’une requête à 1 million de jetons.&lt;/p&gt;

&lt;p&gt;Vous ne payez donc pas moins pour une fenêtre plus petite, mais pour une empreinte d’inférence réellement plus faible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trois points d’intelligence : quand est-ce important ?
&lt;/h2&gt;

&lt;p&gt;L’écart entre 57 et 60 reste faible. Les deux modèles se situent très au-dessus du modèle à poids ouverts médian de taille comparable, évalué à 27.&lt;/p&gt;

&lt;p&gt;En pratique, les trois points d’écart apparaissent surtout sur :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;le raisonnement multi-étapes ;&lt;/li&gt;
&lt;li&gt;les agents exécutant de longues chaînes d’actions ;&lt;/li&gt;
&lt;li&gt;les instructions ambiguës ou sous-spécifiées.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ils sont rarement visibles sur l’extraction, la classification, le résumé, le routage ou l’édition d’un seul fichier.&lt;/p&gt;

&lt;p&gt;La règle pratique est simple :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sortie vérifiable par programme :&lt;/strong&gt; choisissez Flash. Vous pouvez détecter un échec, relancer et rester très loin sous le coût de GLM-5.3.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sortie évaluée par une personne :&lt;/strong&gt; GLM-5.3 peut justifier son coût si une légère amélioration de qualité compte davantage que le prix.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Flash n’est pas le plus rapide
&lt;/h2&gt;

&lt;p&gt;C’est le point contre-intuitif : GLM-5.3 génère environ 86 jetons/s, contre 49 jetons/s pour Flash. Le modèle plus cher produit donc les longues réponses presque deux fois plus vite.&lt;/p&gt;

&lt;p&gt;Le temps au premier jeton est quasiment identique :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flash : 1,52 s ;&lt;/li&gt;
&lt;li&gt;GLM-5.3 : 1,57 s.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conséquences :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Réponses courtes :&lt;/strong&gt; la différence est négligeable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Réponses de 4 000 jetons :&lt;/strong&gt; comptez environ 82 secondes avec Flash contre 47 secondes avec GLM-5.3.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Traitements batch parallèles :&lt;/strong&gt; Flash reste souvent préférable, car son coût permet davantage de concurrence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si vous diffusez une réponse longue à une personne qui attend, GLM-5.3 offre la meilleure expérience.&lt;/p&gt;

&lt;h2&gt;
  
  
  La multimodalité est le principal facteur de choix
&lt;/h2&gt;

&lt;p&gt;GLM-5.3-Flash accepte nativement images, vidéos et fichiers dans une requête de chat avec du texte. GLM-5.3 s’appuie sur des adaptateurs de vision séparés.&lt;/p&gt;

&lt;p&gt;Si votre application doit analyser une interface, une capture d’écran, un document ou un fichier avec son contexte textuel, Flash est le seul choix des deux qui réunit tout dans :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;un appel ;&lt;/li&gt;
&lt;li&gt;une fenêtre contextuelle ;&lt;/li&gt;
&lt;li&gt;une ligne de facturation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cette capacité est particulièrement utile avec 1 million de jetons de contexte : vous pouvez fournir une longue spécification et une capture du résultat construit dans la même invite.&lt;/p&gt;

&lt;p&gt;Consultez notre &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-vision-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de vision&lt;/a&gt; pour la charge utile et les flux de travail, ou le &lt;a href="https://apidog.com/fr/blog/glm-5v-turbo-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide API de GLM-5V-Turbo&lt;/a&gt; si vous maintenez une intégration plus ancienne.&lt;/p&gt;

&lt;h2&gt;
  
  
  Le cas des forfaits de codage
&lt;/h2&gt;

&lt;p&gt;Pour les abonnés au plan de codage GLM, Flash offre &lt;strong&gt;trois fois plus de quota utilisable&lt;/strong&gt; que GLM-5.3. &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; indique aussi que les appels hors pointe coûtent la moitié des points standards.&lt;/p&gt;

&lt;p&gt;Pour Claude Code ou Cline, utilisez Flash pour le volume et réservez GLM-5.3 aux problèmes de raisonnement les plus difficiles. La configuration des deux environnements est détaillée dans notre &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-claude-code-cline?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide Claude Code et Cline&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Vérifiez tout de même le multiplicateur actuel sur &lt;a href="http://z.ai" rel="noopener noreferrer"&gt;z.ai&lt;/a&gt; : les conditions des forfaits changent plus vite que les spécifications des modèles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Réduction de lancement jusqu’au 9 septembre 2026
&lt;/h2&gt;

&lt;p&gt;Une réduction de lancement de 50 % sur GLM-5.3-Flash est valide jusqu’au &lt;strong&gt;9 septembre 2026&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Pendant cette période, les tarifs effectifs sont :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;entrée : 0,075 $ par million de jetons ;&lt;/li&gt;
&lt;li&gt;sortie : 0,25 $ par million de jetons.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’écart avec GLM-5.3 atteint alors environ 18×. Après expiration, les tarifs catalogue de 0,15 $ en entrée et 0,50 $ en sortie ramènent l’écart à environ 9×.&lt;/p&gt;

&lt;p&gt;La réduction influe sur vos projections de coût, mais pas vraiment sur le choix par défaut : Flash reste nettement moins cher. Retrouvez le détail dans notre &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;analyse des prix&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Règle de décision
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Utilisez GLM-5.3-Flash si :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vos entrées incluent des images, vidéos ou fichiers ;&lt;/li&gt;
&lt;li&gt;vous optimisez le coût par jeton ;&lt;/li&gt;
&lt;li&gt;vous traitez de gros volumes d’extraction, classification ou routage ;&lt;/li&gt;
&lt;li&gt;vous souhaitez étendre votre quota de plan de codage ;&lt;/li&gt;
&lt;li&gt;vous voulez des poids ouverts sous licence MIT à auto-héberger.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour l’exécution locale et le matériel requis, consultez &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-locally?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;ce guide&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Utilisez GLM-5.3 si :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vous affichez de longues réponses à une personne qui attend ;&lt;/li&gt;
&lt;li&gt;votre charge repose sur un raisonnement long où de petites erreurs s’accumulent ;&lt;/li&gt;
&lt;li&gt;la sortie est jugée par une personne plutôt que validée par un test.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Utilisez les deux si vous pouvez router
&lt;/h3&gt;

&lt;p&gt;Envoyez la majorité du trafic vers Flash, puis escaladez vers GLM-5.3 lors d’un échec, d’une faible confiance ou pour certains types de tâche.&lt;/p&gt;

&lt;p&gt;Les deux modèles utilisent le même point de terminaison compatible OpenAI : le routage consiste simplement à changer l’ID du modèle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Migrer de GLM-5.3 vers Flash
&lt;/h2&gt;

&lt;p&gt;La mécanique est simple ; la validation est l’étape importante.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ne change pas :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL de base ;&lt;/li&gt;
&lt;li&gt;authentification ;&lt;/li&gt;
&lt;li&gt;formats de requête et de réponse ;&lt;/li&gt;
&lt;li&gt;streaming ;&lt;/li&gt;
&lt;li&gt;appels d’outils.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Change :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;coût par appel environ neuf fois inférieur ;&lt;/li&gt;
&lt;li&gt;débit de génération environ deux fois plus faible ;&lt;/li&gt;
&lt;li&gt;score de raisonnement inférieur de trois points ;&lt;/li&gt;
&lt;li&gt;ajout de l’entrée d’image native.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avant de basculer, exécutez vos invites réelles sur les deux modèles et comparez :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;la justesse des sorties vérifiables ;&lt;/li&gt;
&lt;li&gt;la latence de bout en bout, pas seulement le premier jeton ;&lt;/li&gt;
&lt;li&gt;les jetons remontés dans l’objet &lt;code&gt;usage&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;le comportement sur votre contexte réaliste le plus long.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Le dernier point est le plus important : deux modèles semblables sur des invites courtes peuvent diverger lorsque le contexte approche sa limite.&lt;/p&gt;

&lt;p&gt;Pour partir des bases, consultez &lt;a href="https://apidog.com/fr/blog/what-is-glm-5-3?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;ce qu’est GLM-5.3&lt;/a&gt; et le &lt;a href="https://apidog.com/fr/blog/how-to-use-glm-5-3-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide API GLM-5.3&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testez avec vos propres invites
&lt;/h2&gt;

&lt;p&gt;Les benchmarks sont utiles, mais ils ne remplacent pas vos données et vos contraintes. Pointez un client compatible OpenAI vers :&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://api.z.ai/api/paas/v4/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Puis exécutez les mêmes invites avec &lt;code&gt;glm-5.3-flash&lt;/code&gt; et &lt;code&gt;glm-5.3&lt;/code&gt;. Comparez sorties, latence et consommation de jetons sur votre trafic réel. Le &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide API Flash&lt;/a&gt; fournit la configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjnhjauauoifoey3szik7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjnhjauauoifoey3szik7.png" width="799" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dans &lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;, placez les deux appels dans une même collection, utilisez une variable d’environnement pour l’ID du modèle, ajoutez des assertions sur les champs exploités par votre application et relancez la comparaison lorsque les tarifs ou les modèles évoluent.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GLM-5.3-Flash est-il simplement une version plus petite de GLM-5.3 ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Non. C’est un modèle de base entraîné séparément, avec une architecture d’attention différente ; ce n’est ni une distillation ni une version élaguée.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ont-ils la même fenêtre contextuelle ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui : 1 048 576 jetons pour les deux.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lequel est meilleur pour le codage ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Selon &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;, Flash atteint 84,3 sur Terminal-Bench 2.1 et 63,4 sur DeepSWE. GLM-5.3 reste légèrement meilleur en raisonnement général. Pour les abonnés aux forfaits de codage, le quota 3× de Flash est généralement décisif.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Puis-je passer de l’un à l’autre sans modifier mon code ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui. Ils utilisent le même point de terminaison compatible OpenAI ; seul l’ID du modèle change. L’entrée d’image reste exclusive à Flash.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Le modèle le moins cher restera-t-il moins cher ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
L’avantage tarifaire repose sur un cache KV plus petit et moins de calcul d’attention, pas uniquement sur une promotion. La réduction supplémentaire de 50 % expire toutefois le 9 septembre 2026.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Comment utiliser l'API GLM-5.3-Flash avec des images en entrée</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Thu, 27 Aug 2026 03:33:45 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/comment-utiliser-lapi-glm-53-flash-avec-des-images-en-entree-5b5o</link>
      <guid>https://dev.to/antoine_laurentt/comment-utiliser-lapi-glm-53-flash-avec-des-images-en-entree-5b5o</guid>
      <description>&lt;h1&gt;
  
  
  GLM-5.3-Flash API : texte, images, streaming et outils
&lt;/h1&gt;

&lt;p&gt;GLM-5.3-Flash est compatible OpenAI : pour effectuer un premier appel, pointez simplement un client existant vers une nouvelle URL de base et utilisez le modèle &lt;code&gt;glm-5.3-flash&lt;/code&gt;. Son ajout majeur est l’entrée d’images dans la même requête que le texte.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F08%2Fimage-133.png%3Futm_source%3Ddev.to%26utm_medium%3Dwanda%26utm_content%3Dn8n-post-automation" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.apidog.com%2Fblog-next%2F2026%2F08%2Fimage-133.png%3Futm_source%3Ddev.to%26utm_medium%3Dwanda%26utm_content%3Dn8n-post-automation" alt="GLM-5.3-Flash" width="760" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Avant de commencer, consultez &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-what-is?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre présentation de GLM-5.3-Flash&lt;/a&gt;. Si vous utilisez déjà GLM-5.3, lisez aussi &lt;a href="https://apidog.com/fr/blog/how-to-use-glm-5-3-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;le guide API de GLM-5.3&lt;/a&gt; : GLM-5.3-Flash utilise un ID de modèle, une tarification et une prise en charge native des images différents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Obtenir une clé API
&lt;/h2&gt;

&lt;p&gt;Créez un compte sur &lt;a href="http://z.ai" rel="noopener noreferrer"&gt;z.ai&lt;/a&gt;, générez une clé API dans le tableau de bord, puis stockez-la dans une variable d’environnement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ZAI_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"votre-clé-ici"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;L’URL de base de l’API standard est :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.z.ai/api/paas/v4/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Les points de terminaison du plan de codage utilisent une URL distincte. Consultez &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-claude-code-cline?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide Claude Code et Cline&lt;/a&gt; si vous configurez ces outils.&lt;/p&gt;

&lt;h2&gt;
  
  
  Effectuer un premier appel
&lt;/h2&gt;

&lt;p&gt;Le SDK OpenAI officiel fonctionne directement.&lt;/p&gt;

&lt;h3&gt;
  
  
  Python
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;REDACTED&lt;/span&gt; &lt;span class="n"&gt;CREDENTIAL&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.z.ai/api/paas/v4/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;glm-5.3-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain what a KV cache is in two sentences.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  cURL
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://api.z.ai/api/paas/v4/chat/completions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"[REDACTED CREDENTIAL] &lt;/span&gt;&lt;span class="nv"&gt;$ZAI_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "model": "glm-5.3-flash",
    "messages": [
      {"role": "user", "content": "Explain what a KV cache is in two sentences."}
    ]
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Node.js
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;OpenAI&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;openai&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;REDACTED&lt;/span&gt; &lt;span class="nx"&gt;CREDENTIAL&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="na"&gt;baseURL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://api.z.ai/api/paas/v4/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;glm-5.3-flash&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;user&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Explain what a KV cache is in two sentences.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;À part l’URL de base et l’ID de modèle, rien n’est spécifique à GLM. Cela facilite les benchmarks sur votre propre charge de travail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Envoyer des images
&lt;/h2&gt;

&lt;p&gt;Contrairement à GLM-5.3, GLM-5.3-Flash accepte des images via des blocs de contenu typés :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;glm-5.3-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;This screenshot shows a rendering bug. What is wrong with the layout?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://example.com/screenshots/broken-layout.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
                    &lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Appliquez ces règles :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Utilisez une URL publique ou une URL de données base64.&lt;/strong&gt; Pour une image locale ou privée :
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;   &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;base64&lt;/span&gt;

   &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;broken-layout.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rb&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
       &lt;span class="n"&gt;encoded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;base64&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;b64encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()).&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

   &lt;span class="n"&gt;image_block&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
       &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;data:image/png;base64,&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;encoded&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ajoutez une image par bloc &lt;code&gt;image_url&lt;/code&gt;.&lt;/strong&gt; Pour comparer un design et son implémentation :
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;   &lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
       &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Does the second image match the design in the first?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
       &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;design_data_url&lt;/span&gt;&lt;span class="p"&gt;}},&lt;/span&gt;
       &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;built_data_url&lt;/span&gt;&lt;span class="p"&gt;}},&lt;/span&gt;
   &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Placez les instructions avant les images.&lt;/strong&gt; Le modèle lit les blocs séquentiellement.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Z.ai mentionne aussi les entrées vidéo et fichier avec ce mécanisme. Validez toutefois la vidéo avec vos propres médias avant de bâtir une fonctionnalité dessus.&lt;/p&gt;

&lt;p&gt;Pour les workflows de capture d’écran vers le code et l’utilisation d’images avec de longs documents, consultez &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-vision-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide de vision GLM-5.3-Flash&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contrôler l’effort de raisonnement
&lt;/h2&gt;

&lt;p&gt;Utilisez &lt;code&gt;reasoning_effort&lt;/code&gt; pour ajuster le coût et la profondeur de raisonnement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;glm-5.3-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Refactor this function for clarity.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;
    &lt;span class="n"&gt;extra_body&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;reasoning_effort&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;low&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Valeurs disponibles :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;low&lt;/code&gt; : classification, extraction et traitements par lots sensibles aux coûts ;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;high&lt;/code&gt; : tâches intermédiaires ;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;max&lt;/code&gt; : valeur par défaut et option la plus coûteuse.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec le SDK Python OpenAI, passez ce paramètre via &lt;code&gt;extra_body&lt;/code&gt;, car il ne fait pas partie du schéma OpenAI standard. En cURL, utilisez simplement un champ de premier niveau.&lt;/p&gt;

&lt;h2&gt;
  
  
  Paramètres d’échantillonnage recommandés
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cas d’utilisation&lt;/th&gt;
&lt;th&gt;&lt;code&gt;temperature&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;top_p&lt;/code&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Général&lt;/td&gt;
&lt;td&gt;1.0&lt;/td&gt;
&lt;td&gt;0.95&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codage&lt;/td&gt;
&lt;td&gt;0.95&lt;/td&gt;
&lt;td&gt;1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Les écarts sont faibles, mais le profil codage est le premier à tester si vos sorties de code sont incohérentes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Activer le streaming
&lt;/h2&gt;

&lt;p&gt;Les sémantiques de streaming OpenAI restent identiques :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;stream&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;glm-5.3-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Write a bash script that rotates logs.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;
    &lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;delta&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;flush&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Selon Artificial Analysis, GLM-5.3-Flash produit environ 49 jetons par seconde, contre environ 86 pour GLM-5.3. Son temps au premier jeton est d’environ 1,52 seconde : il commence rapidement, puis génère à un rythme régulier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Utiliser l’appel d’outils
&lt;/h2&gt;

&lt;p&gt;Définissez les outils avec le schéma OpenAI standard :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;tools&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;function&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;function&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;get_deployment_status&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Returns the current status of a named deployment.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;parameters&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;object&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;properties&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;service&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;string&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The service name, for example &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;checkout-api&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="p"&gt;}&lt;/span&gt;
                &lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;required&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;service&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;glm-5.3-flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Is checkout-api healthy?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;
    &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;call&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;tool_calls&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;call&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;function&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;call&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;function&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;arguments&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Z.ai indique un score AutomationBench de 48,8 pour GLM-5.3-Flash, contre 26,2 pour GLM-5.2. Ce sont des chiffres fournisseur, mais ils concordent avec un modèle optimisé pour les boucles d’appel d’outils.&lt;/p&gt;

&lt;p&gt;Si vous possédez déjà une API, consultez &lt;a href="https://apidog.com/fr/blog/openapi-spec-as-agent-tools?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide pour transformer une spécification OpenAPI en outils d’agent&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gérer les erreurs courantes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Limites de débit
&lt;/h3&gt;

&lt;p&gt;Réessayez avec un backoff exponentiel et une gigue afin d’éviter des rafales de réessais synchronisés :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;random&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;RateLimitError&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;call_with_retry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;kwargs&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;attempt&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;kwargs&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="n"&gt;RateLimitError&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;attempt&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;raise&lt;/span&gt;
            &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt; &lt;span class="n"&gt;attempt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Débordement de contexte
&lt;/h3&gt;

&lt;p&gt;La fenêtre de contexte atteint 1 million de jetons, mais les images consomment elles aussi du contexte. Comptez le budget d’entrée avant d’envoyer un long document accompagné d’images haute résolution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sortie tronquée
&lt;/h3&gt;

&lt;p&gt;Si une réponse s’arrête brusquement, vérifiez &lt;code&gt;finish_reason&lt;/code&gt;. La valeur &lt;code&gt;length&lt;/code&gt; signifie que la limite de sortie a été atteinte, et non que le modèle a abandonné.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lire l’utilisation des jetons
&lt;/h2&gt;

&lt;p&gt;L’objet &lt;code&gt;usage&lt;/code&gt; est la source fiable pour mesurer le coût réel :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;usage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;prompt_tokens&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;usage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completion_tokens&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Surveillez surtout &lt;code&gt;completion_tokens&lt;/code&gt;. Avec &lt;code&gt;reasoning_effort="max"&lt;/code&gt;, les jetons de raisonnement sont facturés comme sortie, même si la réponse visible est courte. Comparez les niveaux d’effort avec vos propres prompts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tarification
&lt;/h2&gt;

&lt;p&gt;Les tarifs catalogue annoncés sont :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type de jeton&lt;/th&gt;
&lt;th&gt;Prix par million&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Entrée&lt;/td&gt;
&lt;td&gt;0,15 $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sortie&lt;/td&gt;
&lt;td&gt;0,50 $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entrée mise en cache&lt;/td&gt;
&lt;td&gt;0,03 $&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Une réduction de lancement de 50 % est valable jusqu’au 9 septembre 2026, ce qui ramène les tarifs à 0,075 $, 0,25 $ et 0,015 $.&lt;/p&gt;

&lt;p&gt;Les prix diffèrent selon les revendeurs, notamment OpenRouter, Cloudflare Workers AI, Vercel AI Gateway et DeepInfra. Consultez &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre analyse des prix&lt;/a&gt;, puis vérifiez le tarif du fournisseur réellement utilisé avant de définir votre budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tester votre intégration
&lt;/h2&gt;

&lt;p&gt;Testez au minimum trois requêtes : texte, image et appel d’outil. Conservez-les dans une collection, ajoutez des assertions sur les champs réellement lus par votre application et stockez la clé API comme variable d’environnement.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; permet d’enregistrer ces requêtes, de réexécuter les scénarios et de comparer les réponses. Lorsque la promotion prend fin ou que vous envisagez un passage vers GLM-5.3, changez l’ID du modèle à un seul endroit et exécutez la même suite de tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Quel est l’ID exact du modèle ?
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;glm-5.3-flash&lt;/code&gt; sur l’API &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;. Sur OpenRouter, utilisez &lt;code&gt;z-ai/glm-5.3-flash&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Le SDK OpenAI fonctionne-t-il sans modification ?
&lt;/h3&gt;

&lt;p&gt;Oui, pour les complétions de chat, le streaming et l’appel d’outils. Dans le SDK Python, les paramètres non standards comme &lt;code&gt;reasoning_effort&lt;/code&gt; passent par &lt;code&gt;extra_body&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Combien d’images puis-je envoyer dans une requête ?
&lt;/h3&gt;

&lt;p&gt;Plusieurs, à raison d’un bloc &lt;code&gt;image_url&lt;/code&gt; par image. La limite pratique dépend surtout de votre budget de contexte.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pourquoi les réponses sont-elles lentes ou verbeuses ?
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;reasoning_effort&lt;/code&gt; vaut &lt;code&gt;max&lt;/code&gt; par défaut. Passez à &lt;code&gt;low&lt;/code&gt; pour les tâches qui n’exigent pas de délibération.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quelle est la longueur maximale de sortie ?
&lt;/h3&gt;

&lt;p&gt;Les sources divergent : OpenRouter indique 131 072 jetons et la carte Hugging Face 163 840 jetons. Vérifiez la limite auprès de votre fournisseur avant de dépendre de générations très longues.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Comment utiliser GLM-5.3-Flash dans Claude Code et Cline</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Thu, 27 Aug 2026 03:33:08 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/comment-utiliser-glm-53-flash-dans-claude-code-et-cline-3ged</link>
      <guid>https://dev.to/antoine_laurentt/comment-utiliser-glm-53-flash-dans-claude-code-et-cline-3ged</guid>
      <description>&lt;p&gt;Si vous êtes déjà abonné au Plan de Codage GLM, GLM-5.3-Flash mérite votre attention pour une raison : il offrirait &lt;strong&gt;trois fois le quota utilisable&lt;/strong&gt; de GLM-5.3 sur le même plan, contre un score de 57 sur l’Artificial Analysis Intelligence Index au lieu de 60.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Pour le codage quotidien, ce compromis est souvent avantageux. Voici comment configurer Flash dans Claude Code et Cline, éviter les erreurs courantes et réserver GLM-5.3 aux tâches les plus difficiles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prérequis
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Un abonnement au Plan de Codage GLM de &lt;a href="http://z.ai" rel="noopener noreferrer"&gt;z.ai&lt;/a&gt;, à partir d’environ 18&amp;nbsp;$ par mois.&lt;/li&gt;
&lt;li&gt;Une clé API depuis le tableau de bord &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Claude Code ou Cline installé.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vérifiez les quotas et les niveaux de plan directement sur &lt;a href="http://z.ai" rel="noopener noreferrer"&gt;z.ai&lt;/a&gt; avant de vous engager : les conditions évoluent régulièrement, et le multiplicateur 3x provient de la documentation de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configurer Claude Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; propose un point de terminaison compatible avec Anthropic. Dans Claude Code, il suffit donc de rediriger l’URL de base et le jeton.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option rapide
&lt;/h3&gt;

&lt;p&gt;L’assistant de Z.ai configure automatiquement votre environnement&amp;nbsp;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @z_ai/coding-helper
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Saisissez votre clé API lorsqu’il vous la demande, puis sélectionnez &lt;code&gt;glm-5.3-flash&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option manuelle
&lt;/h3&gt;

&lt;p&gt;Ajoutez ces variables à votre profil shell&amp;nbsp;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"https://api.z.ai/api/anthropic"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"your-z-ai-key"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lancez ensuite Claude Code normalement : les requêtes seront envoyées à &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Points à vérifier&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt; et &lt;code&gt;ANTHROPIC_AUTH_TOKEN&lt;/code&gt; sont différents.&lt;/strong&gt; Supprimez toute ancienne variable &lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt;, car avoir les deux peut provoquer des erreurs d’authentification trompeuses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Les variables doivent être visibles par le processus.&lt;/strong&gt; Si vous lancez Claude Code depuis un IDE ou un lanceur, vérifiez qu’il charge votre profil shell. Testez dans le même contexte avec&amp;nbsp;:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ANTHROPIC_BASE_URL&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Choisir le modèle
&lt;/h3&gt;

&lt;p&gt;Si votre environnement utilise un fichier de configuration, définissez le modèle ainsi&amp;nbsp;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"glm-5.3-flash"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pour les requêtes longues, augmentez le délai d’attente&amp;nbsp;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;API_TIMEOUT_MS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3000000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Une fenêtre de contexte de 1&amp;nbsp;million de jetons peut produire des requêtes légitimement longues. Cette valeur vient de la configuration GLM-5.2&amp;nbsp;; adaptez-la selon votre usage. Consultez aussi notre &lt;a href="https://apidog.com/fr/blog/glm-5-2-claude-code-cline-cursor?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide d’intégration de GLM-5.2&lt;/a&gt; si vous migrez une configuration existante.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configurer Cline
&lt;/h2&gt;

&lt;p&gt;Cline utilise son fournisseur compatible OpenAI&amp;nbsp;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ouvrez les paramètres de Cline.&lt;/li&gt;
&lt;li&gt;Choisissez &lt;strong&gt;Compatible OpenAI&lt;/strong&gt; comme fournisseur d’API.&lt;/li&gt;
&lt;li&gt;Définissez l’URL de base sur &lt;code&gt;https://api.z.ai/api/coding/paas/v4&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Collez votre clé API &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Sélectionnez &lt;strong&gt;Modèle personnalisé&lt;/strong&gt; et entrez &lt;code&gt;glm-5.3-flash&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Utilisez bien l’URL du Plan de Codage&amp;nbsp;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.z.ai/api/coding/paas/v4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Elle est différente de l’URL API standard&amp;nbsp;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.z.ai/api/paas/v4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;L’URL standard sert aux appels API directs, comme dans &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide API&lt;/a&gt;. Utiliser cette URL avec une clé de Plan de Codage entraîne fréquemment des erreurs d’autorisation. Vérifiez toujours les chemins actuels dans la documentation de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Régler la fenêtre contextuelle
&lt;/h3&gt;

&lt;p&gt;Cline n’infère pas toujours correctement la fenêtre contextuelle des modèles personnalisés. Pour les grandes bases de code, définissez-la manuellement sur &lt;strong&gt;1&amp;nbsp;000&amp;nbsp;000&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Sans ce réglage, Cline peut supprimer des fichiers du contexte trop tôt, même si le modèle peut les conserver.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pourquoi utiliser Flash pour le codage agentique&amp;nbsp;?
&lt;/h2&gt;

&lt;p&gt;D’après les chiffres de lancement de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;&amp;nbsp;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;GLM-5.3-Flash&lt;/th&gt;
&lt;th&gt;GLM-5.2&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Terminal-Bench 2.1&lt;/td&gt;
&lt;td&gt;84.3&lt;/td&gt;
&lt;td&gt;non directement comparable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSWE&lt;/td&gt;
&lt;td&gt;63.4&lt;/td&gt;
&lt;td&gt;46.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AutomationBench&lt;/td&gt;
&lt;td&gt;48.8&lt;/td&gt;
&lt;td&gt;26.2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Le score Terminal-Bench a été évalué avec Claude Code 2.1.207, ce qui le rend pertinent pour cet environnement. Ces résultats restent toutefois des affirmations du fournisseur en l’absence de reproductions indépendantes.&lt;/p&gt;

&lt;p&gt;Artificial Analysis attribue à Flash un Indice d’Intelligence de 57, contre 60 pour GLM-5.3.&lt;/p&gt;

&lt;p&gt;Flash ajoute aussi une capacité utile pour le développement front-end : l’&lt;strong&gt;entrée d’image native&lt;/strong&gt;. Vous pouvez fournir une capture d’écran d’une interface cassée avec votre code afin que le modèle analyse le rendu réel, plutôt qu’une simple description. &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; met en avant cette capacité d’observation des interfaces&amp;nbsp;; notre &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-vision-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;guide de vision&lt;/a&gt; explique cette intégration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Le compromis : quota contre vitesse
&lt;/h2&gt;

&lt;p&gt;GLM-5.3-Flash génère environ &lt;strong&gt;49 jetons par seconde&lt;/strong&gt;, contre environ &lt;strong&gt;86&lt;/strong&gt; pour GLM-5.3.&lt;/p&gt;

&lt;p&gt;Le temps jusqu’au premier jeton est presque identique — 1,52 contre 1,57 seconde — mais les longues sorties, comme une réécriture de fichier de 800 lignes, seront plus lentes avec Flash.&lt;/p&gt;

&lt;p&gt;En pratique&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Utilisez &lt;strong&gt;Flash&lt;/strong&gt; pour l’exploration, la lecture de code, les commandes, les petites modifications, les appels d’outils et les tâches liées aux images.&lt;/li&gt;
&lt;li&gt;Passez à &lt;strong&gt;GLM-5.3&lt;/strong&gt; pour les problèmes d’architecture, les longues refactorisations ou après un premier échec de Flash.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Changer de modèle revient à modifier son identifiant dans la configuration. Cette stratégie conserve l’essentiel du volume sur le modèle à quota 3x et réserve le quota plus coûteux aux tâches qui le justifient.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; indique également que les appels hors pointe consomment la moitié des points standards. Planifier les tâches agentiques par lots ou en arrière-plan peut donc étendre davantage votre plan.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dépannage
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Erreurs 401 ou 403 sur toutes les requêtes.&lt;/strong&gt; Vérifiez l’URL de base associée à votre type de clé et supprimez une éventuelle variable &lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt; qui masquerait &lt;code&gt;ANTHROPIC_AUTH_TOKEN&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modèle introuvable.&lt;/strong&gt; L’identifiant exact est &lt;code&gt;glm-5.3-flash&lt;/code&gt;. Sur OpenRouter, il devient &lt;code&gt;z-ai/glm-5.3-flash&lt;/code&gt;&amp;nbsp;; cet identifiant n’est pas interchangeable avec celui de &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contexte tronqué prématurément dans Cline.&lt;/strong&gt; Réglez manuellement la fenêtre contextuelle sur &lt;code&gt;1000000&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Délais d’attente sur les requêtes importantes.&lt;/strong&gt; Augmentez &lt;code&gt;API_TIMEOUT_MS&lt;/code&gt;. Une requête avec un contexte réellement long peut dépasser les délais par défaut sans indiquer un problème côté service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quota épuisé trop vite.&lt;/strong&gt; &lt;code&gt;reasoning_effort&lt;/code&gt; utilise &lt;code&gt;max&lt;/code&gt; par défaut et les jetons de raisonnement sont comptés. Si votre environnement le permet, utilisez &lt;code&gt;low&lt;/code&gt; pour les tâches routinières.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Appels d’outils invalides ou échoués.&lt;/strong&gt; Vérifiez que l’environnement et le point de terminaison utilisent le même format d’appel d’outil. C’est la partie la plus sensible aux mises à jour d’intégration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Autres environnements
&lt;/h2&gt;

&lt;p&gt;La même logique s’applique à la plupart des outils&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Les outils compatibles Anthropic — Claude Code et certains frameworks d’agents — utilisent &lt;code&gt;https://api.z.ai/api/anthropic&lt;/code&gt; avec &lt;code&gt;ANTHROPIC_AUTH_TOKEN&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Les outils compatibles OpenAI — Cline, Roo, Kilo, OpenCode, Codex et le modèle personnalisé de Cursor — utilisent &lt;code&gt;https://api.z.ai/api/coding/paas/v4&lt;/code&gt;, votre clé API standard et &lt;code&gt;glm-5.3-flash&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour les générations précédentes, consultez &lt;a href="https://apidog.com/fr/blog/glm-5-1-claude-code?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;GLM-5.1 avec Claude Code&lt;/a&gt; et &lt;a href="https://apidog.com/fr/blog/claude-code-cursor-glm-4-7?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Claude Code et Cursor avec GLM-4.7&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vérifier la connexion
&lt;/h2&gt;

&lt;p&gt;Testez d’abord le point de terminaison directement&amp;nbsp;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://api.z.ai/api/coding/paas/v4/chat/completions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"[REDACTED CREDENTIAL] &lt;/span&gt;&lt;span class="nv"&gt;$ZAI_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "model": "glm-5.3-flash",
    "messages": [{"role": "user", "content": "reply with OK"}]
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si cet appel renvoie une complétion mais que votre environnement échoue, le problème vient de la configuration locale, pas de vos identifiants.&lt;/p&gt;

&lt;p&gt;Pour conserver et comparer ces requêtes, &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; est plus pratique que l’historique du shell. Enregistrez les points de terminaison de codage et standard côte à côte, stockez la clé comme variable d’environnement et isolez rapidement un problème de point de terminaison d’un problème d’outil.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Ai-je besoin d’un Plan de Codage ou les crédits API suffisent-ils&amp;nbsp;?&lt;/strong&gt; Les deux fonctionnent. Le Plan de Codage est généralement plus économique pour un développement quotidien, tandis que l’accès API mesuré convient mieux aux applications. &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre article sur les tarifs&lt;/a&gt; les compare.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flash offre-t-il vraiment 3x le quota de GLM-5.3&amp;nbsp;?&lt;/strong&gt; C’est le chiffre annoncé par &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;. Vérifiez-le sur &lt;a href="http://z.ai/subscribe" rel="noopener noreferrer"&gt;z.ai/subscribe&lt;/a&gt; avant de planifier votre utilisation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pourquoi Cline tronque-t-il mon contexte&amp;nbsp;?&lt;/strong&gt; Définissez manuellement la fenêtre contextuelle sur 1&amp;nbsp;000&amp;nbsp;000.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quelle URL de base utiliser&amp;nbsp;?&lt;/strong&gt; Utilisez &lt;code&gt;https://api.z.ai/api/anthropic&lt;/code&gt; pour Claude Code, &lt;code&gt;https://api.z.ai/api/coding/paas/v4&lt;/code&gt; pour les outils compatibles OpenAI avec le Plan de Codage, et &lt;code&gt;https://api.z.ai/api/paas/v4&lt;/code&gt; pour les appels API directs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Puis-je coller des captures d’écran dans Claude Code avec Flash&amp;nbsp;?&lt;/strong&gt; Le modèle prend en charge l’entrée d’image native. Vérifiez toutefois que votre version de l’environnement expose cette capacité avant d’en dépendre.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Comment tester l'API GLM-5.3-Flash dans Apidog</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Thu, 27 Aug 2026 03:31:45 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/comment-tester-lapi-glm-53-flash-dans-apidog-5c38</link>
      <guid>https://dev.to/antoine_laurentt/comment-tester-lapi-glm-53-flash-dans-apidog-5c38</guid>
      <description>&lt;h1&gt;
  
  
  Tester GLM-5.3-Flash avec une collection Apidog réutilisable
&lt;/h1&gt;

&lt;p&gt;Échanger un LLM dans votre application ne demande qu’une ligne de code, mais peut modifier fortement la latence, le coût des jetons, la stabilité du format de sortie, les appels d’outils et le traitement des images.&lt;/p&gt;

&lt;p&gt;GLM-5.3-Flash illustre bien ces compromis : il coûte environ neuf fois moins cher que GLM-5.3, accepte nativement les images, mais génère environ deux fois moins vite. Pour savoir quel modèle convient à votre application, testez vos propres requêtes sur les deux.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Ce guide montre comment créer une collection de tests réutilisable pour l’API GLM-5.3-Flash dans &lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; : texte, images, appels d’outils, assertions et comparaison avec GLM-5.3.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pourquoi ne pas utiliser uniquement curl ?
&lt;/h2&gt;

&lt;p&gt;Vous pouvez tester ce point de terminaison avec curl ; &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide d’API&lt;/a&gt; fournit un exemple complet. Mais deux problèmes apparaissent rapidement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Les charges utiles d’images Base64 sont illisibles.&lt;/strong&gt; Une capture d’écran encodée en URL de données peut contenir des milliers de caractères. Une commande collée dans le terminal devient difficile à lire, à modifier et à réexécuter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rien n’est vérifié automatiquement.&lt;/strong&gt; Une réponse curl confirme seulement que l’appel a réussi. Elle ne garantit pas que les champs utilisés par votre application sont présents, ni que le modèle n’a pas tronqué sa réponse.&lt;/p&gt;

&lt;p&gt;Une collection enregistrée règle ces deux problèmes : la charge utile reste modifiable et les assertions sont exécutées à chaque lancement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configurer l’environnement
&lt;/h2&gt;

&lt;p&gt;Créez un environnement contenant les valeurs susceptibles de changer. Gardez surtout l’ID du modèle dans une variable afin de pouvoir rediriger toute la collection vers un autre modèle.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Variable&lt;/th&gt;
&lt;th&gt;Valeur&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;base_url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;https://api.z.ai/api/paas/v4&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;api_key&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Votre clé &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;glm-5.3-flash&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Stockez la clé dans une variable d’environnement plutôt que directement dans les en-têtes de requête. Elle restera ainsi absente des collections exportées ou partagées.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requête 1 : complétion de texte
&lt;/h2&gt;

&lt;p&gt;Créez une requête &lt;code&gt;POST&lt;/code&gt; vers &lt;code&gt;{{base_url}}/chat/completions&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;En-têtes :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Authorization: Bearer {{api_key}}
Content-Type: application/json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Corps :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"{{model}}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"messages"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"role"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"user"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Reply with exactly: OK"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"reasoning_effort"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"low"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;reasoning_effort&lt;/code&gt; vaut &lt;code&gt;max&lt;/code&gt; par défaut sur ce modèle. Le raisonnement étant facturé comme des jetons de sortie, utilisez &lt;code&gt;low&lt;/code&gt; pour un simple test de connectivité.&lt;/p&gt;

&lt;p&gt;Ajoutez les assertions suivantes :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Le code de statut est égal à &lt;code&gt;200&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;choices[0].message.content&lt;/code&gt; existe.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;choices[0].finish_reason&lt;/code&gt; est égal à &lt;code&gt;stop&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;usage.total_tokens&lt;/code&gt; existe.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L’assertion sur &lt;code&gt;finish_reason&lt;/code&gt; est essentielle. Une valeur &lt;code&gt;length&lt;/code&gt; indique que la réponse a atteint la limite de sortie au lieu d’être terminée. Comme la limite maximale annoncée pour ce modèle varie selon les sources, vérifiez explicitement ce cas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requête 2 : appel d’image
&lt;/h2&gt;

&lt;p&gt;Cette requête vérifie la capacité native de traitement d’images de GLM-5.3-Flash, que GLM-5.3 ne possède pas.&lt;/p&gt;

&lt;p&gt;Le point de terminaison reste identique, mais &lt;code&gt;content&lt;/code&gt; devient un tableau de blocs typés :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"{{model}}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"messages"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"role"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"user"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Quelle est la couleur de la forme dominante dans cette image ? Répondez en un seul mot."&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"image_url"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"image_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"{{test_image_url}}"&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"reasoning_effort"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"low"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ajoutez &lt;code&gt;test_image_url&lt;/code&gt; à l’environnement et faites-la pointer vers une image publique et stable dont vous connaissez la réponse. Une question déterministe sur une image fixe transforme cette démonstration en véritable test de régression.&lt;/p&gt;

&lt;p&gt;Pour une image locale, le même champ accepte une URL de données Base64. Stockez-la comme variable d’environnement :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;data:image/png;base64,iVBORw0KGgo...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Assertions recommandées :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Le code de statut est égal à &lt;code&gt;200&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;choices[0].message.content&lt;/code&gt; contient la réponse attendue.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;usage.prompt_tokens&lt;/code&gt; est supérieur à celui de la requête textuelle seule.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les images consomment des jetons d’entrée. Si le nombre de jetons d’invite n’augmente pas, l’image n’a probablement pas été traitée, même si l’API renvoie &lt;code&gt;200&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Consultez &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-vision-api?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide de vision GLM-5.3-Flash&lt;/a&gt; pour les détails du chemin de vision et ses principaux modes de défaillance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requête 3 : appel d’outils
&lt;/h2&gt;

&lt;p&gt;Si votre application utilise les appels de fonctions, testez-les séparément. Le format des appels d’outils est particulièrement sensible aux changements de version du modèle ou du fournisseur.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"{{model}}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"messages"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"role"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"user"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Le service checkout-api est-il sain ?"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tools"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"function"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"function"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"get_deployment_status"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Renvoie le statut actuel d'un déploiement nommé."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"parameters"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"object"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"properties"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"service"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"string"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Le nom du service."&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"required"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"service"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Assertions :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;choices[0].message.tool_calls&lt;/code&gt; existe et n’est pas vide.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;choices[0].message.tool_calls[0].function.name&lt;/code&gt; est égal à &lt;code&gt;get_deployment_status&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;choices[0].finish_reason&lt;/code&gt; est égal à &lt;code&gt;tool_calls&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vérifier le nom de la fonction permet de détecter un modèle qui appelle le mauvais outil, et pas seulement l’absence totale d’appel.&lt;/p&gt;

&lt;p&gt;Si vous générez les définitions depuis une API existante, &lt;a href="https://apidog.com/fr/blog/openapi-spec-as-agent-tools?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide sur la conversion d’une spécification OpenAPI en outils d’agent&lt;/a&gt; explique comment éviter de rédiger manuellement les schémas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparer GLM-5.3 et GLM-5.3-Flash
&lt;/h2&gt;

&lt;p&gt;Grâce à la variable &lt;code&gt;model&lt;/code&gt;, la comparaison est rapide :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Dupliquez l’environnement.&lt;/li&gt;
&lt;li&gt;Remplacez &lt;code&gt;model&lt;/code&gt; par &lt;code&gt;glm-5.3&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Exécutez la même collection.&lt;/li&gt;
&lt;li&gt;Comparez les résultats.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Concentrez-vous sur trois critères :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Exactitude.&lt;/strong&gt; Les assertions passent-elles toujours ? La requête d’image échouera avec GLM-5.3, qui ne prend pas les images en charge nativement. Il s’agit d’un résultat attendu, pas d’un test défectueux.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latence.&lt;/strong&gt; Apidog affiche le temps de réponse par requête. GLM-5.3 devrait terminer plus vite les sorties longues : environ 86 jetons par seconde contre 49 pour Flash.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coût.&lt;/strong&gt; L’objet &lt;code&gt;usage&lt;/code&gt; fournit &lt;code&gt;prompt_tokens&lt;/code&gt; et &lt;code&gt;completion_tokens&lt;/code&gt;. Multipliez-les par le tarif de chaque modèle pour obtenir un coût réel par requête. &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre guide des tarifs&lt;/a&gt; présente les prix actuels, tandis que &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-vs-glm-5-3?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;la comparaison complète des modèles&lt;/a&gt; détaille leurs points forts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Surveillez aussi &lt;code&gt;completion_tokens&lt;/code&gt; selon la valeur de &lt;code&gt;reasoning_effort&lt;/code&gt;. Avec la valeur par défaut &lt;code&gt;max&lt;/code&gt;, les jetons de raisonnement sont facturés comme des jetons de sortie. Une réponse visible très courte peut donc cacher un volume important de jetons. Exécutez la même invite avec &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt; et &lt;code&gt;max&lt;/code&gt; pour mesurer le besoin réel de votre charge de travail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tester un déploiement local
&lt;/h2&gt;

&lt;p&gt;Si vous auto-hébergez les poids, vLLM et SGLang exposent tous deux des points de terminaison compatibles OpenAI. Remplacez &lt;code&gt;base_url&lt;/code&gt; par l’URL de votre serveur et réutilisez la même collection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F76hcvpe5zwrqnnncr0kd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F76hcvpe5zwrqnnncr0kd.png" width="799" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;C’est l’un des usages les plus utiles de cette suite. Une version quantifiée peut réussir un test de chat basique tout en échouant sur les schémas d’outils ou les entrées d’image — précisément les problèmes qui apparaissent en production.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-locally?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre guide du déploiement local&lt;/a&gt; couvre la partie infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Intégrer la collection dans la CI
&lt;/h2&gt;

&lt;p&gt;Lorsque la collection est stable, exécutez-la selon un calendrier ou dans votre pipeline CI.&lt;/p&gt;

&lt;p&gt;Déclencheurs utiles :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Avant une migration de modèle, comme signal de validation ou de blocage.&lt;/li&gt;
&lt;li&gt;Selon un calendrier, pour détecter les changements côté fournisseur.&lt;/li&gt;
&lt;li&gt;Après une mise à jour de dépendances, car un SDK peut modifier la sérialisation des requêtes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les fournisseurs peuvent mettre à jour un modèle derrière un ID qui reste identique. Une exécution planifiée révèle ces changements avant qu’ils ne soient signalés par un utilisateur.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tester les cas limites
&lt;/h2&gt;

&lt;p&gt;Après les scénarios de base, ajoutez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Une requête avec la longueur de contexte réellement utilisée. Un comportement à 500 K jetons ne peut pas être déduit d’un test à 5 K.&lt;/li&gt;
&lt;li&gt;Une entrée malformée pour exercer la gestion des erreurs.&lt;/li&gt;
&lt;li&gt;Une réponse de limite de débit, si vous pouvez en provoquer une, afin de vérifier les réessais.&lt;/li&gt;
&lt;li&gt;Plusieurs images dans une requête, si votre application le nécessite. Chaque image doit avoir son propre bloc &lt;code&gt;image_url&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Le streaming, si vous l’utilisez, car sa réponse diffère d’une complétion standard.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;La valeur ne réside pas dans chaque requête, mais dans leur répétabilité. Un choix de modèle que vous pouvez retester en trente secondes reste vérifiable lorsque les prix changent le 9 septembre, lorsque &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; publie une nouvelle révision ou lorsque vous envisagez un autre fournisseur.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt; est gratuit pour commencer. L’importation d’un schéma compatible OpenAI permet de générer une grande partie de cette configuration sans créer chaque requête manuellement.&lt;/p&gt;

&lt;p&gt;La collection obtenue transforme le prochain changement de modèle en comparaison mesurable plutôt qu’en pari.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ai-je besoin d’un forfait Apidog payant ?&lt;/strong&gt; Non. Les collections avec variables d’environnement et assertions fonctionnent avec le forfait gratuit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comment tester une image Base64 sans rendre le corps illisible ?&lt;/strong&gt; Stockez l’URL de données dans une variable d’environnement et utilisez &lt;code&gt;{{test_image_url}}&lt;/code&gt; dans le corps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Puis-je tester le point de terminaison &lt;code&gt;coding-plan&lt;/code&gt; de la même manière ?&lt;/strong&gt; Oui. Remplacez &lt;code&gt;base_url&lt;/code&gt; par &lt;code&gt;https://api.z.ai/api/coding/paas/v4&lt;/code&gt;. Ce point de terminaison diffère de l’API standard, comme l’explique &lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-claude-code-cline?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;notre guide Claude Code et Cline&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ces tests fonctionnent-ils avec d’autres fournisseurs ?&lt;/strong&gt; En grande partie. OpenRouter, Cloudflare Workers AI et Vercel AI Gateway proposent des interfaces compatibles OpenAI. Il suffit de modifier &lt;code&gt;base_url&lt;/code&gt; et l’espace de noms de l’ID du modèle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comment vérifier une réponse non déterministe ?&lt;/strong&gt; Testez la structure et les contraintes plutôt que le texte exact : présence des champs, types, nombre de jetons, &lt;code&gt;finish_reason&lt;/code&gt; et présence de sous-chaînes attendues.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Comment faire fonctionner GLM-5.3-Flash en local</title>
      <dc:creator>Antoine Laurent</dc:creator>
      <pubDate>Thu, 27 Aug 2026 03:30:03 +0000</pubDate>
      <link>https://dev.to/antoine_laurentt/comment-faire-fonctionner-glm-53-flash-en-local-1mle</link>
      <guid>https://dev.to/antoine_laurentt/comment-faire-fonctionner-glm-53-flash-en-local-1mle</guid>
      <description>&lt;p&gt;GLM-5.3-Flash est un modèle MIT de 320 milliards de paramètres. Il est donc libre à auto-héberger, mais exigeant en mémoire.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apidog.com/?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation" class="crayons-btn crayons-btn--primary"&gt;Essayez Apidog dès aujourd’hui&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Ses 18 milliards de paramètres actifs par token et les versions quantifiées le rendent toutefois accessible au-delà d’un nœud 8x H200. Voici comment choisir votre matériel, votre runtime et vos paramètres.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que vous chargez réellement
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Propriété&lt;/th&gt;
&lt;th&gt;Valeur&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Paramètres totaux&lt;/td&gt;
&lt;td&gt;320B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Actifs par token&lt;/td&gt;
&lt;td&gt;18B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Architecture&lt;/td&gt;
&lt;td&gt;MoE, attention hybride linéaire et sparse&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contexte&lt;/td&gt;
&lt;td&gt;1 048 576 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Licence&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Poids&lt;/td&gt;
&lt;td&gt;&lt;code&gt;zai-org/GLM-5.3-Flash&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quantifications GGUF&lt;/td&gt;
&lt;td&gt;&lt;code&gt;unsloth/GLM-5.3-Flash-GGUF&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;L’architecture MoE réduit surtout le calcul : 18B de paramètres participent à chaque token. En revanche, les 320B de poids doivent résider en mémoire. &lt;strong&gt;Votre contrainte principale est donc la mémoire, pas les FLOPs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; indique aussi un cache KV environ 4,4 fois plus petit que GLM-5.3. C’est important pour les longues fenêtres de contexte, où le cache KV devient généralement la principale source de consommation mémoire.&lt;/p&gt;

&lt;h2&gt;
  
  
  Niveau 1 : pleine précision en production
&lt;/h2&gt;

&lt;p&gt;Pour servir le modèle à pleine qualité avec de la concurrence, prévoyez un &lt;strong&gt;nœud 8x H200&lt;/strong&gt; de 141 Go, soit environ 1 128 Go au total. Un nœud 8x H20 peut également convenir.&lt;/p&gt;

&lt;p&gt;Les poids seuls demandent environ 700 à 800 Go selon la précision. Ajoutez une marge pour le cache KV et les frais d’exécution. En cloud, comptez approximativement 24 à 48 $ par jour.&lt;/p&gt;

&lt;h3&gt;
  
  
  Servir avec vLLM
&lt;/h3&gt;

&lt;p&gt;vLLM est le choix le plus répandu. Utilisez une taille de parallélisation tensorielle puissance de deux :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vllm serve zai-org/GLM-5.3-Flash &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--tensor-parallel-size&lt;/span&gt; 8 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--max-model-len&lt;/span&gt; 1048576 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--trust-remote-code&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Commencez avec une valeur &lt;code&gt;--max-model-len&lt;/code&gt; plus faible. Réserver immédiatement un million de tokens alloue le cache KV correspondant et peut provoquer une erreur mémoire qui masque un problème de configuration plus simple.&lt;/p&gt;

&lt;h3&gt;
  
  
  Servir avec SGLang
&lt;/h3&gt;

&lt;p&gt;SGLang propose des recettes pour H100, H200, B200, B300 et GB200, y compris pour le service multimodal. &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; a utilisé une pile basée sur SGLang pour son service de pré-lancement.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; sglang.launch_server &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--model-path&lt;/span&gt; zai-org/GLM-5.3-Flash &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--tp&lt;/span&gt; 8 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--context-length&lt;/span&gt; 1048576
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SGLang est souvent intéressant pour les sorties structurées et les charges agentiques très concurrentes. Pour un agent de code, mesurez vLLM et SGLang sur votre trafic réel plutôt que de choisir par défaut.&lt;/p&gt;

&lt;p&gt;Dans les deux cas, configurez un analyseur d’appels d’outils pour activer correctement le function calling. Vérifiez les options de votre version : leurs noms évoluent entre les releases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Niveau 2 : versions quantifiées sur matériel modeste
&lt;/h2&gt;

&lt;p&gt;Les quantifications GGUF de &lt;code&gt;unsloth/GLM-5.3-Flash-GGUF&lt;/code&gt; incluent des formats très agressifs, comme IQ1_S et IQ2_XXS. À 2 bits, les poids d’un modèle 320B peuvent tenir sur une station de travail riche en mémoire ou une machine multi-GPU grand public, en particulier avec déchargement CPU.&lt;/p&gt;

&lt;p&gt;Gardez deux limites en tête :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;La quantification agressive dégrade la qualité.&lt;/strong&gt; IQ1_S est loin de la pleine précision. La dégradation peut être plus tolérable sur un MoE que sur un modèle dense, mais validez vos cas d’usage réels, notamment les outils et sorties structurées.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;La documentation Unsloth est encore en cours de développement.&lt;/strong&gt; Vérifiez les fichiers publiés et les réglages recommandés avant de concevoir votre déploiement autour d’un format précis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour les machines hybrides CPU/GPU, &lt;strong&gt;KTransformers&lt;/strong&gt; garde les experts MoE en RAM système et déplace vers le GPU uniquement ce qui est nécessaire. Avec seulement 18B de paramètres actifs par token, cette approche convient particulièrement bien à GLM-5.3-Flash. &lt;strong&gt;TokenSpeed&lt;/strong&gt; figure également parmi les runtimes pris en charge.&lt;/p&gt;

&lt;p&gt;Consultez aussi nos guides pour &lt;a href="https://apidog.com/fr/blog/glm-4-7-flash-locally?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;exécuter GLM-4.7-Flash localement&lt;/a&gt; et &lt;a href="https://apidog.com/fr/blog/run-glm-5-locally-for-free?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;exécuter GLM-5 localement gratuitement&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dimensionner votre budget mémoire
&lt;/h2&gt;

&lt;p&gt;Basez votre capacité sur deux éléments.&lt;/p&gt;

&lt;h3&gt;
  
  
  Poids
&lt;/h3&gt;

&lt;p&gt;En BF16, comptez environ 2 octets par paramètre :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;320B en BF16 : environ 640 Go avant frais généraux ;&lt;/li&gt;
&lt;li&gt;FP8 : environ la moitié ;&lt;/li&gt;
&lt;li&gt;4 bits : environ 160 Go ;&lt;/li&gt;
&lt;li&gt;2 bits : moins encore, avec une perte de qualité significative.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cache KV
&lt;/h3&gt;

&lt;p&gt;Le cache KV augmente avec la longueur de contexte et la concurrence. Une configuration stable à 8K peut échouer à 128K uniquement parce que le cache a grossi.&lt;/p&gt;

&lt;p&gt;La réduction de 4,4x rapportée par &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; aide, mais la croissance reste linéaire en nombre de tokens. Dimensionnez donc le serveur pour votre contexte réel, pas pour le million de tokens annoncé si vous ne l’utilisez jamais.&lt;/p&gt;

&lt;p&gt;L’article précédent sur &lt;a href="https://apidog.com/fr/blog/self-host-glm-5-3-open-weights?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;l’auto-hébergement de GLM-5.3&lt;/a&gt; précède la sortie de Flash. Les poids de GLM-5.3-Flash sont désormais disponibles sous licence MIT.&lt;/p&gt;

&lt;h2&gt;
  
  
  Réglage fin
&lt;/h2&gt;

&lt;p&gt;La licence MIT autorise le réglage fin et la redistribution. C’est l’une des meilleures raisons de conserver les poids en interne.&lt;/p&gt;

&lt;p&gt;Un fine-tuning complet de 320B est hors de portée de la plupart des équipes. Privilégiez LoRA ou d’autres méthodes efficaces en paramètres. Sur un MoE, déterminez également si vous adaptez le routeur, les experts ou les couches d’attention.&lt;/p&gt;

&lt;p&gt;Avant d’entraîner le modèle, testez le prompting et la récupération de contexte. Avec une fenêtre d’un million de tokens, injecter les connaissances métier dans l’invite peut être moins coûteux et plus efficace qu’un entraînement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Paramètres d’échantillonnage
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; recommande les valeurs suivantes :&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cas d’utilisation&lt;/th&gt;
&lt;th&gt;&lt;code&gt;temperature&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;top_p&lt;/code&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Général&lt;/td&gt;
&lt;td&gt;1.0&lt;/td&gt;
&lt;td&gt;0.95&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codage&lt;/td&gt;
&lt;td&gt;0.95&lt;/td&gt;
&lt;td&gt;1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Le modèle propose aussi &lt;code&gt;reasoning_effort&lt;/code&gt; avec &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt; et &lt;code&gt;max&lt;/code&gt;. &lt;strong&gt;&lt;code&gt;max&lt;/code&gt; est la valeur par défaut.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En local, ce réglage influence directement le temps de génération. Si votre matériel est lent, utilisez &lt;code&gt;low&lt;/code&gt; pour rendre les réponses exploitables.&lt;/p&gt;

&lt;h2&gt;
  
  
  L’auto-hébergement est-il rentable ?
&lt;/h2&gt;

&lt;p&gt;Généralement, non : l’API reste souvent moins chère.&lt;/p&gt;

&lt;p&gt;Au tarif catalogue, GLM-5.3-Flash coûte 0,15 $ par million de tokens d’entrée. Un nœud 8x H200 à environ 1 000 $ par mois équivaut à environ 6,7 milliards de tokens d’entrée via l’API. Sauf charge élevée et continue, le coût fixe du matériel loué est difficile à justifier.&lt;/p&gt;

&lt;p&gt;Auto-hébergez plutôt pour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;la résidence des données et la confidentialité ;&lt;/li&gt;
&lt;li&gt;l’absence de limites de débit externes ;&lt;/li&gt;
&lt;li&gt;des garanties de disponibilité indépendantes d’un fournisseur ;&lt;/li&gt;
&lt;li&gt;la possibilité de modifier, affiner et redistribuer les poids MIT ;&lt;/li&gt;
&lt;li&gt;l’exploitation de GPU déjà achetés et inutilisés.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://apidog.com/fr/blog/glm-5-3-flash-pricing?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Notre analyse des prix&lt;/a&gt; détaille la comparaison côté API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vérifier le déploiement
&lt;/h2&gt;

&lt;p&gt;vLLM et SGLang exposent des endpoints compatibles OpenAI. Testez votre serveur local avec une requête minimale :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl http://localhost:8000/v1/chat/completions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "model": "zai-org/GLM-5.3-Flash",
    "messages": [{"role": "user", "content": "reply with OK"}]
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ne vous limitez pas à ce smoke test. Validez :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;le contexte long à la longueur réellement requise ;&lt;/li&gt;
&lt;li&gt;les entrées image si vous servez la version multimodale ;&lt;/li&gt;
&lt;li&gt;les appels d’outils avec vos schémas de production ;&lt;/li&gt;
&lt;li&gt;le débit sous concurrence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Configurez une collection de tests dans &lt;a href="https://apidog.com?utm_source=dev.to&amp;amp;utm_medium=wanda&amp;amp;utm_content=n8n-post-automation"&gt;Apidog&lt;/a&gt;, puis exécutez-la contre votre serveur local et &lt;a href="http://Z.ai" rel="noopener noreferrer"&gt;Z.ai&lt;/a&gt; en faisant de l’URL de base une variable d’environnement. Vous pourrez comparer les réponses et identifier rapidement les régressions de quantification, notamment sur les schémas d’outils.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Quel est le matériel minimum ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
En pleine précision, un nœud de classe 8x H200. Les GGUF quantifiés demandent beaucoup moins, mais la qualité baisse avec le niveau de quantification.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dois-je charger les 320B de paramètres en mémoire ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui. Seuls 18B sont actifs par token, mais tous les poids doivent être présents en mémoire.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;vLLM ou SGLang ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
SGLang a publié très tôt des recettes multimodales et excelle souvent avec la concurrence et les sorties structurées. vLLM bénéficie d’un écosystème plus large. Testez les deux sur votre charge réelle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Puis-je l’exécuter sur un seul GPU ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Pas en pleine précision. Avec une quantification agressive et le déchargement CPU via KTransformers, un GPU doté de beaucoup de VRAM accompagné de beaucoup de RAM système est plausible, mais lent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;La licence est-elle vraiment MIT ?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Oui. Elle permet l’usage commercial, la modification et la redistribution.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
