Référence des outils
Les entrées, valeurs valides et forme de sortie de chaque outil intégré — la référence complète derrière les guides de démarrage rapide.
Les guides précédents vous amènent rapidement à un appel fonctionnel. Cette page est la référence à laquelle vous revenez une fois que vous intégrez pour de bon : les entrées et valeurs valides de chaque outil, et ce que chacun produit en sortie. Pour la forme exacte des requêtes/réponses HTTP de chaque chemin d’appel (anonyme vs. authentifié) et les tableaux d’erreurs complets, voir Intégration directe de l’API.
Les outils
Tous les outils ci-dessous sont appelables anonymement via POST /tools/:slug/run, le modèle
décrit dans Votre premier appel SDK, et ce sont ceux affichés
sur la page publique des outils. Ils sont aussi appelables de façon authentifiée via
POST /tickets — voir Obtenez votre clé API et Choisissez votre
mode d’authentification.
Ce sont deux endpoints HTTP distincts, pas un seul endpoint contrôlé par un en-tête, et ils retournent des noms de champs de sortie différents pour le même outil — voir Intégration directe de l’API pour la forme complète des requêtes/réponses de chacun.
Chaque outil possède à la fois un slug (utilisé par le Tool Portal public et
POST /tools/:slug/run) et un pipeline_id (utilisé par ai.run({ pipeline: ... }) et
POST /tickets). Ce sont la même chaîne pour chaque outil sauf translate, dont le slug est
translate mais dont le pipeline_id est translate-string — utilisez le bon selon l’appel que
vous faites.
| Outil | slug | pipeline_id | Crédits |
|---|---|---|---|
| Translate | translate | translate-string | 1 |
| Summarize | summarize | summarize | 1 |
| Rewrite | rewrite | rewrite | 1 |
| Grammar fix | grammar-fix | grammar-fix | 1 |
| Email generator | email-generator | email-generator | 2 |
| Knowledge base Q&A | knowledge-base-qa | knowledge-base-qa | 2 |
Les crédits représentent le coût réel d’un appel sur votre plan/portefeuille — vérifiez le nombre avant de construire une fonctionnalité autour d’un outil.
Aucun de ces outils ne correspond à votre besoin ? Le Mode raw prompt vous permet d’envoyer un prompt système/utilisateur personnalisé au lieu de l’un de ces modèles fixes — il nécessite un octroi séparé sur vos identifiants, donc la plupart des intégrations devraient commencer ici et ne recourir au mode raw que si aucun outil ci-dessous ne couvre le cas.
« Valeurs valides » est une indication, pas une validation stricte côté serveur — même authentifié. Pour chaque champ de type
select/énumération ci-dessous (target_language,language,extract,action,tone, etc.), le chemin authentifiéPOST /ticketsvérifie que le champ est présent (s’il est obligatoire) et qu’il a le bon type et la bonne taille — il ne vérifie pas que la valeur fait partie des options listées. Envoyez une valeur hors de la liste et elle passe directement au LLM sans modification, sur les deux chemins anonyme et authentifié. Seulsrequired/type/longueur sont appliqués.
translate
- slug :
translate· pipeline_id :translate-string
| Entrée | Type | Obligatoire | Valeurs valides | Notes |
|---|---|---|---|---|
text | string | oui | jusqu’à 5000 caractères | Le texte source. La langue est détectée automatiquement — vous ne spécifiez pas de langue source. |
target_language | string | oui | en, es, de, ja, fr, pt, zh-Hans, zh-Hant, ko, ar, vi, th, ms | Le code de la langue vers laquelle traduire. |
glossary_inline | string | non | jusqu’à 4000 caractères | Substitutions de termes optionnelles, une paire par ligne au format source=target ou source,target. Non stocké — s’applique uniquement à cet appel. |
Sortie (forme authentifiée /tickets) : translation (le texte traduit), applied_terms
(quels termes du glossaire, le cas échéant, ont été appliqués). Le chemin anonyme du Tool Portal
normalise cela en result.text à la place — voir Intégration directe de
l’API pour la forme complète des requêtes/réponses des deux
endpoints.
const out = await ai.run({
pipeline: "translate-string", // pipeline_id, NOT the "translate" slug
inputs: { text: "Hello", target_language: "de" },
});
// out.translation === "Hallo"
summarize
- slug :
summarize· pipeline_id :summarize
| Entrée | Type | Obligatoire | Valeurs valides | Notes |
|---|---|---|---|---|
text | string | oui | jusqu’à 5000 caractères | Le texte source à résumer. |
length | string | non | short, medium, long | Omettez pour la longueur par défaut. |
language | string | non | "" (conserver l’original) ou tout code du tableau translate ci-dessus | Langue de sortie. Une chaîne vide conserve la langue du texte source. |
extract | string[] | non | action_items, decisions, risks, timeline | Zéro ou plusieurs sections structurées supplémentaires. Envoyez-les dans cet ordre exact — un ordre différent compte comme une requête différente pour la mise en cache, même si les valeurs sont par ailleurs identiques. |
Sortie : tldr, key_points, et celles parmi action_items / decisions / risks /
timeline que vous avez demandées dans extract.
rewrite
- slug :
rewrite· pipeline_id :rewrite
| Entrée | Type | Obligatoire | Valeurs valides | Notes |
|---|---|---|---|---|
text | string | oui | jusqu’à 5000 caractères | Le texte source à réécrire. |
action | string | non | rephrase, shorten, expand, simplify, formalize, bulletize | L’opération de réécriture. |
tone | string | non | professional, casual, friendly, concise | Le ton cible. |
language | string | non | "" (conserver l’original) ou tout code du tableau translate ci-dessus | Langue de sortie. |
glossary_inline | string | non | jusqu’à 4000 caractères | Même format que le glossary_inline de translate ci-dessus. |
Sortie : rewrite (le texte réécrit), applied_terms.
grammar-fix
- slug :
grammar-fix· pipeline_id :grammar-fix
| Entrée | Type | Obligatoire | Valeurs valides | Notes |
|---|---|---|---|---|
text | string | oui | jusqu’à 5000 caractères | Le texte source à corriger. |
glossary_inline | string | non | jusqu’à 4000 caractères | Même format que le glossary_inline de translate ci-dessus. |
Sortie : corrected (le texte corrigé), changes (une liste de ce qui a changé),
applied_terms.
email-generator
- slug :
email-generator· pipeline_id :email-generator
| Entrée | Type | Obligatoire | Valeurs valides | Notes |
|---|---|---|---|---|
purpose | string | oui | jusqu’à 2000 caractères | Le sujet de l’email et ce qu’il doit couvrir. |
recipient | string | non | jusqu’à 500 caractères | À qui il est adressé. Omettez pour un destinataire générique. |
tone | string | non | formal, friendly, persuasive | Le ton de l’email rédigé. |
glossary_inline | string | non | jusqu’à 4000 caractères | Même format que le glossary_inline de translate ci-dessus. |
Sortie : subject, body, applied_terms.
knowledge-base-qa
- slug :
knowledge-base-qa· pipeline_id :knowledge-base-qa
| Entrée | Type | Obligatoire | Valeurs valides | Notes |
|---|---|---|---|---|
question | string | oui | jusqu’à 1000 caractères | La question à laquelle répondre. |
context | string | oui | jusqu’à 6000 caractères | Le document unique sur lequel la réponse doit être fondée. |
Sortie : answer, grounded (si la réponse est réellement étayée par context), citation
(d’où dans context provient la réponse).
Il n’y a aucun index de recherche ni de connaissance externe derrière cet outil — il ne répond
jamais qu’à partir du texte context de la même requête. Pour tout ce qui dépasse un seul document
d’environ 6000 caractères, découpez votre texte source et appelez l’outil par morceau.
Erreurs
Les erreurs que vous pouvez obtenir en retour dépendent de la façon dont vous appelez — les appels anonymes et authentifiés sont validés différemment, et chacun a son propre tableau complet. Voir Intégration directe de l’API pour les tableaux d’erreurs complets, anonyme et authentifié (codes de statut, codes d’erreur, et la signification de chacun), et Choisissez votre mode d’authentification pour le fonctionnement des octrois d’identifiants en profondeur.