Vercel AI SDK
O AI SDK da Vercel é o kit padrão para criar funcionalidades de IA em TypeScript. Aponte o provedor @ai-sdk/openai-compatible para a Synthorai e todo o catálogo fica disponível com uma única chave, com as famílias Claude, GPT, Gemini e open-weight lado a lado.
Antes de começar
Crie uma chave de API em Console → API Keys. Copie-a imediatamente - ela só é exibida uma vez.
Passo 1 - Instalar os pacotes
npm i ai @ai-sdk/openai-compatible A Synthorai fala o formato Chat Completions da OpenAI, então nenhum pacote específico da Synthorai é necessário - o provedor oficial compatível com OpenAI é o caminho suportado.
Passo 2 - Criar a instância do provedor
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
const synthorai = createOpenAICompatible({
name: 'synthorai',
baseURL: 'https://synthorai.io/v1',
apiKey: process.env.SYNTHORAI_API_KEY,
}); O valor name é um rótulo usado em traces e mensagens de erro; não afeta o roteamento. O roteamento é definido por baseURL e pelo identificador de modelo que você passa.
A URL base precisa terminar em /v1. O provedor acrescenta caminhos como /chat/completions portanto sem isso a requisição vai para o caminho errado.
Passo 3 - Gerar e transmitir texto
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); O primeiro argumento é um identificador de modelo do catálogo. O streaming usa a mesma instância, sem configuração extra:
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);
} Escolhendo um modelo
Qualquer identificador do catálogo funciona. Estes são padrões razoáveis:
| Parâmetro | Tipo | Descrição |
|---|---|---|
claude-opus-5-5 | agentic | Uma escolha sólida para sessões agênticas longas e edição de código. |
gpt-5.4 | reasoning | Raciocínio de uso geral em cargas mistas. |
gpt-5.4-mini | fast | Rápido e barato - bom para classificação e completions curtas. |
deepseek-v4-flash | cheapest | Um dos modelos mais baratos do catálogo, adequado para grandes volumes. |
Usando a superfície Anthropic
A mesma chave também serve o formato Anthropic Messages em outro caminho, que o AI SDK alcança pelo provedor Anthropic. Use-o para recursos nativos da Anthropic e o provedor compatível com OpenAI acima para todo o resto.
import { createAnthropic } from '@ai-sdk/anthropic';
const synthoraiAnthropic = createAnthropic({
baseURL: 'https://synthorai.io/v1',
apiKey: process.env.SYNTHORAI_API_KEY,
}); Atenção à diferença em relação ao SDK nativo da Anthropic: aquele recebe a raiz do host e acrescenta /v1/messages por conta própria, enquanto o provedor Anthropic do AI SDK espera um prefixo que já contenha /v1. Passar apenas o host leva ao caminho errado.
Solução de problemas
404 em todas as chamadas. A URL base precisa terminar em /v1. O provedor acrescenta caminhos como /chat/completions portanto sem isso a requisição vai para o caminho errado.
401 Unauthorized. A variável de ambiente é lida no carregamento do módulo, então uma chave exportada depois que o processo iniciou não será considerada. Reinicie o processo após defini-la.
Modelo não encontrado. Identificadores de modelo diferenciam maiúsculas de minúsculas e precisam corresponder exatamente ao catálogo. Liste o que sua chave alcança com: curl https://synthorai.io/v1/models -H "Authorization: Bearer $SYNTHORAI_API_KEY"
Cada identificador de modelo e seu preço estão na model price comparison.