모델 이름 줄여 쓰기
모델 ID 앞의 everyais/는 빼도 됩니다. claude-sonnet-5-5는 everyais/claude-sonnet-5-5로,
점을 쓴 gemini-3.8-flash는 everyais/gemini-3-8-flash로 연결됩니다.
등록된 공급사 원래 모델 이름도 받습니다. 모델이 받는 이름은 GET /v1/models의 aliases에 있습니다.
줄인 이름은 한 모델로만 정해지고 그 모델을 지금 제공 중일 때만 연결되며, 후보가 둘 이상이면 404입니다. 모델이 늘어나면 줄인 이름이 여러 모델에 해당할 수 있으니 설정 파일과 코드에는 전체 ID를 쓰세요.
요청 하나의 비용 보기
스트리밍이 아닌 응답에는 x-everyais-cost-usd 헤더로 그 요청의 금액(USD)이 붙습니다.
raw = client.chat.completions.with_raw_response.create(
model="everyais/gemini-3-8-flash",
messages=[{"role": "user", "content": "Hello!"}],
)
print(raw.headers.get("x-everyais-cost-usd"))
response = raw.parse()같은 요청을 안전하게 다시 보내기
응답을 못 받아 다시 보낸 요청은 두 번 실행되고 두 번 청구될 수 있습니다. Idempotency-Key 헤더를 붙이고 재시도에도 같은 키를 쓰면 중복 실행을 막습니다.
import uuid
key = str(uuid.uuid4()) # 다시 보낼 때도 이 값을 그대로 씁니다
response = client.chat.completions.create(
model="everyais/gemini-3-8-flash",
messages=[{"role": "user", "content": "Hello!"}],
extra_headers={"Idempotency-Key": key},
)- Chat, Messages, Responses, 이미지 생성·편집에서 지원합니다. 비디오 제출은 지원하지 않습니다.
- API 키, 엔드포인트, 본문이 모두 같을 때만 같은 요청으로 봅니다. JSON의 공백이나 필드 순서만 달라도 다른 본문입니다.
- 키는 최대 255자이고 24시간 동안 보관합니다.
- 성공한 JSON 응답이 300 KiB 이하면 저장된 응답을 다시 돌려주고
Idempotent-Replayed: true헤더를 붙입니다. - 스트림과 큰 응답은 다시 돌려주지 않고, 같은 키로 다시 보내면 409로 막습니다.
- 실패한 응답은 저장하지 않으므로 같은 키로 다시 시도할 수 있습니다.
- 드물게 같은 요청이 두 번 실행될 수 있습니다.
409 응답의 뜻은 오류와 재시도에 있습니다.
캐시 토큰 확인
응답 usage의 prompt_tokens_details.cached_tokens와 cache_creation_tokens로 캐시 적중을 확인합니다. 프롬프트 캐싱을 보세요.
키별 지출 한도와 스코프
API 키마다 월·일·분 지출 한도(USD)와 스코프(chat · images · video · models:read)를 정할 수 있습니다.
한도를 넘으면 402, 스코프 밖을 호출하면 403입니다. 자세한 내용은 인증을 보세요.
엔드포인트별 제한
| 항목 | 제한 |
|---|---|
/v1/chat/completions 의 n | 1만 지원합니다. 2 이상은 400 |
/v1/images/generations 의 n | 1–10 |
/v1/images/edits 의 n | 1–4 |
본문 크기 제한은 Base URL을 보세요. 임베딩(/v1/embeddings)과 오디오(/v1/audio/*) API는 제공하지 않습니다.