본문
modelstring필수- 모델 ID (예:
everyais/gemini-3-8-flash) messagesarray필수- 메시지 1–1000개.
role은system/user/assistant/tool/developer(system으로 처리).content는 문자열, null, 멀티모달 파트 배열(최대 1000). 이미지(image_url)는 base64 data URL로 보내세요. https URL은 vLLM 기반 공급사(Nebius 등) 모델만 받고, Claude·GPT·Gemini는 400입니다 streamboolean선택- SSE 스트리밍 (기본
false) stream_optionsobject선택{"include_usage": true}면 마지막 청크에 사용량을 붙입니다temperaturenumber선택- 0–2
top_pnumber선택- 0–1
stopstring | string[]선택- 최대 4개
ninteger선택- 1만 지원(기본 1). 2 이상은 400
presence_penalty/frequency_penaltynumber선택- -2부터 2까지
seedinteger선택- 같은 결과를 내도록 돕는 힌트
toolsarray선택- function 도구(최대 512개)와 웹 검색
{"type":"web_search"}(최대 1개, 웹 검색 참고) tool_choicestring | object선택auto/none/required또는{"type":"function","function":{"name":"..."}}.none이면 웹 검색도 꺼집니다. 일부 모델(Claude Opus 5.5, Sonnet 5.5, Fable 5.1 등)은required와 함수 지정이 400입니다response_formatobject선택{"type":"text"}·{"type":"json_object"}·{"type":"json_schema","json_schema":{...}}reasoning_effortstring선택low/medium/high/xhigh/max. 모델에 따라none,minimal도 받습니다parallel_tool_callsboolean선택- 도구를 동시에 여러 개 호출할지
logprobs/top_logprobsboolean / integer선택- 지원하는 모델만.
top_logprobs는 0–20 verbositystring선택low/medium/high. GPT 모델만 받고, 그 밖은 400prompt_cache_keystring선택- OpenAI 프롬프트 캐시 라우팅 키(1024자 이하). GPT 모델만
safety_identifierstring선택- 공급사의 악용 탐지에 쓰는 최종 사용자 해시 ID(64자 이하). GPT 모델만
logit_biasobject선택- 토큰 ID별 -100부터 100까지, 최대 300개. vLLM 기반 공급사(Nebius 등)의 모델만
userstring선택- 최종 사용자 식별자
everyaisobject선택- everyais 옵션.
{"cache":"on"|"off","cache_ttl":"5m"|"1h"},parameter_policy,provider providerobject선택- 라우팅 힌트.
sort(price/latency/throughput),allow_fallbacks. 공급사를 이름으로 지정할 수는 없습니다 modelsstring[]선택- 예비 모델(최대 5개). 첫 모델을 호출할 수 없으면 순서대로 시도합니다
extra_bodyobject선택anthropic/google/openai/everyais키만 받습니다. 그 밖의 키와extra_body.provider는 400. Gemini는google.top_k와google.media_resolution(low/medium/high, 이미지·영상 입력의 토큰 수)을 받습니다
모델 ID 끝에 :nitro를 붙이면 빠른 공급사를, :floor를 붙이면 가장 저렴한 공급사를 우선합니다. 청구 금액은 같습니다. 추론 강도도 :high처럼 모델 ID 끝에 붙일 수 있고, 본문에 reasoning_effort가 없을 때 그 값으로 쓰입니다. 속도 접미사와 함께 쓸 수 있습니다(:high:nitro). Cursor처럼 추론 강도를 보낼 수 없는 도구에서 쓰세요.
스키마에 없는 필드(store, service_tier 등)는 400입니다.
모델 옵션
모델별 지원값은 GET /v1/models의 capabilities, limits, parameter_constraints에 있습니다. 페이지 위쪽에서 모델을 고르면 표로 보입니다.
요청에는 allowed_values의 값만 쓰세요. 지원하지 않는 값은 조정되거나 400이 됩니다(파라미터 정책).
- strict 스키마는
structured_outputs: true인 모델에서만 쓰세요. - 도구 결과를 이어 보낼 때는 같은 모델에 받은
tool_calls를 그대로 돌려보내세요. Gemini는tool_calls[].extra_content.google.thought_signature가, OpenAI Responses API를 쓰는 모델은extra_content.openai.reasoning_id와reasoning_encrypted_content가 있어야 이어집니다.
스트리밍
stream: true면 SSE 청크가 오고 data: [DONE]으로 끝납니다. 예제는 스트리밍을 보세요.