Claude API 사용법, Python으로 첫 호출까지 10분 가이드

“Claude를 코드에서 바로 쓸 수 있다”는 이야기를 들어보셨나요? Claude API를 쓰면 Python 코드에서 Claude를 직접 호출할 수 있습니다. 챗봇 만들기, 문서 자동 요약, 데이터 분류, 이메일 초안 생성까지. Python 기초만 알면 됩니다.

이 글에서는 Claude API 키 발급부터 첫 번째 호출 코드 실행까지, 처음 접하시는 분도 따라할 수 있게 단계별로 정리했어요.

Claude API가 뭔가요?

Claude API는 Anthropic이 제공하는 공식 프로그래밍 인터페이스입니다. 쉽게 말하면, 웹사이트나 앱에서 Claude와 대화하는 게 아니라 내 코드 안에서 Claude를 호출하는 방법이에요.

예를 들어 이런 것들이 가능해집니다.

  • 엑셀 파일 100개를 자동으로 읽어서 각각 요약문 생성
  • 고객 문의 메일이 들어오면 자동으로 카테고리 분류
  • 내가 만든 서비스에 Claude 기반 챗봇 추가
  • 이미지를 넣으면 내용을 설명해주는 기능 구현

Claude API는 anthropic Python SDK를 통해 사용합니다. Anthropic이 공식으로 만든 라이브러리라서 설치도 간단하고, 코드도 직관적이에요.

준비물 (API 키 발급)

Claude API를 쓰려면 두 가지가 필요합니다. Python 환경API 키예요.

Python 환경 확인

Python 3.8 이상이 설치되어 있어야 합니다. 터미널(또는 명령 프롬프트)에서 아래 명령어로 확인해보세요.

python --version

Python 3.8.0 이상이 나오면 됩니다. Python이 없으시면 python.org에서 최신 버전을 설치해주세요.

anthropic SDK 설치

pip install anthropic

이 한 줄로 설치가 끝납니다. Python 패키지 관리자 pip가 자동으로 필요한 것들을 설치해줘요.

API 키 발급받기

API 키는 Claude API를 쓸 때 “나 누구야”를 증명하는 일종의 비밀번호입니다. 발급 방법은 간단합니다.

  1. console.anthropic.com에 접속해서 로그인합니다 (Anthropic 계정 필요)
  2. 왼쪽 메뉴에서 Settings → API Keys로 이동합니다
  3. Create Key 버튼을 클릭합니다
  4. 키 이름을 입력하고 생성하면 sk-ant-로 시작하는 API 키가 나옵니다
  5. 이때 반드시 복사해두세요. 창을 닫으면 다시 볼 수 없어요

발급받은 API 키는 환경변수로 저장하는 게 안전합니다. 코드에 직접 입력하면 실수로 공유될 위험이 있거든요.

Mac / Linux:

export ANTHROPIC_API_KEY="sk-ant-여기에키입력"

Windows (PowerShell):

$env:ANTHROPIC_API_KEY="sk-ant-여기에키입력"

매번 설정하기 번거로우시면, .env 파일에 저장하거나 시스템 환경변수에 영구 등록해두시면 편해요.

API 사용은 유료입니다. 처음 가입하면 소액의 무료 크레딧을 제공하는 경우가 있어요. 요금 구조는 아래에서 설명드릴게요.

첫 번째 API 호출 (코드 예시)

드디어 코드를 써볼 차례입니다. 아래 코드를 hello_claude.py라는 파일로 저장하고 실행해보세요.

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "안녕하세요! 간단하게 자기소개 해주세요."}
    ]
)

print(message.content[0].text)

실행 방법:

python hello_claude.py

Claude가 안녕하세요로 답변하는 텍스트가 출력되면 성공입니다.

코드를 한 줄씩 살펴보면 이렇습니다.

  • anthropic.Anthropic() — 환경변수의 API 키를 자동으로 읽어서 클라이언트를 만들어요
  • model — 어떤 Claude를 쓸지 지정합니다
  • max_tokens — 응답 최대 길이입니다. 1024토큰은 약 800자 정도예요
  • messages — 대화 내용입니다. role: user는 사용자 메시지를 의미해요
  • message.content[0].text — 응답 텍스트를 꺼내는 부분입니다

자주 쓰는 기능

스트리밍 — 실시간으로 출력하기

기본 방식은 응답이 완성될 때까지 기다렸다가 한꺼번에 출력합니다. 스트리밍을 쓰면 Claude가 글을 쓰는 것처럼 글자가 실시간으로 출력돼요. 챗봇에서 보던 그 방식입니다.

import anthropic

client = anthropic.Anthropic()

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Python이란 무엇인지 설명해줘"}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

print()  # 마지막 줄바꿈

멀티턴 대화 — 이전 대화 기억하기

Claude API는 기본적으로 각 호출이 독립적입니다. 이전 대화를 기억하려면 messages 리스트에 대화 기록을 직접 넣어야 해요. 처음에는 좀 어색하지만, 이게 오히려 유연해서 좋습니다.

import anthropic

client = anthropic.Anthropic()

# 대화 기록을 쌓아가는 방식
conversation = []

def chat(user_message):
    conversation.append({"role": "user", "content": user_message})

    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        messages=conversation
    )

    assistant_message = response.content[0].text
    conversation.append({"role": "assistant", "content": assistant_message})

    return assistant_message

# 대화 예시
print(chat("내 이름은 민준이에요"))
print(chat("제 이름이 뭔지 기억하세요?"))

두 번째 질문에서 “민준이에요”라고 답하면 멀티턴이 잘 작동하는 겁니다.

이미지 입력 — 사진 내용 물어보기

Claude는 이미지도 이해할 수 있어요. 이미지 URL을 넣거나 이미지 파일을 Base64로 인코딩해서 전달합니다.

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://example.com/chart.png",
                    },
                },
                {
                    "type": "text",
                    "text": "이 이미지에 뭐가 있는지 설명해줘"
                }
            ],
        }
    ],
)

print(message.content[0].text)

차트, 스크린샷, 사진 등을 넣고 내용을 물어보거나 데이터를 추출할 수 있어요. 실용적으로 쓸 수 있는 기능이에요.

요금 구조

Claude API는 사용한 만큼 과금됩니다. 단위는 토큰(token)이에요. 한국어 기준 대략 1토큰 = 1~2글자 정도로 이해하시면 됩니다.

모델 입력 (1M 토큰) 출력 (1M 토큰) 특징
claude-opus-4-6 $5 $25 가장 강력, 복잡한 작업에 적합
claude-sonnet-4-6 $3 $15 성능과 비용의 균형, 대부분 추천
claude-haiku-4-5 $1 $5 빠르고 저렴, 단순 분류·요약에 적합

실제로 얼마나 쓰게 될까요? 예를 들어 문서 요약 작업을 하루 100건 한다면, 문서당 평균 2,000토큰 입력, 500토큰 출력이라고 가정하면 Sonnet 기준 하루 약 $0.90 정도입니다. 매월 $27 수준이에요.

처음에는 Sonnet으로 시작해서 속도가 중요한 단순 작업은 Haiku로, 복잡한 추론이 필요하면 Opus로 바꿔보시는 걸 추천해요. 모델명만 바꾸면 되니까 전환이 쉽습니다.

사용량은 console.anthropic.com에서 실시간으로 확인할 수 있어요. 예산 한도도 설정할 수 있어서 갑자기 많이 나올 걱정은 없습니다.

정리

Claude API의 핵심을 요약하면 이렇습니다.

  1. pip install anthropic 으로 SDK 설치
  2. console.anthropic.com에서 API 키 발급
  3. 환경변수에 키 저장 후 anthropic.Anthropic()으로 클라이언트 생성
  4. client.messages.create()로 호출, message.content[0].text로 응답 추출

스트리밍, 멀티턴, 이미지 입력까지 모두 같은 패턴에서 조금씩 확장되는 구조라 한 번 익히면 응용이 쉬워요. Python 기초만 알면 충분히 따라할 수 있는 수준입니다.

가장 빠른 시작 방법은 위 예시 코드를 그대로 복사해서 실행해보는 것입니다. 뭔가 출력되는 순간, 이후부터는 금방 감이 옵니다.

※ 이 글의 코드 예시와 요금은 2026년 6월 기준입니다. 공식 문서는 docs.anthropic.com에서 확인하실 수 있어요.