Vercel AI SDK

Vercel의 AI SDK는 TypeScript로 AI 기능을 만들 때 쓰는 표준 툴킷입니다. 이 @ai-sdk/openai-compatible 프로바이더를 Synthorai로 향하게 하면 카탈로그의 모든 모델을 키 하나로 쓸 수 있고, Claude·GPT·Gemini와 오픈웨이트 계열을 나란히 사용할 수 있습니다.

시작하기 전에

다음에서 API 키를 만드세요: 콘솔 → API Keys. 만든 즉시 복사하세요. 한 번만 표시됩니다.

1단계 - 패키지 설치

npm i ai @ai-sdk/openai-compatible

Synthorai는 OpenAI Chat Completions 와이어 포맷을 사용하므로 Synthorai 전용 패키지가 필요 없습니다. 공식 OpenAI 호환 프로바이더가 지원되는 경로입니다.

2단계 - 프로바이더 인스턴스 생성

import { createOpenAICompatible } from '@ai-sdk/openai-compatible';

const synthorai = createOpenAICompatible({
  name: 'synthorai',
  baseURL: 'https://synthorai.io/v1',
  apiKey: process.env.SYNTHORAI_API_KEY,
});

여기의 name 값은 트레이스와 오류 메시지에 쓰이는 레이블이며 라우팅에는 영향을 주지 않습니다. 라우팅은 baseURL 과 전달한 모델 ID로 결정됩니다.

⚠

베이스 URL은 반드시 /v1. 로 끝나야 합니다. 프로바이더가 /chat/completions 같은 경로를 덧붙이므로, 없으면 잘못된 경로로 요청됩니다.

3단계 - 텍스트 생성과 스트리밍

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);

첫 번째 인자는 카탈로그의 모델 ID입니다. 스트리밍도 같은 프로바이더 인스턴스로 추가 설정 없이 동작합니다:

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);
}

모델 고르기

카탈로그의 어떤 모델 ID든 쓸 수 있습니다. 무난한 기본값은 다음과 같습니다:

매개변수유형설명
claude-opus-5-5agentic긴 에이전트 세션과 코드 편집에 적합한 선택입니다.
gpt-5.4reasoning혼합 워크로드 전반의 범용 추론에 적합합니다.
gpt-5.4-minifast빠르고 저렴합니다. 분류와 짧은 완성에 좋습니다.
deepseek-v4-flashcheapest카탈로그에서 가장 저렴한 축에 속하는 모델로, 대량 처리에 적합합니다.

Anthropic 표면을 쓰려면

같은 키가 다른 경로에서 Anthropic Messages 형식도 제공하며, AI SDK에서는 Anthropic 프로바이더로 접근합니다. Anthropic 고유 기능이 필요할 때 사용하고, 그 외에는 위의 OpenAI 호환 프로바이더를 쓰세요.

import { createAnthropic } from '@ai-sdk/anthropic';

const synthoraiAnthropic = createAnthropic({
  baseURL: 'https://synthorai.io/v1',
  apiKey: process.env.SYNTHORAI_API_KEY,
});
⚠

순정 Anthropic SDK와 다르다는 점에 유의하세요. 그쪽은 호스트 루트를 받아 /v1/messages를 직접 붙이지만, AI SDK의 Anthropic 프로바이더는 /v1이 포함된 프리픽스를 기대합니다. 여기에 호스트만 넣으면 잘못된 경로로 요청됩니다.

문제 해결

모든 호출이 404입니다. 베이스 URL은 반드시 /v1. 로 끝나야 합니다. 프로바이더가 /chat/completions 같은 경로를 덧붙이므로, 없으면 잘못된 경로로 요청됩니다.

401 Unauthorized가 뜹니다. 환경 변수는 모듈 로드 시점에 읽히므로 프로세스 시작 후 export한 키는 반영되지 않습니다. 설정한 뒤 프로세스를 재시작하세요.

모델을 찾을 수 없습니다. 모델 ID는 대소문자를 구분하며 카탈로그와 정확히 일치해야 합니다. 키로 접근 가능한 모델은 다음으로 확인하세요: curl https://synthorai.io/v1/models -H "Authorization: Bearer $SYNTHORAI_API_KEY"

모든 모델 ID와 가격은 model price comparison에 정리되어 있습니다.