Skip to main content
POST
Claude 네이티브 형식

소개

Claude의 네이티브 메시지 API로, Claude Code와 같은 Anthropic 네이티브 클라이언트에 적합합니다. 이 API는 Anthropic 사양을 따르며 Extended Thinking, 도구 호출 등 Claude 모델의 전체 기능을 제공합니다.
OpenAI 호환 클라이언트(예: OpenAI SDK)를 사용하는 경우 /v1/chat/completions 엔드포인트 사용을 권장합니다.

인증

string
필수
Bearer 토큰, 예: Bearer sk-xxxxxxxxxx

요청 매개변수

string
필수
Claude 모델 식별자. 지원 모델:
  • claude-opus-4-8 - Claude Opus 4.8 (최신, 가장 강력한 추론)
  • claude-opus-4-7 - Claude Opus 4.7
  • claude-opus-4-6 - Claude Opus 4.6
  • claude-sonnet-4-6 - Claude Sonnet 4.6 (최신, 균형 잡힌 성능)
  • claude-opus-4-5-20251101 - Claude Opus 4.5
  • claude-haiku-4-5-20251001 - Claude Haiku 4.5 (최신, 가장 빠름)
  • claude-sonnet-4-5-20250929 - Claude Sonnet 4.5
  • claude-opus-4-1-20250805 - Claude Opus 4.1
  • claude-sonnet-4-20250514 - Claude Sonnet 4
  • 기타 Claude 시리즈 모델
array
필수
대화 메시지 목록. 각 항목은 role(user/assistant)과 content를 포함합니다. content는 문자열 또는 미디어 콘텐츠 배열일 수 있습니다.
number
필수
생성할 최대 토큰 수. 0보다 커야 합니다.
string|array
시스템 프롬프트. 문자열 또는 미디어 콘텐츠 배열로 지정할 수 있습니다. 모델의 동작과 역할을 설정하는 데 사용됩니다.
number
기본값:"1.0"
무작위성 제어, 0-1. 값이 높을수록 응답이 더 무작위적입니다. 확장 사고 사용 시 1.0으로 설정하는 것을 권장합니다.
number
기본값:"1.0"
Nucleus 샘플링 매개변수, 0-1. 생성 다양성을 제어합니다. 확장 사고 사용 시 0으로 설정하는 것을 권장합니다.
number
Top-K 샘플링 매개변수. 일부 모델에서만 지원됩니다.
boolean
기본값:"false"
스트리밍 출력 활성화 여부. SSE 형식의 데이터 청크를 반환합니다. 확장 사고 사용 시 활성화를 권장합니다.
array
중지 시퀀스 목록. 모델이 이 시퀀스를 생성하면 생성이 중단됩니다.
array
도구 정의 목록. 함수 도구와 웹 검색 도구를 지원합니다.
object
도구 선택 전략. 모델이 도구를 사용하는 방식을 제어합니다.
object
확장 사고 설정. Claude의 심층 추론 기능을 활성화합니다.
object
추적 및 디버깅용 요청 메타데이터.
array
MCP(Model Context Protocol) 서버 설정.
object
컨텍스트 관리 설정. 대화 컨텍스트 처리 방식을 제어합니다.

프롬프트 캐싱

프롬프트 캐싱을 사용하면 자주 사용하는 컨텍스트 콘텐츠를 캐시하여 비용을 크게 절감하고 응답 속도를 향상시킬 수 있습니다. systemmessages에서 cache_control 매개변수를 사용할 수 있습니다.

캐시 제어 매개변수

object
캐시 제어 설정. system 배열 요소와 messagescontent 배열 요소에서 사용할 수 있습니다.
  • type: 캐시 유형
    • "ephemeral": 5분 캐시 (기본값, 가장 비용 효율적)
    • "persistent": 1시간 캐시 (장기적으로 안정적인 컨텍스트에 적합)

캐싱 메커니즘

  • 캐시 위치: cache_control이 지정된 마지막 콘텐츠 블록이 캐시됩니다
  • 캐시 임계값: 콘텐츠는 최소 1024 토큰(Claude Sonnet 4.5) 또는 2048 토큰(Claude 3 Haiku) 이상이어야 합니다
  • 캐시 유효 기간:
    • ephemeral: 5분간 유효
    • persistent: 1시간 유효
  • 비용 절감: 캐시 읽기는 일반 입력보다 90% 저렴합니다

사용 사례

  1. 긴 문서 분석: system에 대용량 문서를 캐시하고 여러 질문 수행
  2. 코드베이스 이해: 코드 컨텍스트를 캐시하여 다중 턴 코드 분석
  3. 지식 베이스 Q&A: 지식 베이스 콘텐츠를 캐시하여 빠른 조회
  4. 다중 턴 대화: 대화 기록을 캐시하여 컨텍스트 일관성 유지

기본 예제

고급 기능

시스템 프롬프트

시스템 프롬프트는 문자열 또는 미디어 콘텐츠 배열로 설정할 수 있습니다:

확장 사고

Claude는 확장 사고를 지원하여 모델이 심층 추론을 수행할 수 있습니다. 활성화하면 모델이 최종 답변을 생성하기 전에 내부적으로 사고합니다.
  • budget_tokens는 1024보다 커야 합니다
  • 확장 사고 사용 시 temperature: 1.0, top_p: 0 설정을 권장합니다
  • 사고 과정을 보려면 스트리밍 출력(stream: true)을 활성화해야 합니다

도구 호출

함수 도구와 웹 검색 도구를 지원합니다:

tool_choice 매개변수 상세

tool_choice는 모델이 도구를 사용하는 방식을 제어합니다: 예제:

멀티모달 입력 (이미지)

메시지에 이미지를 포함할 수 있습니다:

프롬프트 캐싱

자주 사용하는 컨텍스트 콘텐츠를 캐시하면 비용을 크게 절감하고 응답 속도를 향상시킬 수 있습니다.
첫 번째 요청 응답:
5분 이내 두 번째 요청 (다른 질문, 동일 system):
캐시 핵심 사항:
  • 콘텐츠는 캐싱을 트리거하려면 ≥ 1024 토큰(Claude Sonnet 4.5) 이상이어야 합니다
  • ephemeral 캐시는 5분간 유효합니다
  • persistent 캐시는 1시간 유효합니다
  • 캐시 읽기 비용은 일반 입력보다 90% 저렴합니다
  • cache_control이 지정된 마지막 블록이 캐시됩니다
  • 캐시는 정확한 콘텐츠 일치를 기반으로 하며, 변경 시 캐시가 무효화됩니다
모범 사례:
  • 변경되지 않는 긴 컨텍스트(문서, 코드베이스 등)를 system에 캐싱 활성화와 함께 배치
  • 장기적으로 안정적인 콘텐츠에는 persistent 캐시(1시간) 사용
  • 자주 변경되는 콘텐츠에는 ephemeral 캐시(5분) 사용
  • 다중 턴 대화에서 대화 기록 캐시
  • cache_creation_input_tokenscache_read_input_tokens를 모니터링하여 비용 최적화

응답 형식

캐시 사용 시 usage 필드:
  • input_tokens: 현재 요청의 비캐시 입력 토큰
  • cache_creation_input_tokens: 최초 캐시된 토큰 (첫 요청에만 존재)
  • cache_read_input_tokens: 캐시에서 읽은 토큰 (캐시 히트 시 존재)
  • output_tokens: 생성된 출력 토큰

오류 처리

시스템은 업스트림 Claude API 오류를 처리하고 표준화된 오류 응답 형식을 반환합니다. 오류 응답 예제:

/v1/chat/completions와 비교

  • Claude Code 또는 기타 Anthropic 네이티브 클라이언트를 사용하는 경우 /v1/messages 엔드포인트 사용을 권장합니다
  • OpenAI SDK를 사용하거나 OpenAI 형식 호환이 필요한 경우 /v1/chat/completions 엔드포인트 사용을 권장합니다
  • 두 엔드포인트의 기능은 본질적으로 동일하며, 주요 차이는 요청/응답 형식에 있습니다

참고 사항

  • max_tokens는 필수 매개변수이며 0보다 커야 합니다
  • messages 배열은 비어 있을 수 없습니다
  • 확장 사고 사용 시 budget_tokens는 1024보다 커야 합니다
  • 확장 사고는 사고 과정을 보려면 스트리밍 출력이 필요합니다
  • 도구 호출은 여러 라운드의 상호작용이 필요합니다: 1라운드에서 도구 호출 요청 반환, 2라운드에서 도구 실행 결과 반환
  • 이미지 입력은 base64 인코딩이 필요합니다
  • 스트리밍 출력을 사용하면 첫 토큰 응답 시간과 상호작용 경험을 개선할 수 있습니다
  • 도구 호출에는 모델 응답 차단을 방지하기 위한 적절한 타임아웃 및 재시도 메커니즘이 있어야 합니다
  • 확장 사고는 복잡한 문제에 대한 추론 품질을 크게 향상시킬 수 있습니다

관련 리소스

Chat Completions (OpenAI 호환)

OpenAI 호환 채팅 엔드포인트 문서 보기

모델 목록

지원되는 모든 모델 정보 보기