메인 콘텐츠로 건너뛰기
모델 변형을 사용하면 모델 ID에 접미사를 추가하여 라우팅 동작을 변경할 수 있습니다. 별도의 provider 객체를 구성하는 대신, 변형은 모델 문자열에 직접 내장된 간결한 축약 표기입니다.
{"model": "openai/gpt-5.4:nitro"}

:nitro — 최대 처리량

:nitro를 추가하면 모델의 최고 처리량 인스턴스로 라우팅됩니다. provider.sort = "throughput" 설정과 동일합니다. 최적 용도: 실시간 애플리케이션, 인터랙티브 채팅, 스트리밍 UI
{"model": "openai/gpt-5.4:nitro"}
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.arouter.ai/v1",
  apiKey: "lr_live_xxxx",
});

const response = await client.chat.completions.create({
  model: "openai/gpt-5.4:nitro",
  messages: [{ role: "user", content: "Hello!" }],
});

:floor — 최저 비용

:floor를 추가하면 모델의 최저 비용 인스턴스로 라우팅됩니다. provider.sort = "price" 설정과 동일합니다. 최적 용도: 배치 처리, 오프라인 워크로드, 비용 중시 파이프라인
{"model": "openai/gpt-5.4:floor"}
const response = await client.chat.completions.create({
  model: "openai/gpt-5.4:floor",
  messages: [{ role: "user", content: "Summarize this document." }],
});

:free — 무료 티어

:free를 추가하면 모델의 무료 티어 인스턴스로 라우팅됩니다. 무료 티어 인스턴스는 많은 인기 모델에서 사용 가능하며 속도 제한이 적용됩니다. 최적 용도: 프로토타이핑, 개발, 소량 테스트
{"model": "meta-llama/llama-4-maverick:free"}
const response = await client.chat.completions.create({
  model: "meta-llama/llama-4-maverick:free",
  messages: [{ role: "user", content: "Hello!" }],
});
무료 티어 모델은 더 엄격한 속도 제한이 적용되며 컨텍스트 창이 줄어들 수 있습니다. 자세한 내용은 속도 제한을 참조하세요.

:thinking — 확장 추론

:thinking을 추가하면 지원되는 모델에서 확장 chain-of-thought 추론이 활성화됩니다(예: DeepSeek R1, 확장 사고가 가능한 Claude, Gemini Flash Thinking). 최적 용도: 복잡한 추론, 수학, 코딩, 다단계 문제
{"model": "deepseek/deepseek-r1:thinking"}
const response = await client.chat.completions.create({
  model: "deepseek/deepseek-r1:thinking",
  messages: [
    { role: "user", content: "Prove that √2 is irrational." }
  ],
});

// 추론 토큰은 usage에서 반환됨
console.log(response.usage);
:thinking이 활성화되면, 추론 토큰이 응답의 usage.completion_tokens_details에 나타납니다:
{
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 850,
    "total_tokens": 870,
    "completion_tokens_details": {
      "reasoning_tokens": 720
    }
  }
}
청구 및 사용 세부 정보는 추론 토큰을 참조하세요.

:extended — 확장 컨텍스트

:extended를 추가하면 기본값보다 더 큰 컨텍스트 창을 가진 모델 버전에 액세스할 수 있습니다. 최적 용도: 긴 문서 처리, 대규모 코드베이스, 긴 대화
{"model": "google/gemini-2.5-flash:extended"}
const response = await client.chat.completions.create({
  model: "google/gemini-2.5-flash:extended",
  messages: [{ role: "user", content: "Analyze this 500-page report..." }],
});

:exacto — 도구 호출 품질

:exacto를 추가하면 도구 호출 요청에 대한 품질 순위 라우팅을 명시적으로 활성화합니다. ARouter는 가장 저렴한 옵션 대신 도구 호출 품질 점수가 가장 높은 제공업체 엔드포인트를 선택합니다. 최적 용도: 스키마 준수와 인수 정확성이 비용보다 중요한 프로덕션 도구 호출 파이프라인
{"model": "openai/gpt-5.4:exacto"}
const response = await client.chat.completions.create({
  model: "openai/gpt-5.4:exacto",
  messages: [{ role: "user", content: "Get the weather in Shanghai and Tokyo" }],
  tools: [weatherTool],
});
Auto Exacto와의 차이점: Auto Exactotools가 있을 때 자동으로 활성화됩니다. :exacto는 도구가 없는 요청에서도 품질 순위 라우팅을 강제합니다——모델이 도구를 호출하는지 여부에 관계없이 일관된 제공업체 선택 동작이 필요할 때 유용합니다.

변형 조합

일부 변형은 조합할 수 있습니다:
{"model": "meta-llama/llama-4-maverick:free:nitro"}
모든 조합이 유효하지는 않습니다. 모델에서 요청된 조합을 사용할 수 없는 경우 ARouter는 오류를 반환합니다.

변형 참조

접미사효과동등한 provider 설정최적 용도
:nitro최고 처리량provider.sort = "throughput"실시간 / 인터랙티브
:floor최저 비용provider.sort = "price"배치 / 오프라인
:free무료 티어(속도 제한 있음)개발 / 프로토타이핑
:thinking확장 추론 모드복잡한 추론
:extended더 큰 컨텍스트 창긴 문서
:online웹 검색(지원 종료)plugins: [{id: "web"}]대신 서버 도구 사용
:exacto도구 호출 품질 라우팅provider.sort = "quality"프로덕션 도구 호출

변형이 라우팅에 미치는 영향

변형은 서버 측에서 파싱되며 ARouter가 선택하는 엔드포인트에 영향을 줍니다:
  1. 기본 모델 ID(예: openai/gpt-5.4)가 모델 패밀리를 식별
  2. 접미사가 엔드포인트 선택 기준을 변경
  3. ARouter는 response.model에 실제 사용된 모델을 반환
서비스된 정확한 모델 변형을 확인하려면 항상 response.model을 확인하세요:
{
  "model": "openai/gpt-5.4:nitro",
  "choices": [...],
  "usage": {...}
}
변형이 제공하는 것보다 더 세밀한 제어가 필요한 경우 제공업체 라우팅에서 전체 provider 객체 옵션을 참조하세요.