Infrastructure de traduction pour le agent de l'ère
La plupart des API de traduction ont été conçues à une époque où « traduction » signifiait qu'un humain collait un texte dans un formulaire web. FluentC a été conçu pour ce que la traduction est aujourd'hui : un agent appelant une API des milliers de fois par heure, au milieu d'un flux de travail, en attendant une réponse avant que l'utilisateur ne s'en aperçoive.
Ce changement modifie tout ce qui se trouve sous l'API — la façon dont la mise en cache fonctionne, la gestion des lots, la structure des prix, le comportement des limites de débit. Nous avons reconstruit la pile autour de cela.
Un produit. Quelques pièces mobiles. Voici la visite.
Chaque section renvoie à une page plus détaillée si vous souhaitez connaître toute l'histoire.
Un point de terminaison, trois formats d'entrée, un UUID pour l'authentification.
POST /ai_agent/translate gère le texte, le HTML et le JSON. Vous choisissez le format d'entrée, la langue cible, et si vous souhaitez que la réponse vous soit renvoyée de manière synchrone ou en tant que traitement par lots. C'est toute la surface.
L'authentification est un seul UUID dans l'en-tête d'autorisation. Pas d'échange de jetons, pas de bibliothèques client nécessaires pour commencer. curl fonctionne. n8n fonctionne. Un outil LangChain fonctionne. Tout ce que tu tiens fonctionne.
curl -X POST https://api.fluentc.io/ai_agent/translate \ -H "Authorization: 4f3a-uuid-...-9c2e" \ -H "Content-Type: application/json" \ -d '{ "input_format": "json", "target_language": "es", "mode": "sync", "content": { "title": "Hello", "body": "Welcome" } }' # 204ms · 200 OK { "translation": { "title": "Hola", "body": "Bienvenido" }, "target_language": "es", "tm_hit": false, "request_id": "tx_8f3a72c4" }
Pour quand un agent est en pleine conversation et a besoin de la réponse immédiatement.
Requête synchrone, texte traduit dans la réponse, pas de sondage.
Dans les coulisses, il y a un cache basé sur l'adresse du contenu, identifié par SHA256(target_language + input)La deuxième fois que la même chaîne passe, vous sautez complètement le modèle — même traduction, même clé, réponse plus rapide.
Cela compte plus que ce que cela semble indiquer. Un chatbot multilingue répondant bonjour dans douze langues, cela accédera constamment à ce cache.
Pour quand vous avez 50 000 lignes et que vous avez besoin de toutes en une seule fois.
Soumettez le travail, obtenez un job_id Reviens, interroge pour les résultats quand tu es prêt. Fonctionne pour une feuille Google, un catalogue de produits, un annuaire de fichiers JSON i18n — n'importe quoi.
JSON est géré correctement : les structures imbriquées sont parcourues, chaque valeur de chaîne est traduite indépendamment et en parallèle, et la forme originale est réassemblée à la fin. Les clés restent des clés. La structure reste la structure.
La même job_id est sûr de continuer à sonder indéfiniment — c'est un hachage déterministe de votre entrée, pas un billet au hasard. Soumettez à nouveau le même contenu et vous recevrez le même identifiant de tâche et le même résultat mis en cache.
Payez une seule fois pour « Ajouter au panier ». Pour toujours.
La mémoire de traduction est une base de données de traductions que vous avez déjà payées. La prochaine fois que la même chaîne passe, vous ne payez pas à nouveau — et la réponse est plus rapide car elle ne sollicite pas le modèle.
La plupart des API de traduction vous facturent par caractère à chaque fois. Nous ne le faisons pas. Pour les catalogues de commerce électronique, le support des macros et tout produit avec des chaînes répétitives, c'est là que la majorité des économies se réalisent.
Vous pouvez également écraser des traductions spécifiques sur une base par site lorsque vous souhaitez un rendu différent de celui par défaut du modèle Le cache respecte vos substitutions.
Le catalogue auquel vous vous attendez, adapté à l'agent qui pose la question.
Les principales langues européennes, les principales langues asiatiques, l'arabe, l'hébreu, l'hindi, et la longue traîne au-delà.
La liste est mise en cache et exposée à GET /ai_agent/languages, limité à ce que vous avez activé sur votre agent.
Ajouter ou supprimer des langues de votre tableau de bord. Chaque agent possède son propre ensemble activé — ainsi, un agent Shopify traduisant en dix langues et un agent de support interne traduisant en trois peuvent coexister sous le même compte.
Cinq choses à savoir si vous évaluez.
Entrée identique + la langue cible est une correspondance en cache. Pas de surprises de "correspondance floue", pas de facturation par appel pour les chaînes répétées.
La soumission du même lot d'entrée renvoie le même identifiant de tâche. Idempotent par conception.
Les tâches de traduction en arrière-plan réessayent en cas de timeout du modèle (5 tentatives, backoff exponentiel) et de limites de débit (10 tentatives, en respectant Retry-After). Vous n'avez pas besoin de le construire vous-même.
Un document avec 200 valeurs de chaîne ne lance pas 200 appels de modèle séquentiels — il se ramifie et se réassemble.
L'ensemble de l'API est accessible depuis curl. Les SDK existent si vous en avez besoin ; ce ne sont pas une condition préalable.
La spécification OpenAPI est publiée à /ai_agent/swagger.yml et la documentation interactive à /ai_agent/docs.