공급자 라우팅
하나의 모델이 둘 이상의 공급자에서 제공되는 경우가 있습니다. 예를 들어 bytedance/seedance-2.0은 volcengine과 byteplus 양쪽에서 제공됩니다. ofox는 기본적으로 공급자를 자동 선택하며, provider.type으로 요청을 특정 공급자에 고정할 수 있습니다.
기본 라우팅 동작
provider 필드를 보내지 않으면 ofox는 해당 모델을 현재 제공하는 채널에 가중치를 두어 요청을 분배합니다. 개별 요청을 어느 공급자가 처리할지는 예측할 수 없습니다.
공급자 지정
공급자 이름을 type 필드에 지정합니다. 필드 위치는 모델 종류에 따라 다릅니다:
| 모델 종류 | 필드 위치 |
|---|---|
| 채팅 모델 | extra_body.provider.type |
| 비디오 모델 | provider.type |
Gemini 네이티브 프로토콜은 본문의 extra_body.provider를 무시합니다 — 요청은 정상 반환되고 제약은 적용되지 않으며 오류도 없습니다. 이 프로토콜에서는 X-OfoxAI-Provider-Type 헤더를 사용하세요. 프로토콜별 필드 계약은 API · 공급자 라우팅에 있습니다.
채팅 모델
cURL
curl https://api.ofox.run/v1/chat/completions \
-H "Authorization: Bearer $OFOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-5",
"messages": [{ "role": "user", "content": "..." }],
"extra_body": {
"provider": { "type": "bedrock" }
}
}'공식 OpenAI SDK를 사용할 때 extra_body는 요청 본문에 문자 그대로의 키로 존재해야 합니다. TypeScript SDK는 파라미터 객체에 작성한 그대로 전송합니다. Python SDK의 extra_body= 인자는 내용을 본문 최상위로 병합하므로, 키를 한 단계 더 중첩하거나 요청 헤더로 전달해야 합니다.
사용 가능한 공급자
ofox가 현재 지원하는 공급자는 다음과 같습니다. 괄호 안은 짧은 이름이며 전체 이름과 동등하게 사용할 수 있습니다:
| 공급자 | 설명 |
|---|---|
openai | OpenAI :GPT 계열 공식 API |
anthropic | Anthropic :Claude 계열 공식 API |
gemini | Google AI :Gemini 계열 공식 API |
azure_foundry (foundry) | Azure AI Foundry :Microsoft Azure의 모델 호스팅 플랫폼 |
aws_bedrock (bedrock) | Amazon Bedrock :AWS의 모델 호스팅 서비스 |
google_vertex (vertex) | Vertex AI :Google Cloud의 모델 호스팅 플랫폼 |
aliyun | Alibaba Cloud Bailian :알리바바 클라우드의 모델 서비스 플랫폼 |
volcengine | Volcengine Ark :바이트댄스의 중국 본토 플랫폼 |
byteplus | BytePlus :바이트댄스의 해외 플랫폼 |
deepseek | DeepSeek :DeepSeek 계열 공식 API |
moonshot | Moonshot AI :Kimi 계열 공식 API |
zhipu | Zhipu AI :GLM 계열 공식 API |
minimax | MiniMax :MiniMax 계열 공식 API |
grok | xAI :Grok 계열 공식 API |
jina | Jina AI :임베딩 및 재순위 모델 |
tencent | Tencent Cloud Hunyuan :텐센트 클라우드의 모델 서비스 플랫폼 |
모든 공급자가 모든 모델을 제공하지는 않습니다. 특정 모델을 어떤 공급자가 제공하는지, 각 공급자가 어떤 프로토콜을 지원하는지는 모델 카탈로그 의 해당 모델 페이지에 표시됩니다. 프로그램에서는 GET /v2/models/catalog/{provider}/{slug}?include=provider_price가 반환하는 provider_cards[]가 같은 데이터입니다.
채팅 모델
채팅 모델은 위 표의 대부분 공급자에 분산되어 있습니다. 정확한 제공 관계와 프로토콜 지원 여부는 각 모델 페이지를 기준으로 합니다.
비디오 모델
bytedance/seedance-* 계열은 아래 두 공급자가 제공하며, 두 공급자의 콘텐츠 정책이 다릅니다:
| 공급자 | 설명 | 콘텐츠 정책 |
|---|---|---|
volcengine | Volcengine Ark, 바이트댄스의 중국 본토 플랫폼 | 표준 심사 |
byteplus | BytePlus, 바이트댄스의 해외 플랫폼 | 모든 이용자에게 적합하지 않은(NSFW) 콘텐츠 지원 |
byteplus는 seedance가 모든 이용자에게 적합하지 않은(NSFW) 콘텐츠를 생성하도록 허용하고, volcengine은 표준 심사를 적용합니다. 그러한 콘텐츠가 필요하면 provider.type: "byteplus"를 명시적으로 지정해야 합니다. 지정하지 않으면 가중 분배로 요청이 volcengine에 전달되어 심사에서 거부될 수 있습니다.
자주 발생하는 오류
error.type | 발생 조건 |
|---|---|
invalid_provider_type | 값이 공급자 열거에 없습니다: 이름 철자가 틀렸거나 폐기된 표기를 사용했습니다. |
provider_type_unavailable | 공급자는 존재하지만 이 모델을 제공하지 않습니다. 채팅 모델의 경우 오류 메시지에 제공 가능한 공급자도 함께 표시됩니다. |