Skip to main content
업데이트: 2026-06-14

요청 형식

모든 API 요청은 HTTPS 프로토콜을 사용하며, 요청 본문은 JSON 형식을 사용합니다.
기본적으로 https://api.crazyrouter.com/v1을 우선 사용합니다. 어떤 도구에서 루트 도메인과 /v1 중 무엇을 입력해야 할지 확실하지 않다면, 먼저 API Endpoint 설명을 참고하세요.

필수 요청 헤더

선택 요청 헤더

요청 예시

gzip으로 요청 본문 보내기

요청 본문이 큰 경우, 예를 들어 매번 긴 컨텍스트, 긴 문서, 또는 대량의 메시지 히스토리를 업로드하는 경우, 원본 JSON 요청 본문을 gzip으로 압축한 후 보낼 수 있습니다. gzip을 활성화하면 전송 방식만 바뀌고 요청의 의미는 변하지 않습니다. 서버는 JSON을 파싱하기 전에 자동으로 압축을 해제합니다. 다음 요청 헤더를 추가해야 합니다.
Content-Encoding: gzip은 “요청 본문이 이미 gzip으로 압축되었음”을 의미합니다. Accept-Encoding: gzip과는 다른데, 후자는 일반적으로 응답 압축에 사용됩니다.

Python

Node.js

cURL

크기에 따라 자동으로 gzip 활성화

시스템이 하나의 워크플로라면, 일반적으로 비즈니스 로직에서 “어떤 요청은 압축하고 어떤 요청은 압축하지 않을지”를 직접 구분할 필요는 없습니다. 통일된 HTTP 클라이언트 래핑 계층에서 JSON body 크기를 판단하고, 임계값을 초과하면 자동으로 gzip을 적용하는 것을 권장합니다. 권장 임계값:
요청이 자주 MB 단위인 경우, 임계값을 256KB로 설정할 수도 있습니다. 작은 요청에는 gzip을 강제로 적용하지 않는 것을 권장하는데, 압축 오버헤드와 gzip 헤더로 인해 오히려 크기가 커질 수 있기 때문입니다. Python 래핑 예시:
Node.js 래핑 예시:
적용 시나리오:
  • 단일 요청 본문이 일반적으로 1MB를 초과하는 경우
  • 긴 컨텍스트나 긴 문서를 반복적으로 업로드하는 경우
  • 클라이언트가 HTTP body와 요청 헤더를 직접 제어할 수 있는 경우

스트리밍 요청

stream: true를 설정하여 SSE 스트리밍 출력을 활성화합니다.
스트리밍 응답 형식은 Server-Sent Events (SSE)이며, 각 이벤트는 data: 로 시작하고 마지막에는 data: [DONE]으로 끝납니다.

온라인 디버깅

다음 방법으로 API를 온라인에서 디버깅할 수 있습니다.
  1. Crazyrouter Playground - 로그인 후 crazyrouter.com/console/playground에 접속하여 브라우저에서 직접 테스트
  2. cURL - 명령줄 도구로 요청 전송
  3. Postman / Apifox - API 디버깅 도구 사용