Vercel AI SDK
L'AI SDK de Vercel est la boîte à outils de référence pour créer des fonctionnalités IA en TypeScript. Pointez son fournisseur @ai-sdk/openai-compatible vers Synthorai et tout le catalogue devient accessible avec une seule clé, les familles Claude, GPT, Gemini et open-weight côte à côte.
Avant de commencer
Créez une clé API dans Console → API Keys. Copiez-la immédiatement : elle n'est affichée qu'une seule fois.
Étape 1 - Installer les paquets
npm i ai @ai-sdk/openai-compatible Synthorai parle le format Chat Completions d'OpenAI : aucun paquet spécifique à Synthorai n'est nécessaire, le fournisseur officiel compatible OpenAI est la voie prise en charge.
Étape 2 - Créer l'instance du fournisseur
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
const synthorai = createOpenAICompatible({
name: 'synthorai',
baseURL: 'https://synthorai.io/v1',
apiKey: process.env.SYNTHORAI_API_KEY,
}); La valeur name est une étiquette utilisée dans les traces et les messages d'erreur ; elle n'influence pas le routage. Le routage est déterminé par baseURL et l'identifiant de modèle que vous passez.
L'URL de base doit se terminer par /v1. Le fournisseur ajoute des chemins comme /chat/completions ; sans cela, la requête aboutit au mauvais chemin.
Étape 3 - Générer et diffuser du texte
import { generateText } from 'ai';
const { text } = await generateText({
model: synthorai('claude-sonnet-5-5'),
prompt: 'Tell me about yourself in one sentence.',
});
console.log(text); Le premier argument est un identifiant de modèle du catalogue. Le streaming passe par la même instance, sans configuration supplémentaire :
import { streamText } from 'ai';
const result = streamText({
model: synthorai('claude-sonnet-5-5'),
prompt: 'Write a short haiku about routing.',
});
for await (const textPart of result.textStream) {
process.stdout.write(textPart);
} Choisir un modèle
N'importe quel identifiant du catalogue fonctionne. Voici des valeurs par défaut raisonnables :
| Paramètre | Type | Description |
|---|---|---|
claude-opus-5-5 | agentic | Un choix solide pour les longues sessions agentiques et l'édition de code. |
gpt-5.4 | reasoning | Raisonnement polyvalent sur des charges de travail mixtes. |
gpt-5.4-mini | fast | Rapide et peu coûteux - adapté à la classification et aux complétions courtes. |
deepseek-v4-flash | cheapest | Parmi les modèles les moins chers du catalogue - adapté aux gros volumes. |
Utiliser plutôt la surface Anthropic
La même clé sert aussi le format Anthropic Messages sur un autre chemin, que l'AI SDK atteint via son fournisseur Anthropic. Utilisez-le pour les fonctionnalités natives Anthropic, et le fournisseur compatible OpenAI ci-dessus pour tout le reste.
import { createAnthropic } from '@ai-sdk/anthropic';
const synthoraiAnthropic = createAnthropic({
baseURL: 'https://synthorai.io/v1',
apiKey: process.env.SYNTHORAI_API_KEY,
}); Attention à la différence avec le SDK Anthropic natif : celui-ci prend la racine de l'hôte et ajoute lui-même /v1/messages, alors que le fournisseur Anthropic de l'AI SDK attend un préfixe contenant déjà /v1. Passer l'hôte seul aboutit au mauvais chemin.
Dépannage
404 à chaque appel. L'URL de base doit se terminer par /v1. Le fournisseur ajoute des chemins comme /chat/completions ; sans cela, la requête aboutit au mauvais chemin.
401 Unauthorized. La variable d'environnement est lue au chargement du module : une clé exportée après le démarrage du processus ne sera pas prise en compte. Redémarrez le processus après l'avoir définie.
Modèle introuvable. Les identifiants de modèle sont sensibles à la casse et doivent correspondre exactement au catalogue. Listez ce que votre clé peut atteindre avec : curl https://synthorai.io/v1/models -H "Authorization: Bearer $SYNTHORAI_API_KEY"
Chaque identifiant de modèle et son prix figurent dans la model price comparison.