curl https://api.anthropic.com/v1/messages \-H"content-type: application/json"\-H"x-api-key: $ANTHROPIC_API_KEY"\-H"anthropic-version: 2023-06-01"\-d '{"model":"claude-opus-4-20250514","max_tokens":1024,"messages":[{"role":"user","content":[{"type":"document","source":{"type":"url","url":"https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"}},{"type":"text","text":"What are the key findings in this document?"}]}]}'
# 방법 1: 원격 PDF를 가져와서 인코딩curl-s"https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"| base64 |tr-d'\n'> pdf_base64.txt# 방법 2: 로컬 PDF 파일 인코딩# base64 document.pdf | tr -d '\n' > pdf_base64.txt# pdf_base64.txt 내용을 사용하여 JSON 요청 파일 생성jq -n--rawfile PDF_BASE64 pdf_base64.txt '{"model":"claude-opus-4-20250514","max_tokens":1024,"messages":[{"role":"user","content":[{"type":"document","source":{"type":"base64","media_type":"application/pdf","data":$PDF_BASE64}},{"type":"text","text":"What are the key findings in this document?"}]}]}' > request.json# JSON 파일을 사용하여 API 요청 보내기curl https://api.anthropic.com/v1/messages \-H"content-type: application/json"\-H"x-api-key: $ANTHROPIC_API_KEY"\-H"anthropic-version: 2023-06-01"\-d @request.json
반복적으로 사용할 PDF나 인코딩 오버헤드를 피하고 싶을 때는 Files API를 사용하세요:
# 먼저 PDF를 Files API에 업로드curl-X POST https://api.anthropic.com/v1/files \-H"x-api-key: $ANTHROPIC_API_KEY"\-H"anthropic-version: 2023-06-01"\-H"anthropic-beta: files-api-2025-04-14"\-F"file=@document.pdf"# 그런 다음 반환된 file_id를 메시지에서 사용curl https://api.anthropic.com/v1/messages \-H"content-type: application/json"\-H"x-api-key: $ANTHROPIC_API_KEY"\-H"anthropic-version: 2023-06-01"\-H"anthropic-beta: files-api-2025-04-14"\-d '{"model":"claude-opus-4-20250514", "max_tokens":1024,"messages":[{"role":"user","content":[{"type":"document","source":{"type":"file","file_id":"file_abc123"}},{"type":"text","text":"What are the key findings in this document?"}]}]}'
# pdf_base64.txt 내용을 사용하여 JSON 요청 파일 생성jq -n--rawfile PDF_BASE64 pdf_base64.txt '{"model":"claude-opus-4-20250514","max_tokens":1024,"messages":[{"role":"user","content":[{"type":"document","source":{"type":"base64","media_type":"application/pdf","data":$PDF_BASE64},"cache_control":{"type":"ephemeral"}},{"type":"text","text":"Which model has the highest human preference win rates across each use-case?"}]}]}' > request.json# 그런 다음 JSON 파일을 사용하여 API 호출curl https://api.anthropic.com/v1/messages \-H"content-type: application/json"\-H"x-api-key: $ANTHROPIC_API_KEY"\-H"anthropic-version: 2023-06-01"\-d @request.json
# pdf_base64.txt 내용을 사용하여 JSON 요청 파일 생성jq -n--rawfile PDF_BASE64 pdf_base64.txt '{"requests":[{"custom_id":"my-first-request","params":{"model":"claude-opus-4-20250514","max_tokens":1024,"messages":[{"role":"user","content":[{"type":"document","source":{"type":"base64","media_type":"application/pdf","data":$PDF_BASE64}},{"type":"text","text":"Which model has the highest human preference win rates across each use-case?"}]}]}},{"custom_id":"my-second-request","params":{"model":"claude-opus-4-20250514","max_tokens":1024,"messages":[{"role":"user","content":[{"type":"document","source":{"type":"base64","media_type":"application/pdf","data":$PDF_BASE64}},{"type":"text","text":"Extract 5 key insights from this document."}]}]}}]}' > request.json# 그런 다음 JSON 파일을 사용하여 API 호출curl https://api.anthropic.com/v1/messages/batches \-H"content-type: application/json"\-H"x-api-key: $ANTHROPIC_API_KEY"\-H"anthropic-version: 2023-06-01"\-d @request.json