TOKEN BOAT / 2026

개발자 문서 / API 레퍼런스

KO / GLOBAL

API 키부터운영 요청까지한 번에.

바로 사용할 수 있는 연동 가이드입니다. 예시는 공통 Base URL을 사용하며 엔드포인트 목록은 저장소의 relay OpenAPI 계약을 따릅니다.

01 / START

빠른 시작

  1. 콘솔에서 API 키를 만듭니다.
  2. 공개 모델 카탈로그에서 모델 ID를 복사합니다.
  3. 키를 서버 측 환경 변수에 저장한 뒤 첫 요청을 보냅니다.

02 / AUTH

인증 및 Base URL

보호된 엔드포인트는 Bearer Token을 사용합니다. API 키를 브라우저 코드, 공개 저장소, 로그 또는 화면 캡처에 넣지 마세요.

Base URLhttps://tokenboat.com/v1
요청 헤더Authorization: Bearer $TOKEN_BOAT_API_KEY

03 / CALL

세 가지 호출 방법

Curl
export TOKEN_BOAT_API_KEY="your_api_key"
export MODEL_ID="choose_from_the_model_catalog"

curl https://tokenboat.com/v1/chat/completions \
  -H "Authorization: Bearer $TOKEN_BOAT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "'"$MODEL_ID"'",
    "messages": [{"role": "user", "content": "Hello from Token Boat"}]
  }'
Python
from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["TOKEN_BOAT_API_KEY"],
    base_url="https://tokenboat.com/v1",
)

response = client.chat.completions.create(
    model=os.environ["MODEL_ID"],
    messages=[{"role": "user", "content": "Hello from Token Boat"}],
)
print(response.choices[0].message.content)
JavaScript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.TOKEN_BOAT_API_KEY,
  baseURL: "https://tokenboat.com/v1",
});

const response = await client.chat.completions.create({
  model: process.env.MODEL_ID,
  messages: [{ role: "user", content: "Hello from Token Boat" }],
});
console.log(response.choices[0].message.content);

04 / STREAM

스트리밍

스트리밍을 지원하는 모델에는 stream: true를 설정하고 Server-Sent Events를 순차적으로 처리하세요. 연결 중단과 불완전한 마지막 청크를 처리해야 합니다.

const stream = await client.chat.completions.create({
  model: process.env.MODEL_ID,
  messages: [{ role: "user", content: "Stream a short answer" }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

05 / RECOVER

오류 및 재시도

오류 응답에는 HTTP 상태와 메시지가 포함됩니다. 요청 시간, 엔드포인트, 모델 ID와 상태를 기록하되 전체 키나 민감한 프롬프트는 기록하지 마세요.

Status의미조치
400요청 필드 또는 모델 매개변수가 잘못됨요청을 수정한 뒤 재시도
401API 키 누락, 무효 또는 만료Authorization 헤더와 키 상태 확인
403계정 또는 모델 접근 불가계정 권한과 모델 가용성 확인
429요청 또는 토큰 제한 도달Retry-After를 따르고 지터를 포함한 지수 백오프 사용
5xx게이트웨이 또는 상위 서비스 일시 장애안전하게 재전송할 수 있는 요청만 제한적으로 재시도

06 / LIMITS

속도 제한

RPM, TPM과 동시 실행 제한은 계정, 모델 및 현재 정책에 따라 달라지므로 변경될 수 있는 숫자를 고정하지 않습니다. 429 응답에서는 헤더와 계정 콘솔을 기준으로 확인하세요.

  • 동시 실행을 제한하고 클라이언트 타임아웃을 설정하세요.
  • 429와 일시적인 5xx에는 지터를 포함한 지수 백오프를 사용하세요.
  • 생성 작업을 무작정 다시 보내지 말고 먼저 작업 상태를 조회하세요.
  • 운영 워크로드의 한도 상향이 필요하면 지원 센터로 문의하세요.

07 / REFERENCE

주요 엔드포인트

주요 공개 엔드포인트입니다. 모델이 실제 지원하는 형식은 각 모델 상세에서 확인하세요.

메서드경로용도
GET/v1/modelsAPI 키로 이용 가능한 모델 목록
POST/v1/responses도구 및 멀티턴 워크플로를 위한 Responses API
POST/v1/chat/completionsOpenAI 호환 채팅 완성
POST/v1/messagesAnthropic Messages 호환 엔드포인트
POST/v1/embeddings텍스트 임베딩 생성
POST/v1/images/generations이미지 생성 요청 제출
POST/v1/audio/speech텍스트 음성 변환
POST/v1/audio/transcriptions오디오 전사
POST/v1/videos비디오 생성 작업 제출

API 계약 출처: docs/openapi/relay.json