홈 / 학습 / OpenAI SDK로 Claude 사용하기: OpenAI 호환 엔드포인트, 스트리밍, 도구 및 제한
OpenAI SDK + Claude. 서로 맞물리는 두 물리적 커넥터 형태가 코드 창과 다른 코드 창을 연결하며 SDK 호환성을 명확하게 표현한 모습.

OpenAI SDK로 Claude 사용하기: OpenAI 호환 엔드포인트, 스트리밍, 도구 및 제한

OpenAI SDK용으로 작성한 코드는 다시 작성하지 않고도 Claude를 호출할 수 있습니다. 다음을 지정하세요: base_url 의 대상으로 게이트웨이의 /v1을 지정하고, 게이트웨이 키와 Claude 모델 ID를 사용하세요. 엔드포인트는 Chat Completions 요청을 수락하고 동일한 형식으로 스트리밍하며 함수 호출을 지원합니다. 일부 Claude 기능은 Anthropic의 기본 형식에서만 사용할 수 있습니다. 마지막 섹션에서는 언제 전환해야 하는지 설명합니다.

엔드포인트 정보

항목 값
기본 URLhttps://aiprimetech.io/v1
채팅 엔드포인트POST https://aiprimetech.io/v1/chat/completions
모델 목록GET https://aiprimetech.io/v1/models
인증Authorization: Bearer <key>; x-api-key 도 허용됩니다
모델다음과 같은 Claude ID: claude-sonnet-5; Codex 그룹의 키를 사용하는 GPT ID

Python

터미널
pip install openai
app.py
import os
from openai import OpenAI

client = OpenAI(base_url="https://aiprimetech.io/v1", api_key=os.environ["AIPRIME_API_KEY"])

resp = client.chat.completions.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {"role": "system", "content": "You are a concise assistant."},
        {"role": "user", "content": "Explain idempotency keys in two sentences."},
    ],
)
print(resp.choices[0].message.content)
print(resp.usage)

base_url 은 다음으로 끝나야 합니다: /v1: SDK가 다음을 추가합니다: /chat/completions . 다음이 없으면 /v1 요청이 웹사이트에 도달하고 HTML을 반환합니다. /v1 두 번 사용하면 다음을 반환합니다 404 page not found.

Node.js

app.mjs
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://aiprimetech.io/v1", apiKey: process.env.AIPRIME_API_KEY });

const resp = await client.chat.completions.create({
  model: "claude-sonnet-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Write a haiku about retries." }],
});
console.log(resp.choices[0].message.content);

스트리밍

stream.py
stream = client.chat.completions.create(
    model="claude-sonnet-5",
    max_tokens=2048,
    stream=True,
    stream_options={"include_usage": True},
    messages=[{"role": "user", "content": "Outline a zero-downtime migration."}],
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
    if chunk.usage:
        print("\n", chunk.usage)

긴 답변은 스트리밍으로 받으세요. 비스트리밍 요청은 클라이언트의 제한 시간 안에 완료되어야 하지만, 스트리밍 요청은 그렇지 않습니다. include_usage 토큰 수가 포함된 마지막 청크를 추가합니다. 이것이 중요한 이유는 다음에서 자세히 알아보세요 LLM 응답 스트리밍.

함수 호출

tools.py
tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Current weather for a city",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    },
}]

resp = client.chat.completions.create(
    model="claude-sonnet-5", max_tokens=512, tools=tools,
    messages=[{"role": "user", "content": "What is the weather in Paris?"}],
)
call = resp.choices[0].message.tool_calls[0]
print(call.function.name, call.function.arguments)   # get_weather {"city": "Paris"}

응답에는 다음이 포함됩니다 finish_reason: "tool_calls" 그리고 OpenAI 형식의 tool_calls. 함수를 실행하고, 다음 유형의 메시지를 추가하세요: tool 결과와 일치하는 다음 값을 담은 메시지: tool_call_id. 그런 다음 OpenAI 모델을 사용할 때와 똑같이 다시 호출하세요.

추론과 사고

reasoning_effort Claude의 노력 수준 설정에 대응하며 다음 값을 허용합니다 low, medium, high, xhigh 또는 max. 다음 값은 none 거부됩니다. 모델이 사고할 때 추론 내용은 별도의 다음 필드로 전달됩니다: reasoning_content 다음 필드 옆에: content. 따라서 다음을 읽는 코드는 message.content 변경 없이 계속 작동합니다.

reasoning.py
resp = client.chat.completions.create(
    model="claude-opus-5-5", max_tokens=4096, reasoning_effort="high",
    messages=[{"role": "user", "content": "Find the bug in this function: ..."}],
)

모델

모델 ID 권장 용도
claude-sonnet-5코딩과 에이전트 작업의 기본 선택: 빠르고 성능이 뛰어나며 가격은 중간 수준입니다.
claude-opus-5-5더 어려운 추론, 대규모 리팩터링, 장시간 에이전트 실행.
claude-fable-5-1성능이 가장 뛰어나고 가격도 가장 높습니다. 가장 어려운 작업에 사용하세요.
claude-haiku-4-5저렴하고 빠름: 제목, 요약, 분류, 간단한 단계.

이 ID를 정확히 사용하세요. 다음과 같은 날짜가 붙은 이전 ID는 claude-3-5-sonnet-20241022 일부 모델 목록에 여전히 표시되지만 제공되지 않으며, 모델 미지원 오류를 반환합니다.

Anthropic 네이티브 API를 사용해야 하는 경우

OpenAI 형식은 채팅, 스트리밍, 도구, 이미지를 지원합니다. 명시적인 프롬프트 캐시 중단점, 턴 사이에 다시 전달하는 사고 블록, PDF 문서 또는 인용이 필요하다면 같은 게이트웨이에서 Anthropic의 자체 Messages 형식을 사용하세요. 다음 가이드에서 Anthropic Python SDK 가이드 및 다음 Vercel AI SDK 가이드 해당 방식을 설명합니다.

문제 해결

표시되는 내용 원인 해결 방법
JSON 파싱 오류, 응답이 다음으로 시작함: <base_url 없이 /v1https://aiprimetech.io/v1
404 page not found/v1 두 번정확히 하나의 /v1
401 Invalid API key프로세스에 키가 없거나 잘못된 키가 있음변수를 확인하세요. 키는 하나의 게이트웨이에 속합니다
지원되지 않는 모델날짜가 붙은 이전 모델 ID 또는 오타가 있는 모델 ID위 표의 ID를 사용하세요
'none' is not supportedreasoning_effort="none"다음을 사용하세요: low 이상으로 설정하거나 생략하세요
429 Concurrency limit exceeded for user동시에 처리 중인 요청이 너무 많음동시 실행 수를 제한하세요. 다음을 참고하세요 요청 제한과 재시도
긴 답변에서 발생하는 시간 초과긴 비스트리밍 요청스트리밍을 사용하거나 클라이언트 제한 시간을 늘리세요

자주 묻는 질문

OpenAI SDK로 Claude를 사용할 수 있나요?
네, OpenAI 호환 엔드포인트를 통해 사용할 수 있습니다. base_url을 게이트웨이의 /v1로 설정하고, 게이트웨이 API 키와 claude-sonnet-5. 같은 Claude 모델 ID를 사용하세요. 스트리밍과 함수 호출은 OpenAI 형식으로 작동합니다.
OpenAI SDK에서 Claude를 사용하려면 어떤 기본 URL을 사용해야 하나요?
/v1로 끝나는 게이트웨이 URL을 사용하세요. 예: https://aiprimetech.io/v1. SDK가 /chat/completions를 덧붙입니다.
OpenAI 형식을 통해 Claude의 함수 호출을 사용할 수 있나요?
네. OpenAI 형식으로 tools를 전달하면 Claude는 finish_reason이 tool_calls인 tool_calls를 반환하며, 평소처럼 tool 메시지로 응답하면 됩니다.
Anthropic 네이티브 API는 언제 사용해야 하나요?
명시적인 프롬프트 캐싱, 턴 사이에 전달하는 사고 블록, PDF 입력 또는 인용이 필요할 때 사용하세요. 이 기능들은 Anthropic의 Messages 형식에 포함되어 있습니다.
몇 분 만에 Claude 사용 시작하기

API 키를 발급받으세요 — Anthropic 계정이나 대기자 명단 등록이 필요하지 않습니다.

API 키 발급받기

AI Prime Tech는 독립적인 API 게이트웨이입니다. Anthropic과 제휴 관계가 없으며, Anthropic의 보증을 받거나 Anthropic의 리셀러로 활동하지 않습니다. Claude 및 관련 모델 이름은 각 소유자의 상표입니다.

더 많은 Claude API 가이드

Claude API 키 발급 방법Claude API 요금 해설Claude API를 가장 저렴하게 사용하는 방법Claude API로 Cursor 무제한 사용Claude Code 무제한 이용Claude API 게이트웨이와 Anthropic 직접 이용 비교Claude 모델 해설: Claude Opus, Sonnet, Haiku, Fable 비교 — 모든 Claude API 모델, Anthropic 모델 이름 및 가격 (2026)암호화폐로 Claude API 요금 결제하기대기 명단 없이 Claude API 이용하기Claude 토큰 사용량을 줄이는 방법Claude API로 Cline 무제한 사용Claude API로 Roo Code 무제한 사용JetBrains IDE에서 Claude 무제한 사용게이트웨이를 통해 Claude와 함께 사용하는 Aider: ANTHROPIC_API_BASE, 구성 파일, architect 모드 및 문제 해결VS Code에서 Claude 무제한 사용Claude용 OpenCode 구성: opencode.json 설정, 모델 및 일반적인 오류게이트웨이를 통해 Claude와 함께 사용하는 Hermes Agent: 사용자 지정 제공업체 설정, 비용 관리 및 문제 해결Claude에서 OpenClaw 무제한 실행하기Anthropic 호환 API의 의미Claude Code API 키 — ANTHROPIC_API_KEY: 발급 및 설정 방법과 대신 claude setup-token을 사용해야 하는 경우Claude Code API 비용 — 요금과 절감 방법Claude API 오류 설명: 서버 오류 500, 과부하 529, 사용량 제한 429, 잘못된 요청 400 — 각 오류의 해결 방법Claude API 크레딧 구매 방법 — 그리고 Claude 크레딧이 어떤 "Claude 계정 구매" 상품보다 나은 이유Claude 무료 API: 무료 Claude API 키가 있나요? 2026년에 실제로 무료인 것은 무엇인가요?Claude API와 Claude Pro/Max 구독 — 어떤 것을 선택할까요사용자 지정 제공업체와 함께 사용하는 Codex CLI: config.toml, GPT 및 Claude 모델, IDE 확장 프로그램 및 문제 해결Claude를 n8n에 연결하기LiteLLM을 Claude로 라우팅하기Kilo Code에서 Claude 사용하기게이트웨이를 통해 Claude와 함께 사용하는 GitHub Copilot Chat: Custom Endpoint 설정, 에이전트 모드 및 문제 해결게이트웨이를 통해 Zed를 Claude에 연결하기Cherry Studio를 Claude에 연결하기LangChain의 ChatAnthropic: 가져오기, base_url, 스트리밍, 도구 및 오류Anthropic Python SDK: 설치, base_url 설정, 스트리밍 및 오류 처리Vercel AI SDK로 Claude 사용하기: createAnthropic baseURL, 스트리밍 및 문제 해결Claude로 Factory Droid 실행하기Claude Code API 이해하기애플리케이션에 Claude API 통합하기Claude를 무제한으로 사용하는 방법 — 그리고 "Claude Code 크랙 버전"이 없는 이유

Claude API 가이드 더 보기

Anthropic 호환 API의 의미Anthropic Python SDK: 설치, base_url 설정, 스트리밍 및 오류 처리Claude API 크레딧 구매 방법Claude API를 가장 저렴하게 사용하는 방법Claude API 오류 설명: 서버 오류 500, 과부하 529, 사용량 제한 429, 잘못된 요청 400 — 각 오류의 해결 방법Claude 무료 API: 무료 Claude API 키가 있나요? 2026년에 실제로 무료인 것은 무엇인가요?애플리케이션에 Claude API 통합하기Claude 모델 해설: Claude Opus, Sonnet, Haiku, Fable 비교 — 모든 Claude API 모델, Anthropic 모델 이름 및 가격 (2026)Claude API 요금 해설Claude API 게이트웨이와 Anthropic 직접 이용 비교Claude API와 Claude Pro/Max 구독 — 어떤 것을 선택할까요암호화폐로 Claude API 요금 결제하기대기 명단 없이 Claude API 이용하기Claude Code API 이해하기Claude Code API 비용 — 요금과 절감 방법Claude Code API 키 — ANTHROPIC_API_KEY: 발급 및 설정 방법과 대신 claude setup-token을 사용해야 하는 경우Claude를 무제한으로 사용하는 방법Claude API 키 발급 방법Claude 토큰 사용량을 줄이는 방법게이트웨이를 통해 Claude와 함께 사용하는 Hermes Agent: 사용자 지정 제공업체 설정, 비용 관리 및 문제 해결Claude에서 OpenClaw 무제한 실행하기Claude API 무제한 액세스의 의미무제한 Claude API 키를 발급받는 방법Claude Code 무제한 사용 — 토큰 제한 없음Claude Opus 4.8 무제한 이용Claude 무제한 사용 — 요금제 및 가격게이트웨이를 통해 Claude와 함께 사용하는 Aider: ANTHROPIC_API_BASE, 구성 파일, architect 모드 및 문제 해결Cherry Studio를 Claude에 연결하기Claude Code 무제한 이용Claude API로 Cline 무제한 사용사용자 지정 제공업체와 함께 사용하는 Codex CLI: config.toml, GPT 및 Claude 모델, IDE 확장 프로그램 및 문제 해결Claude 무제한 이용으로 Cursor 실행하기Claude로 Factory Droid 실행하기게이트웨이를 통해 Claude와 함께 사용하는 GitHub Copilot Chat: Custom Endpoint 설정, 에이전트 모드 및 문제 해결JetBrains IDE에서 Claude 무제한 사용Kilo Code에서 Claude 사용하기LangChain의 ChatAnthropic: 가져오기, base_url, 스트리밍, 도구 및 오류LiteLLM을 Claude로 라우팅하기Claude를 n8n에 연결하기Claude용 OpenCode 구성: opencode.json 설정, 모델 및 일반적인 오류Claude API로 Roo Code 무제한 사용Vercel AI SDK로 Claude 사용하기: createAnthropic baseURL, 스트리밍 및 문제 해결VS Code에서 Claude 무제한 사용게이트웨이를 통해 Zed를 Claude에 연결하기