Un prompt OpenAI peut sembler peu coûteux lorsque vous le testez sur une seule ligne. Mais répétez-le sur 10 000 ou 100 000 lignes d’un tableur, et la facture de tokens devient difficile à ignorer. OpenAI Flex Mode réduit ce coût de traitement pour les modèles compatibles lorsque votre tâche peut tolérer des réponses plus lentes et moins prévisibles.

Datablist rend ce compromis facile à mettre en œuvre. Vous pouvez importer un fichier CSV ou Excel, exécuter un prompt par ligne avec l’enrichissement Ask ChatGPT/OpenAI, prévisualiser le résultat, activer Flex et examiner les échecs sans créer de pipeline API. Si vous avez d’abord besoin de comprendre la configuration générale, consultez le guide pour exécuter des prompts ChatGPT sur les lignes d’un fichier CSV ou Excel.

Dans ce guide, je vais utiliser une tâche de classification de tickets support pour vous montrer comment déterminer si Flex est adapté, estimer les coûts Standard et Flex, configurer le traitement et gérer les lignes retardées ou en échec. L’objectif n’est pas d’obtenir un modèle plus rapide ni de meilleures réponses, mais d’effectuer la même tâche ligne par ligne à un tarif par token inférieur lorsque le coût compte davantage que le délai.

Accès rapide

Ce que change OpenAI Flex Mode

Flex est un niveau de service proposé pour certains modèles de l’API OpenAI. La requête passe toujours par la Responses API ou la Chat Completions API, mais utilise service_tier: "flex". En contrepartie d’un traitement plus lent et d’éventuels problèmes de capacité, vous bénéficiez des tarifs Flex sur les tokens.

OpenAI indique que les tokens Flex sont facturés aux tarifs de la Batch API. Sur la page des tarifs OpenAI, consultée le 16 juillet 2026, les tarifs Flex affichés correspondaient à ceux de Batch. Pour gpt-5.4-mini, les prix Flex des tokens d’entrée et de sortie étaient inférieurs de 50 % aux prix Standard.

Il s’agit d’un choix de traitement, pas d’un modèle différent. Votre prompt, vos lignes d’entrée et votre schéma de sortie peuvent rester identiques. Le compromis est opérationnel :

  • les réponses peuvent prendre plus de temps
  • le délai de traitement est moins prévisible
  • les expirations de requêtes sont plus probables
  • OpenAI peut renvoyer l’erreur 429 Resource Unavailable lorsque la capacité Flex est indisponible

Le guide d’OpenAI sur le traitement Flex précise que les requêtes rejetées faute de ressources ne sont pas facturées. Vous pouvez les relancer plus tard ou retraiter les lignes concernées en Standard lorsque la finalisation de la tâche compte davantage que les économies.

Flex est également distinct de l’OpenAI Batch API. Batch est une API asynchrone dédiée aux tâches soumises par lots. Flex est un niveau de service appliqué aux requêtes API classiques compatibles. Datablist gère le workflow ligne par ligne autour de ces requêtes : vous n’avez donc pas à créer et à surveiller vous-même une tâche Batch.

Flex ne fait pas non plus partie de l’abonnement web ChatGPT. L’utilisation de l’API et celle de l’application ChatGPT suivent des workflows et des facturations distincts. Dans Datablist, vous pouvez utiliser votre propre clé API OpenAI ou des crédits Datablist avec les modèles compatibles.

🔑 La règle essentielle

Flex modifie le coût et le délai de traitement. Il n’améliore pas la qualité des réponses et n’est pas disponible pour tous les modèles.

Pour en savoir plus sur l’exécution de prompts répétés à grande échelle, consultez notre guide du traitement LLM par lots.

Quand choisir Flex Mode

Je commence par une question : ce traitement peut-il attendre plus longtemps s’il coûte moins cher ?

Si la réponse est oui, Flex mérite votre attention. Parmi les bons cas d’usage figurent la classification nocturne de tickets, la synthèse d’avis, l’extraction structurée à partir de textes et la catégorisation de leads en arrière-plan. La traduction de catalogues e-commerce avec ChatGPT peut aussi convenir pour un volume important et non urgent, à condition que le modèle choisi prenne en charge Flex.

Ces tâches ont trois points communs : elles appliquent un prompt stable à de nombreuses lignes, produisent un résultat que vous pouvez contrôler plus tard et ne font pas attendre une personne devant chaque réponse.

Conservez le traitement Standard lorsque :

  • une personne a besoin du résultat pendant la session en cours
  • une ligne retardée ou en échec bloque un workflow urgent
  • le modèle choisi n’est pas compatible avec Flex
  • la tâche exige une latence prévisible plutôt qu’un coût réduit

J’évite également de passer directement un nouveau prompt en Flex pour un traitement volumineux. Je commence par stabiliser le prompt et le schéma de sortie sur un petit aperçu. Flex réduit le coût du traitement, mais ne peut pas compenser des instructions vagues, des données d’entrée inutiles ou des réponses trop longues.

💡 Activez Flex une fois le prompt stabilisé

Testez d’abord 10 à 20 lignes. Lorsque les catégories, les résumés et les règles de contrôle vous conviennent, Flex devient un choix pertinent pour le traitement en arrière-plan.

L’enrichissement Ask ChatGPT/OpenAI de Datablist est adapté à ce cas : il exécute un prompt par ligne, enregistre la réponse dans des propriétés et conserve les statuts de traitement de chaque ligne pour faciliter le contrôle.

Exemple de fichier CSV et de prompt

J’utiliserai l’exemple de tickets support de Datablist. Vous le trouverez dans la bibliothèque d’exemples de fichiers CSV. La version de 100 lignes est assez petite pour la configuration et les captures d’écran, tandis que la version de 10 000 lignes permet de mieux visualiser l’écart de coût.

Le fichier d’entrée contient les colonnes utiles suivantes :

  • Ticket Subject
  • Ticket Text
  • Customer Plan
  • Priority Hint

Chaque ligne nécessite le même traitement : classer le ticket, définir son niveau d’urgence, résumer le problème et signaler les cas incertains à contrôler. C’est un excellent candidat pour Flex, car le traitement peut s’exécuter en arrière-plan et chaque réponse reste courte.

Voici le prompt que j’utiliserais pour commencer :

Classez ce ticket support à des fins de reporting opérationnel.

Objet du ticket : {{Ticket Subject}}

Texte du ticket : {{Ticket Text}}

Offre du client : {{Customer Plan}}

Indication de priorité : {{Priority Hint}}

Renvoyez uniquement des valeurs structurées et courtes.

Les expressions entre doubles accolades sont des variables de prompt. Datablist les remplace par les valeurs de la ligne en cours de traitement.

Les variables de prompt insèrent les champs du ticket dans la requête OpenAI
Les variables de prompt insèrent les champs du ticket dans la requête OpenAI

Je préfère quatre sorties structurées plutôt qu’un bloc de texte :

  • Ticket Topic : Billing, Bug, Feature Request, Account Access, Cancellation ou Other
  • Urgency : Low, Medium ou High
  • One Sentence Summary : une phrase concise
  • Needs Review : Yes lorsque le ticket est ambigu, incomplet, contredit l’indication de priorité ou ne produit aucun résultat

Ce schéma facilite le filtrage des résultats et limite le nombre de tokens de sortie. Il permet aussi d’isoler les lignes incertaines de la file normale au lieu de dissimuler le doute dans un paragraphe.

Configurez des propriétés de sortie distinctes pour la réponse OpenAI structurée
Configurez des propriétés de sortie distinctes pour la réponse OpenAI structurée

Estimer le coût Standard et Flex avant le traitement

L’estimation des coûts doit précéder la configuration complète. Vous devez savoir si les économies justifient un traitement plus lent pour votre nombre réel de lignes.

Le calcul comporte deux parties :

  • coût d’entrée = nombre de lignes × nombre moyen de tokens d’entrée par ligne × prix par token d’entrée
  • coût de sortie = nombre de lignes × nombre moyen de tokens de sortie par ligne × prix par token de sortie
  • coût total = coût d’entrée + coût de sortie

Pour cet exemple, j’utiliserai gpt-5.4-mini, avec 250 tokens d’entrée et 30 tokens de sortie par ligne. Les prix ci-dessous ont été vérifiés le 16 juillet 2026 :

Niveau de servicePrix d’entrée par million de tokensPrix de sortie par million de tokens
Standard0,75 $4,50 $
Flex0,375 $2,25 $

Pour 1 000 lignes, le coût d’entrée Standard est de 250 000 × 0,75 $ / 1 000 000, soit 0,1875 $. Le coût de sortie est de 30 000 × 4,50 $ / 1 000 000, soit 0,135 $. Au total, le traitement coûte environ 0,32 $.

Dans cet exemple, Flex divise les deux tarifs par deux. La même charge de travail coûte donc environ 0,16 $.

LignesEstimation StandardEstimation FlexÉconomies estimées
1 0000,32 $0,16 $0,16 $
10 0003,23 $1,61 $1,61 $
100 00032,25 $16,13 $16,13 $

Ces montants sont faibles, car le prompt et les réponses sont compacts. Remplacez un ticket court par une longue transcription, une description produit ou une page extraite du web, et le coût d’entrée augmentera rapidement. Demandez une réponse détaillée plutôt que quatre champs courts, et le coût de sortie grimpera lui aussi.

J’utilise ce tableau comme méthode de calcul, pas comme devis. Avant un véritable traitement, actualisez quatre paramètres : le modèle, les tarifs du niveau de service, le nombre moyen de tokens d’entrée et le nombre moyen de tokens de sortie. La disponibilité et les prix des modèles évoluent : consultez à nouveau la page d’OpenAI plutôt que de reprendre une ancienne estimation.

Si vous utilisez votre propre clé API, OpenAI facture votre compte. Si vous utilisez des crédits Datablist, Datablist convertit la consommation de traitement en crédits pour les modèles compatibles. La consommation exacte dépend du modèle et du nombre de tokens. Je veille donc toujours à garder les prompts et les réponses concis.

⚠️ Les tarifs évoluent

L’économie de 50 % s’applique au modèle compatible et aux tarifs vérifiés ci-dessus. Considérez ce calcul comme un modèle réutilisable, et non comme une grille tarifaire permanente ou une promesse valable pour tous les modèles.

Configurer Ask ChatGPT/OpenAI dans Datablist

Une fois la charge de travail et les économies validées, configurez l’enrichissement. Je règle chaque paramètre avec soin, car le moindre choix approximatif sera reproduit sur toutes les lignes.

1. Importer le CSV ou ouvrir une collection

Importez le fichier CSV ou Excel dans Datablist, ou ouvrez une collection qui contient déjà les lignes. Vérifiez que les quatre colonnes d’entrée contiennent des données utiles. Je filtre les tickets dont le texte est vide avant d’appeler le modèle : payer pour des lignes sans contenu pertinent ne sert à rien.

2. Sélectionner Ask ChatGPT/OpenAI

Ouvrez Enrich, puis sélectionnez Ask ChatGPT/OpenAI. Cet enrichissement envoie une requête pour chaque ligne sélectionnée et inscrit la réponse dans les propriétés de sortie configurées.

3. Choisir le mode de paiement du traitement

Utilisez votre propre clé API OpenAI pour être facturé directement par OpenAI, ou choisissez les crédits Datablist s’ils sont disponibles pour le modèle et le compte sélectionnés. Le choix du niveau de traitement reste indépendant du mode de paiement.

4. Ajouter le prompt ligne par ligne

Collez le prompt de classification des tickets et insérez chaque champ à l’aide du sélecteur de variables. Je garde des instructions courtes et précise le format attendu à la fin. Répéter des informations contextuelles sur chaque ligne gaspille des tokens d’entrée.

Si un champ du ticket est souvent vide, indiquez au modèle comment le traiter. Par exemple, Needs Review = Yes est plus sûr que de laisser le modèle inventer le contexte manquant.

5. Configurer les propriétés de sortie structurées

Activez l’option de sortie structurée et ajoutez les quatre propriétés de l’exemple. Rédigez une courte description pour chaque champ et définissez les valeurs autorisées lorsque c’est pertinent.

Les sorties structurées réduisent le travail de nettoyage, mais leur principal avantage est ici le contrôle. Un champ nommé Urgency, limité à trois valeurs, laisse moins de latitude au modèle pour produire une longue explication.

6. Sélectionner un modèle compatible avec Flex

Ouvrez le sélecteur de modèles et choisissez un modèle marqué flex compatible. Datablist n’affiche le paramètre Flex que si le modèle sélectionné le prend en charge.

Le sélecteur de modèles OpenAI affiche les modèles compatibles avec Flex dans Datablist
Le sélecteur de modèles OpenAI affiche les modèles compatibles avec Flex dans Datablist

Pour cet exemple de coût, j’utilise GPT-5.4 mini. Ne partez pas du principe que la même liste restera disponible. Vérifiez le label dans Datablist et les tarifs OpenAI actuels lorsque vous créez un nouveau workflow.

7. Activer Flex Mode

Activez Advanced Settings, puis Use Flex Mode.

Use Flex Mode activé dans les paramètres avancés de Datablist
Use Flex Mode activé dans les paramètres avancés de Datablist

Si l’option n’apparaît pas, le modèle sélectionné n’est pas identifié comme compatible avec Flex dans Datablist. Choisissez un modèle compatible ou conservez le traitement Standard.

8. Conserver le délai d’expiration par défaut

Le délai d’expiration Flex actuellement défini par défaut dans Datablist est de 360 secondes, soit 6 minutes. Je le conserve pour le premier aperçu. Augmentez-le uniquement après avoir constaté des expirations, et seulement si la tâche peut attendre davantage.

La plage acceptée va de 30 à 1 500 secondes. Un délai supérieur laisse plus de temps aux requêtes lentes, mais ne garantit ni la capacité disponible ni une réponse dans un délai fixe.

9. Conserver le cache en cas de doublons

Datablist peut mettre en cache pendant 48 heures les prompts identiques exécutés avec les mêmes paramètres. Si des tickets ou descriptions en double produisent la même requête, le résultat mis en cache évite un nouvel appel payant.

Le cache ne remplace pas la déduplication. Je filtre d’abord les lignes inutiles, puis j’utilise le cache comme seconde protection.

10. Limiter les tokens de sortie et la concurrence

Définissez un nombre maximal de tokens adapté à quatre champs courts. Inutile de prévoir la place d’une dissertation si vous avez seulement besoin de catégories et d’une phrase.

Si vous utilisez votre propre clé API, limitez le nombre d’appels simultanés. Une concurrence accrue ne rend pas la capacité Flex plus prévisible et peut multiplier les erreurs de rate limit. Je préfère un traitement régulier en arrière-plan à une rafale de requêtes suivie de nombreuses relances.

📘 L’option Flex n’apparaît pas ?

Vérifiez d’abord le label du modèle. Datablist n’affiche les paramètres Flex que pour les modèles marqués comme compatibles. Sinon, sélectionnez un autre modèle compatible ou utilisez Standard.

Prévisualiser, lancer et contrôler les résultats

Prévisualisez 10 à 20 lignes avant de traiter le fichier complet. Je le fais même lorsque le prompt semble évident. Une légère modification de formulation peut affecter les catégories, la longueur des réponses et la consommation de tokens sur des milliers de requêtes.

Contrôlez les points suivants dans l’aperçu :

  • chaque propriété attendue reçoit une valeur
  • Ticket Topic utilise des catégories cohérentes
  • Urgency tient compte du texte du ticket au lieu de recopier Priority Hint
  • les résumés tiennent en une phrase
  • Needs Review détecte les informations manquantes ou contradictoires
  • les longueurs d’entrée et de sortie restent proches de vos hypothèses de coût

Voici à quoi devrait ressembler un résultat représentatif :

Ticket SubjectTicket TopicUrgencyOne Sentence SummaryNeeds Review
Connexion impossible après la réinitialisation du mot de passeAccount AccessHighLe client ne peut plus accéder à son compte après avoir réinitialisé son mot de passe.No

Si le modèle renvoie des catégories incohérentes, précisez les valeurs autorisées avant le traitement complet. Si les résumés sont trop longs, raccourcissez l’instruction et réduisez le nombre maximal de tokens. Corriger le prompt après 10 lignes coûte peu. Le corriger après 100 000 lignes, beaucoup moins.

Lorsque l’aperçu est stable, lancez l’enrichissement sur les lignes prévues. Datablist suit les éléments déjà traités, ce qui vous évite de rappeler OpenAI pour les lignes terminées.

Après le traitement, filtrez les lignes en échec, expirées ou sans résultat. Examinez un échantillon de chaque groupe avant de les relancer :

  • relancez-les avec Flex si l’erreur semble temporaire et que la tâche peut attendre
  • augmentez le délai d’expiration Flex si des entrées longues et valides expirent régulièrement
  • relancez les lignes critiques en Standard si la finalisation ou la rapidité compte davantage que le coût
  • corrigez les données d’entrée manquantes avant de payer une nouvelle requête
Contrôlez les résultats OpenAI ligne par ligne dans la collection Datablist
Contrôlez les résultats OpenAI ligne par ligne dans la collection Datablist

Une fois les résultats validés, exportez la collection traitée au format CSV ou Excel. Conservez Needs Review dans l’export si une autre personne doit vérifier ultérieurement les tickets incertains.

Réduire encore les coûts

Flex n’est qu’un levier d’optimisation. Dans de nombreux fichiers, les économies les plus importantes viennent de la réduction des données envoyées et de la suppression des appels inutiles.

Filtrer les lignes avant le traitement

Supprimez les lignes vides, les tickets déjà classés et les enregistrements hors périmètre. La requête la moins chère reste celle que vous n’envoyez pas.

Raccourcir le prompt et les données d’entrée

N’incluez que les champs nécessaires au modèle. Un identifiant client peut servir à rapprocher les résultats par la suite, mais le modèle n’a pas besoin de le lire. Il en va de même pour les longues signatures, les fils d’e-mails cités et les textes standardisés contenus dans les tickets.

Garder des réponses courtes et structurées

Utilisez des catégories, des booléens et des résumés concis. Les tokens de sortie coûtent souvent plus cher que les tokens d’entrée : une limite basse peut donc faire une réelle différence.

Mettre en cache les prompts répétés

Activez le cache lorsque des requêtes identiques risquent de se répéter. Cette option est particulièrement utile pour les descriptions dupliquées ou les textes récurrents après l’importation de plusieurs fichiers.

Choisir le plus petit modèle répondant à vos exigences

Prévisualisez les mêmes lignes représentatives avant de changer de modèle. Un modèle moins cher n’est utile que si la qualité des catégories et le taux de lignes à contrôler restent acceptables.

Préférer un enrichissement dédié pour les tâches fixes

Un LLM est polyvalent, mais ce n’est pas toujours l’outil le moins cher. Si vous avez seulement besoin d’identifier une langue, utilisez un workflow dédié à la détection de langue plutôt que de demander à un modèle généraliste de la déduire pour chaque ligne.

J’estime le coût après avoir raccourci le prompt et filtré le dataset. Sinon, je chiffre un traitement que je ne devrais pas exécuter tel quel.

Limites et résolution des problèmes

Flex introduit plusieurs types d’échecs qu’il vaut mieux anticiper.

Le modèle sélectionné ne propose pas Flex

La compatibilité est limitée et peut évoluer. Si Datablist n’affiche pas l’option Flex, choisissez un modèle marqué comme compatible ou utilisez Standard. Ne forcez pas l’utilisation d’un modèle personnalisé non vérifié sur un traitement volumineux.

Les réponses prennent plus de temps que prévu

Un traitement plus lent et moins prévisible constitue le compromis central de Flex. Cela ne signifie pas que la qualité des réponses est inférieure. Laissez les lignes non urgentes se poursuivre, mais basculez les tâches urgentes en Standard.

Certaines lignes expirent

Commencez avec la valeur par défaut de Datablist, soit 360 secondes. Si des lignes valides expirent et que le traitement peut attendre, augmentez le délai dans la plage autorisée. Si seules quelques lignes critiques échouent, je préfère généralement les relancer en Standard plutôt que de ralentir toute la tâche.

Le délai d’expiration du SDK OpenAI est distinct du paramètre Flex de Datablist. Pour ce workflow, fiez-vous à la valeur affichée dans Datablist.

OpenAI renvoie 429 Resource Unavailable

La capacité Flex peut être indisponible. OpenAI indique que ces requêtes ne sont pas facturées. Relancez-les plus tard pour minimiser le coût, ou utilisez Standard si la réussite du traitement est prioritaire.

De nombreuses lignes atteignent les rate limits

Flex ne supprime pas les rate limits de l’API. Réduisez le nombre d’appels simultanés ou traitez un segment plus petit avant de réessayer. Un traitement plus lent et maîtrisé est plus facile à contrôler qu’une vague massive d’échecs.

Flex, Batch API et ChatGPT sont confondus

Retenez simplement les distinctions suivantes :

  • Flex est un niveau de service moins coûteux pour les requêtes API compatibles
  • Batch API est une API asynchrone distincte
  • ChatGPT est le produit web et mobile, pas le workflow API ligne par ligne utilisé ici
  • Datablist fournit le workflow de tableur et peut utiliser une clé API ou des crédits

Conclusion

Utilisez Flex lorsque le modèle sélectionné est compatible, que le coût compte davantage que le temps de réponse et que la tâche peut s’exécuter en arrière-plan. Réservez Standard aux lignes urgentes, interactives ou particulièrement sensibles aux échecs.

Ma méthode est simple : estimer le coût des tokens, filtrer le fichier, configurer des réponses structurées et courtes, prévisualiser 10 à 20 lignes, activer Flex, traiter la liste, puis relancer uniquement les lignes qui en ont besoin. Vous conservez ainsi un workflow CSV simple tout en divisant par deux le coût de traitement du modèle vérifié.

FAQ

OpenAI Flex Mode réduit-il toujours les coûts de 50 % ?

Non. Le 16 juillet 2026, les prix Flex des tokens d’entrée et de sortie pour gpt-5.4-mini étaient inférieurs de 50 % aux prix Standard et correspondaient aux tarifs de la Batch API. Les prix et les modèles compatibles peuvent évoluer. Consultez la page des tarifs OpenAI pour votre modèle avant de chiffrer un traitement volumineux.

Quels modèles OpenAI sont compatibles avec Flex Mode ?

La compatibilité est limitée et évolue au fil du temps. Consultez la grille tarifaire actuelle d’OpenAI et recherchez le label flex compatible dans le sélecteur de modèles Datablist. L’option Flex n’apparaît que pour les modèles compatibles.

Flex Mode est-il identique à l’OpenAI Batch API ?

Non. Flex est un niveau de service pour les requêtes Responses ou Chat Completions compatibles. Batch API est une API asynchrone distincte destinée aux lots soumis. Les deux peuvent partager les mêmes tarifs par token sans suivre le même workflow.

Flex Mode modifie-t-il la qualité des réponses ?

Flex ne vise pas un niveau de qualité différent. Il modifie le niveau de traitement de la requête et son délai. Le modèle, le prompt et le schéma de sortie continuent de déterminer le résultat. Prévisualisez quelques lignes, car la qualité du prompt reste essentielle quel que soit le niveau de service.

Quel délai d’expiration utiliser avec Flex dans Datablist ?

Commencez par la valeur par défaut de 360 secondes. Augmentez-la uniquement si des lignes valides expirent et que la tâche peut attendre davantage. Datablist accepte des valeurs comprises entre 30 et 1 500 secondes. Un délai supérieur accorde plus de temps à la requête, sans garantir la disponibilité.

Peut-on utiliser Flex Mode avec les crédits Datablist ?

Datablist permet d’utiliser une clé API OpenAI ou des crédits Datablist selon les modèles et la configuration du compte. La consommation de crédits dépend du modèle et du nombre de tokens. Prévisualisez donc un échantillon et gardez des entrées et des réponses concises.

Quand faut-il conserver le traitement Standard ?

Utilisez Standard pour les tâches interactives ou urgentes, les lignes dont une personne attend le résultat, les modèles non compatibles et les processus pour lesquels un retard poserait problème. Vous pouvez aussi traiter l’ensemble du fichier avec Flex, puis relancer un petit sous-ensemble critique en Standard.

Peut-on utiliser Flex Mode avec des fichiers Excel ?

Oui. Datablist importe les fichiers CSV et Excel. Flex s’applique à la requête API OpenAI compatible, pas au type de fichier source. Le même workflow de prompts ligne par ligne fonctionne avec les deux formats.