텍스트 및 이미지 입력, 적응형 사고, 프롬프트 캐싱, 스트리밍(Streaming), 도구를 지원하는 CometAPI Messages 엔드포인트를 통해 Claude를 호출합니다.
POST
/
v1
/
messages
import osimport anthropicclient = anthropic.Anthropic( base_url="https://api.cometapi.com", api_key=os.environ["COMETAPI_KEY"],)message = client.messages.create( model="claude-opus-5", max_tokens=1000, messages=[ { "role": "user", "content": "Suggest three search queries about renewable energy storage.", }, ],)for block in message.content: if block.type == "text": print(block.text)
{ "id": "msg_example", "type": "message", "role": "assistant", "model": "claude-opus-5", "content": [ { "type": "text", "text": "Here are three search queries covering different angles of the topic:\n\n1. **\"grid-scale battery storage cost trends 2024 2025\"**\n — Targets economics and recent price data for lithium-ion and other utility-scale systems.\n\n2. **\"long-duration energy storage technologies comparison flow battery vs compressed air vs thermal\"**\n — Surfaces technical comparisons of options for storage beyond the 4–8 hour range, where lithium-ion becomes less cost-effective.\n\n3. **\"green hydrogen seasonal storage feasibility round-trip efficiency\"**\n — Digs into the viability of hydrogen for multi-week or seasonal balancing, including its efficiency penalties.\n\n**A few tips for refining these:**\n- Add `site:.gov` or `site:.edu` to prioritize research and agency reports (e.g., NREL, IEA, DOE).\n- Append a region like `Europe`, `India`, or `California` if you need location-specific policy or deployment data.\n- Try `filetype:pdf` to pull up technical white papers and government studies directly.\n\nWant me to tailor these toward a specific use case — academic research, investment analysis, or policy work?" } ], "stop_reason": "end_turn", "stop_sequence": null, "usage": { "input_tokens": 23, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "cache_creation": { "ephemeral_5m_input_tokens": 0, "ephemeral_1h_input_tokens": 0 }, "output_tokens": 437, "output_tokens_details": { "thinking_tokens": 50 } }}
POST /v1/messages로 Anthropic 메시지 형식의 Claude 요청을 전송합니다.
예제에서는 공식 Anthropic SDK를 CometAPI 기본 URL로 구성하고
$COMETAPI_KEY에서 API 키를 읽습니다.
thinking.type을 adaptive로 설정하고 output_config.effort 값을 선택하세요.
다음 예에서는 xhigh를 사용하고 스트림에서 완료된 메시지를 읽습니다:
import osimport anthropicclient = anthropic.Anthropic( base_url="https://api.cometapi.com", api_key=os.environ["COMETAPI_KEY"],)with client.messages.stream( model="claude-opus-5", max_tokens=4096, messages=[ { "role": "user", "content": "A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps.", }, ], thinking={ "type": "adaptive", }, output_config={ "effort": "xhigh", },) as stream: message = stream.get_final_message()for block in message.content: if block.type == "text": print(block.text)
사고는 max_tokens 출력 제한에 포함됩니다. 최종
답변과 사고를 위한 여유 공간을 남겨 두세요. 응답에는 표시되는
사고 블록 없이 텍스트가 포함될 수 있습니다. 대화
기록에서 반환된 사고 블록은 변경하지 않고 유지하세요.모델별 사고 구성에 대한 자세한 내용은
사고에서 확인하세요..
이 예에서는 temperature, top_p, top_k을 생략합니다. 샘플링 제어를 추가하기 전에 선택한
모델의 매개변수 문서를 참조하세요.
요청 간에 재사용하는 참조 자료에 캐시 브레이크포인트를 배치하세요.
참조 자료를 UTF-8 reference.txt 파일에 저장한 후 이
예제를 실행하세요. 선택한 모델의
최소 캐시 가능 길이를 충족하는 접두사를 사용하세요.:
import osfrom pathlib import Pathimport anthropicclient = anthropic.Anthropic( base_url="https://api.cometapi.com", api_key=os.environ["COMETAPI_KEY"],)reference = Path("reference.txt").read_text(encoding="utf-8")with client.messages.stream( model="claude-sonnet-5", max_tokens=1024, messages=[ { "role": "user", "content": "How long can customers return damaged books, and what must they provide?", }, ], system=[ { "type": "text", "text": reference, "cache_control": { "type": "ephemeral", }, }, ],) as stream: message = stream.get_final_message()for block in message.content: if block.type == "text": print(block.text)print(message.usage.model_dump_json())
동일한 모델, 참조 텍스트 및 사고 설정으로 요청을 다시 실행하세요.
요청이 접두사를 재사용했는지 확인하려면 사용량 카운터를 살펴보세요:
cache_creation_input_tokens 캐시에 기록된 토큰(Token) 수를 나타냅니다.
cache_read_input_tokens 캐시에서 읽은 토큰(Token) 수를 나타냅니다.
input_tokens 해당 캐시 카운터 외부에서 처리된 입력량을 나타냅니다.
반복 요청에서 cache_read_input_tokens은 캐시에서 읽은 입력 토큰(Token) 수를
보고합니다. OpenAPI 프롬프트(Prompt) 캐시
예제에는 완전한 가상의 참조 자료가 포함되어 있으며, 샘플을 사용해 보려면 이를
reference.txt 로 저장하세요.
Server-Sent Events에 stream: true를 설정합니다. SDK는 텍스트 조각을
도착하는 즉시 노출합니다:
import osimport anthropicclient = anthropic.Anthropic( base_url="https://api.cometapi.com", api_key=os.environ["COMETAPI_KEY"],)with client.messages.stream( model="claude-opus-5", max_tokens=1024, messages=[ { "role": "user", "content": "Write a two-line poem about a comet.", }, ],) as stream: for text in stream.text_stream: print(text, end="", flush=True)
메시지 스트림에는 message_start, 콘텐츠 블록 이벤트, message_delta,
및 message_stop가 포함됩니다. 콘텐츠 블록에는 텍스트, 사고 과정 또는 도구 활동이 포함될 수 있습니다.
텍스트 블록의 경우 content_block_delta에는 text_delta가 포함됩니다. 최종 사용량
과 중지 이유는 message_delta에서 확인합니다.
서버 도구는 API 요청 중에 실행되며 결과 블록을
Claude의 답변과 함께 반환합니다.
웹 가져오기
웹 검색
논문을 가져오고 Claude에게 가져온 문서를 답변에 사용하도록 요청합니다.
이 예에서는 응답을 스트리밍하고 최종 텍스트와
web_fetch_tool_result 블록을 모두 검사합니다:
import osimport anthropicclient = anthropic.Anthropic( base_url="https://api.cometapi.com", api_key=os.environ["COMETAPI_KEY"],)with client.messages.stream( model="claude-sonnet-5", max_tokens=2048, messages=[ { "role": "user", "content": "Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences.", }, ], tools=[ { "type": "web_fetch_20250910", "name": "web_fetch", "max_uses": 3, }, ],) as stream: message = stream.get_final_message()for block in message.content: if block.type == "text": print(block.text)for block in message.content: if block.type == "web_fetch_tool_result": print(block.model_dump_json())
응답은 server_tool_use 블록과 web_fetch_tool_result를 함께 제공하며
여기에는 가져온 문서 또는 도구 오류가 포함됩니다.
공식 출시일을 검색하고 Claude에게 출처를 인용하도록 요청합니다.
이 예에서는 응답을 스트리밍하고 최종 메시지를 수집한 다음 반환된
검색 소스를 출력합니다:
import osimport anthropicclient = anthropic.Anthropic( base_url="https://api.cometapi.com", api_key=os.environ["COMETAPI_KEY"],)with client.messages.stream( model="claude-sonnet-5", max_tokens=4096, messages=[ { "role": "user", "content": "Search the web for the official Python 3.14 release date. Answer with the date and cite a source.", }, ], tools=[ { "type": "web_search_20250305", "name": "web_search", "max_uses": 3, }, ],) as stream: message = stream.get_final_message()for block in message.content: if block.type == "text": print(block.text)for block in message.content: if block.type == "web_search_tool_result": if isinstance(block.content, list): for result in block.content: if result.type == "web_search_result": print(result.title, result.url)
응답은 server_tool_use 블록과 web_search_tool_result를 함께 제공하며
여기에는 소스가 포함됩니다. 이 결과 블록에서 소스 제목과 URL을 읽으세요.
클라이언트 도구의 경우 Claude는 tool_use 블록을 반환합니다. 애플리케이션 함수를 실행하고
일치하는 tool_result 블록으로 결과를 전송합니다. tool_use_id가 일치해야 합니다.
두 요청 간에 완전한 어시스턴트 콘텐츠를 보존하세요.이 예에서는 가상의 주문 결과를 제공하고 Claude에게 해당 결과를 사용하도록 요청합니다:
import jsonimport osimport anthropicclient = anthropic.Anthropic( base_url="https://api.cometapi.com", api_key=os.environ["COMETAPI_KEY"],)tools = [{ "name": "get_order_status", "description": "Look up the status of a demonstration order.", "input_schema": { "type": "object", "properties": { "order_id": { "type": "string", "description": "The order reference.", }, }, "required": ["order_id"], },}]messages = [{ "role": "user", "content": "Check the status of demo-order-42 using the order tool.",}]with client.messages.stream( model="claude-opus-5", max_tokens=1000, messages=messages, tools=tools,) as stream: message = stream.get_final_message()tool_call = next(b for b in message.content if b.type == "tool_use")messages.append({ "role": "assistant", "content": [block.model_dump() for block in message.content],})messages.append({ "role": "user", "content": [{ "type": "tool_result", "tool_use_id": tool_call.id, "content": json.dumps({ "status": "ready_for_pickup", "pickup_code": "COMET42", }), }],})with client.messages.stream( model="claude-opus-5", max_tokens=1000, messages=messages, tools=tools,) as stream: follow_up = stream.get_final_message()for block in follow_up.content: if block.type == "text": print(block.text)
스트리밍되지 않는 요청은 메시지 객체를 반환합니다. 다음 예에서는 예시 메시지 식별자와 함께 해당 메시지의
텍스트 및 사용량 필드를 보여 줍니다:
{ "id": "msg_example", "type": "message", "role": "assistant", "model": "claude-opus-5", "content": [ { "type": "text", "text": "Here are three search queries covering different angles of the topic:\n\n1. **\"grid-scale battery storage cost trends 2024 2025\"**\n — Targets economics and recent price data for lithium-ion and other utility-scale systems.\n\n2. **\"long-duration energy storage technologies comparison flow battery vs compressed air vs thermal\"**\n — Surfaces technical comparisons of options for storage beyond the 4–8 hour range, where lithium-ion becomes less cost-effective.\n\n3. **\"green hydrogen seasonal storage feasibility round-trip efficiency\"**\n — Digs into the viability of hydrogen for multi-week or seasonal balancing, including its efficiency penalties.\n\n**A few tips for refining these:**\n- Add `site:.gov` or `site:.edu` to prioritize research and agency reports (e.g., NREL, IEA, DOE).\n- Append a region like `Europe`, `India`, or `California` if you need location-specific policy or deployment data.\n- Try `filetype:pdf` to pull up technical white papers and government studies directly.\n\nWant me to tailor these toward a specific use case — academic research, investment analysis, or policy work?" } ], "stop_reason": "end_turn", "stop_sequence": null, "usage": { "input_tokens": 23, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "cache_creation": { "ephemeral_5m_input_tokens": 0, "ephemeral_1h_input_tokens": 0 }, "output_tokens": 437, "output_tokens_details": { "thinking_tokens": 50 } }}
중지 이유는 다음 작업을 설명합니다. end_turn는 응답이 완료되었음을 의미하고,
max_tokens 출력이 제한에 도달했음을 의미하며, tool_use는 클라이언트 도구 결과를 요청합니다.
pause_turn를 반환하는 서버 도구 턴의 경우, 변경하지 않은
반환된 어시스턴트 콘텐츠로 계속 진행합니다.
Conversation history. Use user and assistant messages with text strings or content-block arrays. Return complete assistant content blocks when continuing a tool call.
The maximum number of tokens to generate. The model may stop before reaching this limit. When using thinking, the thinking tokens count towards this limit.
If true, stream the response incrementally using Server-Sent Events (SSE). Events include message_start, content_block_start, content_block_delta, content_block_stop, message_delta, and message_stop.
import osimport anthropicclient = anthropic.Anthropic( base_url="https://api.cometapi.com", api_key=os.environ["COMETAPI_KEY"],)message = client.messages.create( model="claude-opus-5", max_tokens=1000, messages=[ { "role": "user", "content": "Suggest three search queries about renewable energy storage.", }, ],)for block in message.content: if block.type == "text": print(block.text)
{ "id": "msg_example", "type": "message", "role": "assistant", "model": "claude-opus-5", "content": [ { "type": "text", "text": "Here are three search queries covering different angles of the topic:\n\n1. **\"grid-scale battery storage cost trends 2024 2025\"**\n — Targets economics and recent price data for lithium-ion and other utility-scale systems.\n\n2. **\"long-duration energy storage technologies comparison flow battery vs compressed air vs thermal\"**\n — Surfaces technical comparisons of options for storage beyond the 4–8 hour range, where lithium-ion becomes less cost-effective.\n\n3. **\"green hydrogen seasonal storage feasibility round-trip efficiency\"**\n — Digs into the viability of hydrogen for multi-week or seasonal balancing, including its efficiency penalties.\n\n**A few tips for refining these:**\n- Add `site:.gov` or `site:.edu` to prioritize research and agency reports (e.g., NREL, IEA, DOE).\n- Append a region like `Europe`, `India`, or `California` if you need location-specific policy or deployment data.\n- Try `filetype:pdf` to pull up technical white papers and government studies directly.\n\nWant me to tailor these toward a specific use case — academic research, investment analysis, or policy work?" } ], "stop_reason": "end_turn", "stop_sequence": null, "usage": { "input_tokens": 23, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "cache_creation": { "ephemeral_5m_input_tokens": 0, "ephemeral_1h_input_tokens": 0 }, "output_tokens": 437, "output_tokens_details": { "thinking_tokens": 50 } }}
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"CometAPI Documentation","description":"CometAPI developer documentation for unified API access to GPT, Claude, Gemini, Grok, Llama, DeepSeek, Mistral, Qwen, and more, including API reference, quickstart guides, and integration tutorials.","colors":{"primary":"#00ACE2","light":"#00ACE2","dark":"#0274C3"},"logo":{"light":"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet-light.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=7ae2fde0df7785d111912bce23157ef2","dark":"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet-dark.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=2d25d0a1c0376b7a3b5b2b06c4149fbc"},"favicon":"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=bd1150b78a8058af98088b06cbe67cdc","api":{"playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","prefill":true}},"navbar":{"links":[{"href":"https://www.cometapi.com/models/","label":"Models"}],"primary":{"type":"button","label":"Dashboard","href":"https://www.cometapi.com/console"}},"footer":{},"seo":{"metatags":{"og:site_name":"CometAPI Docs","og:type":"website","twitter:card":"summary_large_image","canonical":"https://apidoc.cometapi.com","author":"CometAPI","copyright":"Copyright 2026 CometAPI","category":"Technology","distribution":"global","coverage":"Worldwide"},"indexing":"navigable"},"integrations":{"posthog":{"apiKey":"phc_y3KwBz46V9TGDjqPtDrpuSahVg3bDky6eyzGsD8vuCYS","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":""},{"language":"zh-Hans","href":"zh-Hans"},{"language":"zh-Hant","href":"zh-Hant"},{"language":"ja","href":"ja"},{"language":"ko","href":"ko"},{"language":"fr","href":"fr"},{"language":"de","href":"de"},{"language":"es","href":"es"},{"language":"it","href":"it"},{"language":"pt","href":"pt"},{"language":"ru","href":"ru"},{"language":"ar","href":"ar"},{"language":"vi","href":"vi"},{"language":"id","href":"id"},{"language":"tr","href":"tr"},{"language":"pl","href":"pl"},{"language":"nl","href":"nl"},{"language":"no","href":"no"},{"language":"uk","href":"uk"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cometapi","hasAudioNarration":false,"actualSubdomain":"cometapi","customDomains":["apidoc.cometapi.com"],"gitSource":{"type":"github","owner":"cometapi-dev","repo":"cometapi-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2ec350f3a19b455e9452e","collectionId":"ac249683-b28e-4ebb-9061-39e00c026722","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2ec350f3a19b455e9452e"},"entitlements":{},"buildId":"6ae2ec350f3a19b455e9452e","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"en","tag":"API","count":109},{"language":"en","tag":"Video Models","count":66},{"language":"en","tag":"Integrations","count":53},{"language":"en","tag":"Docs","count":35},{"language":"en","tag":"Kling","count":33},{"language":"en","tag":"Image Models","count":28},{"language":"en","tag":"AI chat clients","count":14},{"language":"en","tag":"Runway","count":13},{"language":"en","tag":"Midjourney","count":10},{"language":"en","tag":"AI coding agents","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img[src*=\"cloudfront.net/flags/\"]{display:none!important}div.relative:has(>img[src*=\"cloudfront.net/flags/\"]){display:none!important}#localization-select-item-zh-Hans{display:none!important}nav a.link[class~=\"bg-gray-950/[0.03]\"]{background-color:rgb(var(--primary) / 0.12);box-shadow:inset 0 0 0 1px rgb(var(--primary) / 0.38), 0 1px 2px rgb(var(--primary) / 0.08);color:rgb(var(--primary))}nav a.link[class~=\"bg-gray-950/[0.03]\"]:hover,nav a.link[class~=\"bg-gray-950/[0.03]\"]:focus-visible{background-color:rgb(var(--primary) / 0.18);box-shadow:inset 0 0 0 1px rgb(var(--primary) / 0.58), 0 1px 2px rgb(var(--primary) / 0.1);color:rgb(var(--primary))}nav a.link[class~=\"bg-gray-950/[0.03]\"]:focus-visible{outline:2px solid rgb(var(--primary) / 0.45);outline-offset:2px}.dark nav a.link[class~=\"bg-gray-950/[0.03]\"]{background-color:rgb(var(--primary-light) / 0.2);box-shadow:inset 0 0 0 1px rgb(var(--primary-light) / 0.55), 0 1px 2px rgb(var(--primary-light) / 0.16);color:rgb(var(--primary-light))}.dark nav a.link[class~=\"bg-gray-950/[0.03]\"]:hover,.dark nav a.link[class~=\"bg-gray-950/[0.03]\"]:focus-visible{background-color:rgb(var(--primary-light) / 0.28);box-shadow:inset 0 0 0 1px rgb(var(--primary-light) / 0.7), 0 1px 2px rgb(var(--primary-light) / 0.18);color:rgb(var(--primary-light))}.integration-logo-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;margin:16px 0 28px}.integration-logo-card{align-items:center;background:rgba(127, 127, 127, 0.04);border:1px solid rgba(127, 127, 127, 0.22);border-radius:8px;color:inherit;display:flex;gap:14px;min-height:72px;padding:14px 16px;text-decoration:none!important;transition:background 160ms ease, border-color 160ms ease, transform 160ms ease}.integration-logo-card:hover,.integration-logo-card:focus-visible{background:rgba(0, 172, 226, 0.08);border-color:rgba(0, 172, 226, 0.55);transform:translateY(-1px)}.integration-logo-card:focus-visible{outline:2px solid rgba(0, 172, 226, 0.45);outline-offset:2px}.integration-logo-mark{align-items:center;background:#fff;background-position:center;background-repeat:no-repeat;background-size:28px 28px;border:1px solid rgba(127, 127, 127, 0.18);border-radius:8px;display:flex;flex:0 0 38px;height:38px;justify-content:center;overflow:hidden;width:38px}.integration-logo-body{display:flex;flex-direction:column;gap:2px;min-width:0}.integration-logo-title{font-size:0.95rem;font-weight:600;line-height:1.3}.integration-logo-subtitle{color:rgba(90, 90, 90, 0.92);font-size:0.78rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integration-card-arrow{color:rgba(90, 90, 90, 0.7);flex:0 0 16px;font-size:0.9rem;margin-left:auto;text-align:right}.integration-card-arrow::before{content:\"\\2197\"}.integration-logo-ai-sdk{background-image:url(\"/images/integrations/logos/ai-sdk.png\")}.integration-logo-agno{background-image:url(\"/images/integrations/logos/agno.png\")}.integration-logo-claude-code{background-image:url(\"/images/integrations/logos/claude-code.png\")}.integration-logo-claude-desktop{background-image:url(\"/images/integrations/logos/claude-desktop.png\")}.integration-logo-codex{background-image:url(\"/images/integrations/logos/codex.png\")}.integration-logo-dify{background-image:url(\"/images/integrations/logos/dify.png\")}.integration-logo-gemini-cli{background-image:url(\"/images/integrations/logos/gemini-cli.png\")}.integration-logo-hermes-agent{background-image:url(\"/images/integrations/logos/hermes-agent.png\");background-size:34px 34px}.integration-logo-langchain{background-image:url(\"/images/integrations/logos/langchain.png\")}.integration-logo-langflow{background-image:url(\"/images/integrations/logos/langflow.png\")}.integration-logo-langfuse{background-image:url(\"/images/integrations/logos/langfuse.png\")}.integration-logo-litellm{background-image:url(\"/images/integrations/logos/litellm.png\")}.integration-logo-llamaindex{background-image:url(\"/images/integrations/logos/llamaindex.png\")}.integration-logo-lobe-chat{background-image:url(\"/images/integrations/logos/lobe-chat.jpg\")}.integration-logo-make{background-image:url(\"/images/integrations/logos/make.jpg\")}.integration-logo-n8n{background-image:url(\"/images/integrations/logos/n8n.png\")}.integration-logo-open-webui{background-image:url(\"/images/integrations/logos/open-webui.png\")}.integration-logo-workbuddy-ai{background-image:url(\"/images/integrations/logos/workbuddy-ai.svg\")}.integration-logo-openclaw{background-image:url(\"/images/integrations/logos/openclaw.svg\")}.integration-logo-opencode{background-image:url(\"/images/integrations/logos/opencode.png\")}.integration-logo-pi{background-image:url(\"/images/integrations/logos/pi.svg\")}.integration-logo-promptfoo{background-image:url(\"/images/integrations/logos/promptfoo.png\")}.dark .integration-logo-card{background:rgba(255, 255, 255, 0.035);border-color:rgba(255, 255, 255, 0.14)}.dark .integration-logo-card:hover,.dark .integration-logo-card:focus-visible{background:rgba(0, 172, 226, 0.14);border-color:rgba(0, 172, 226, 0.65)}.dark .integration-logo-mark{background-color:rgba(255, 255, 255, 0.96)}.dark .integration-logo-subtitle{color:rgba(255, 255, 255, 0.66)}.dark .integration-card-arrow{color:rgba(255, 255, 255, 0.64)}@media (max-width: 1024px){.integration-logo-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 640px){.integration-logo-grid{grid-template-columns:1fr}.integration-logo-card{min-height:68px}}"}],"page":{"pagePath":"ko/api/text/anthropic-messages","slug":"/ko/api/text/anthropic-messages","pageMetadata":{"title":"메시지 생성","sidebarTitle":"메시지 생성","openapi":"api/openapi/text/post-anthropic-messages.openapi.json POST /v1/messages","description":"텍스트 및 이미지 입력, 적응형 사고, 프롬프트 캐싱, 스트리밍(Streaming), 도구를 지원하는 CometAPI Messages 엔드포인트를 통해 Claude를 호출합니다.","keywords":["CometAPI","Anthropic Messages API","POST /v1/messages","claude api","adaptive thinking","prompt caching","streaming sse","web fetch tool","effort control"],"noindex":true,"href":"/ko/api/text/anthropic-messages"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"텍스트 및 이미지 입력, 적응형 사고, 프롬프트 캐싱, 스트리밍(Streaming), 도구를 지원하는 CometAPI Messages 엔드포인트를 통해 Claude를 호출합니다.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Note,Tab,Tabs,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`POST /v1/messages`}),`로 Anthropic 메시지 형식의 Claude 요청을 전송합니다.\n예제에서는 공식 Anthropic SDK를 CometAPI 기본 URL로 구성하고\n`,_jsx(_components.code,{children:`$COMETAPI_KEY`}),`에서 API 키를 읽습니다.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`필드 정의 및 모델별 옵션은 공식\n`,_jsx(_components.a,{href:`https://platform.claude.com/docs/en/api/messages/create`,children:`Messages API 참조에서 확인하세요`}),`.\nOpenAI 호환 요청은 `,_jsx(_components.a,{href:`/api/text/chat`,children:`채팅 완성 API를 참조하세요`}),`.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`x-api-key`}),` 또는 `,_jsx(_components.code,{children:`Authorization: Bearer`}),`로 인증합니다. Anthropic SDK는\n`,_jsx(_components.code,{children:`x-api-key`}),`를 사용합니다. HTTP 예제에는 `,_jsx(_components.code,{children:`anthropic-version: 2023-06-01`}),`가 포함됩니다.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`빠른-시작`,children:`빠른 시작`}),`\n`,_jsxs(_components.p,{children:[`다음 예제는 세 개의 검색 쿼리를 요청합니다. 실행하기 전에 `,_jsx(_components.code,{children:`$COMETAPI_KEY`}),`을 설정한 뒤\n실행하세요. Python용으로 `,_jsx(_components.code,{children:`anthropic`}),`를, JavaScript용으로 `,_jsx(_components.code,{children:`@anthropic-ai/sdk`}),`를 설치하세요:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Shell`,numberOfLines:`14`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com/v1/messages\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$COMETAPI_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"anthropic-version: 2023-06-01\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"claude-opus-5\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"max_tokens\": 1000,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"messages\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\": \"user\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\": \"Suggest three search queries about renewable energy storage.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`22`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`22`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic.Anthropic(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cometapi.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`message `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.messages.create(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-opus-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Suggest three search queries about renewable energy storage.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(block.text)`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`21`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`21`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Anthropic`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@anthropic-ai/sdk\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` client`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Anthropic`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` apiKey:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`COMETAPI_KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` baseURL:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` message`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`messages`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"claude-opus-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"max_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"messages\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Suggest three search queries about renewable energy storage.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` block`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` of`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`content`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`block`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`block`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`응답에는 `,_jsx(_components.code,{children:`content`}),` 배열이 포함됩니다. `,_jsx(_components.code,{children:`type`}),`이 `,_jsx(_components.code,{children:`text`}),`인 블록을 읽으세요;\n사고 및 도구 블록은 텍스트보다 앞에 나타날 수 있습니다.`]}),`\n`,_jsx(Heading,{level:`2`,id:`적응형-사고-제어`,children:`적응형 사고 제어`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`thinking.type`}),`을 `,_jsx(_components.code,{children:`adaptive`}),`로 설정하고 `,_jsx(_components.code,{children:`output_config.effort`}),` 값을 선택하세요.\n다음 예에서는 `,_jsx(_components.code,{children:`xhigh`}),`를 사용하고 스트림에서 완료된 메시지를 읽습니다:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`29`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`29`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic.Anthropic(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cometapi.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.messages.stream(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-opus-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4096`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` thinking`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"adaptive\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` output_config`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"effort\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"xhigh\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream.get_final_message()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(block.text)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`사고는 `,_jsx(_components.code,{children:`max_tokens`}),` 출력 제한에 포함됩니다. 최종\n답변과 사고를 위한 여유 공간을 남겨 두세요. 응답에는 표시되는\n사고 블록 없이 텍스트가 포함될 수 있습니다. 대화\n기록에서 반환된 사고 블록은 변경하지 않고 유지하세요.`]}),`\n`,_jsxs(_components.p,{children:[`모델별 사고 구성에 대한 자세한 내용은\n`,_jsx(_components.a,{href:`https://platform.claude.com/docs/en/build-with-claude/extended-thinking`,children:`사고에서 확인하세요.`}),`.\n이 예에서는 `,_jsx(_components.code,{children:`temperature`}),`, `,_jsx(_components.code,{children:`top_p`}),`, `,_jsx(_components.code,{children:`top_k`}),`을 생략합니다. 샘플링 제어를 추가하기 전에 선택한\n모델의 매개변수 문서를 참조하세요.`]}),`\n`,_jsx(Heading,{level:`2`,id:`프롬프트-prompt-캐시`,children:`프롬프트(Prompt) 캐시`}),`\n`,_jsxs(_components.p,{children:[`요청 간에 재사용하는 참조 자료에 캐시 브레이크포인트를 배치하세요.\n참조 자료를 UTF-8 `,_jsx(_components.code,{children:`reference.txt`}),` 파일에 저장한 후 이\n예제를 실행하세요. 선택한 모델의\n`,_jsx(_components.a,{href:`https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-limitations`,children:`최소 캐시 가능 길이를 충족하는 접두사를 사용하세요.`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`37`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`37`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pathlib `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Path`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic.Anthropic(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cometapi.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`reference `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Path(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"reference.txt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).read_text(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`encoding`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"utf-8\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.messages.stream(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-sonnet-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1024`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"How long can customers return damaged books, and what must they provide?\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` system`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: reference,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"cache_control\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ephemeral\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream.get_final_message()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(block.text)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(message.usage.model_dump_json())`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`동일한 모델, 참조 텍스트 및 사고 설정으로 요청을 다시 실행하세요.\n요청이 접두사를 재사용했는지 확인하려면 사용량 카운터를 살펴보세요:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`cache_creation_input_tokens`}),` 캐시에 기록된 토큰(Token) 수를 나타냅니다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`cache_read_input_tokens`}),` 캐시에서 읽은 토큰(Token) 수를 나타냅니다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`input_tokens`}),` 해당 캐시 카운터 외부에서 처리된 입력량을 나타냅니다.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`반복 요청에서 `,_jsx(_components.code,{children:`cache_read_input_tokens`}),`은 캐시에서 읽은 입력 토큰(Token) 수를\n보고합니다. OpenAPI `,_jsx(_components.strong,{children:`프롬프트(Prompt) 캐시`}),`\n예제에는 완전한 가상의 참조 자료가 포함되어 있으며, 샘플을 사용해 보려면 이를\n`,_jsx(_components.code,{children:`reference.txt`}),` 로 저장하세요.`]}),`\n`,_jsx(Heading,{level:`2`,id:`응답-스트리밍`,children:`응답 스트리밍`}),`\n`,_jsxs(_components.p,{children:[`Server-Sent Events에 `,_jsx(_components.code,{children:`stream: true`}),`를 설정합니다. SDK는 텍스트 조각을\n도착하는 즉시 노출합니다:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`20`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`20`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic.Anthropic(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cometapi.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.messages.stream(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-opus-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1024`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Write a two-line poem about a comet.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` text `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream.text_stream:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(text, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`end`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`flush`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`메시지 스트림에는 `,_jsx(_components.code,{children:`message_start`}),`, 콘텐츠 블록 이벤트, `,_jsx(_components.code,{children:`message_delta`}),`,\n및 `,_jsx(_components.code,{children:`message_stop`}),`가 포함됩니다. 콘텐츠 블록에는 텍스트, 사고 과정 또는 도구 활동이 포함될 수 있습니다.\n텍스트 블록의 경우 `,_jsx(_components.code,{children:`content_block_delta`}),`에는 `,_jsx(_components.code,{children:`text_delta`}),`가 포함됩니다. 최종 사용량\n과 중지 이유는 `,_jsx(_components.code,{children:`message_delta`}),`에서 확인합니다.`]}),`\n`,_jsx(Heading,{level:`2`,id:`노력-수준-제어`,children:`노력 수준 제어`}),`\n`,_jsxs(_components.p,{children:[`추론량을 조정하려면 `,_jsx(_components.code,{children:`output_config.effort`}),`을 설정합니다. 이 예제에서는\n`,_jsx(_components.code,{children:`low`}),` 를 사용하여 짧은 설명을 생성하고 완료된 스트리밍 메시지를 기다립니다:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`26`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`26`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic.Anthropic(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cometapi.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.messages.stream(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-opus-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Summarize the benefit of automated tests in one sentence.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` output_config`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"effort\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"low\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream.get_final_message()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(block.text)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`공식\n`,_jsx(_components.a,{href:`https://platform.claude.com/docs/en/build-with-claude/effort`,children:`노력 수준 참조`}),`\n를 사용해 노력 수준을 선택합니다. 출력 길이를 제한하려면 `,_jsx(_components.code,{children:`max_tokens`}),`을 별도로 설정합니다.`]}),`\n`,_jsx(Heading,{level:`2`,id:`서버-도구-사용`,children:`서버 도구 사용`}),`\n`,_jsx(_components.p,{children:`서버 도구는 API 요청 중에 실행되며 결과 블록을\nClaude의 답변과 함께 반환합니다.`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`웹 가져오기`,id:`%EC%9B%B9-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0`,children:[_jsxs(_components.p,{children:[`논문을 가져오고 Claude에게 가져온 문서를 답변에 사용하도록 요청합니다.\n이 예에서는 응답을 스트리밍하고 최종 텍스트와\n`,_jsx(_components.code,{children:`web_fetch_tool_result`}),` 블록을 모두 검사합니다:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`34`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`34`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic.Anthropic(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cometapi.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.messages.stream(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-sonnet-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2048`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web_fetch_20250910\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web_fetch\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"max_uses\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream.get_final_message()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(block.text)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"web_fetch_tool_result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(block.model_dump_json())`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`응답은 `,_jsx(_components.code,{children:`server_tool_use`}),` 블록과 `,_jsx(_components.code,{children:`web_fetch_tool_result`}),`를 함께 제공하며\n여기에는 가져온 문서 또는 도구 오류가 포함됩니다.`]})]}),_jsxs(Tab,{title:`웹 검색`,id:`%EC%9B%B9-%EA%B2%80%EC%83%89`,children:[_jsx(_components.p,{children:`공식 출시일을 검색하고 Claude에게 출처를 인용하도록 요청합니다.\n이 예에서는 응답을 스트리밍하고 최종 메시지를 수집한 다음 반환된\n검색 소스를 출력합니다:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`37`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`37`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic.Anthropic(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cometapi.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.messages.stream(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-sonnet-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4096`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Search the web for the official Python 3.14 release date. Answer with the date and cite a source.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web_search_20250305\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web_search\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"max_uses\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream.get_final_message()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(block.text)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"web_search_tool_result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` isinstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(block.content, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`list`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"web_search_result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(result.title, result.url)`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`응답은 `,_jsx(_components.code,{children:`server_tool_use`}),` 블록과 `,_jsx(_components.code,{children:`web_search_tool_result`}),`를 함께 제공하며\n여기에는 소스가 포함됩니다. 이 결과 블록에서 소스 제목과 URL을 읽으세요.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`클라이언트-도구-결과-반환`,children:`클라이언트 도구 결과 반환`}),`\n`,_jsxs(_components.p,{children:[`클라이언트 도구의 경우 Claude는 `,_jsx(_components.code,{children:`tool_use`}),` 블록을 반환합니다. 애플리케이션 함수를 실행하고\n일치하는 `,_jsx(_components.code,{children:`tool_result`}),` 블록으로 결과를 전송합니다. `,_jsx(_components.code,{children:`tool_use_id`}),`가 일치해야 합니다.\n두 요청 간에 완전한 어시스턴트 콘텐츠를 보존하세요.`]}),`\n`,_jsx(_components.p,{children:`이 예에서는 가상의 주문 결과를 제공하고 Claude에게 해당 결과를 사용하도록 요청합니다:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`63`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`63`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` json`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` anthropic.Anthropic(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cometapi.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`tools `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"get_order_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Look up the status of a demonstration order.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"input_schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"object\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"order_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The order reference.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"order_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}]`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`messages `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Check the status of demo-order-42 using the order tool.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}]`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.messages.stream(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-opus-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`messages,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`tools,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream.get_final_message()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`tool_call `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` next`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(b `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` b `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` b.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tool_use\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`messages.append({`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"assistant\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [block.model_dump() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message.content],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`messages.append({`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tool_result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tool_use_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: tool_call.id,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: json.dumps({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ready_for_pickup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pickup_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMET42\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.messages.stream(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-opus-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`messages,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tools`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`tools,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` follow_up `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` stream.get_final_message()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` follow_up.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` block.type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(block.text)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`응답-예시`,children:`응답 예시`}),`\n`,_jsx(_components.p,{children:`스트리밍되지 않는 요청은 메시지 객체를 반환합니다. 다음 예에서는 예시 메시지 식별자와 함께 해당 메시지의\n텍스트 및 사용량 필드를 보여 줍니다:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`27`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`27`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"msg_example\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"assistant\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-opus-5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:' \"text\": \"Here are three search queries covering different angles of the topic:\\\\n\\\\n1. **\\\\\"grid-scale battery storage cost trends 2024 2025\\\\\"**\\\\n — Targets economics and recent price data for lithium-ion and other utility-scale systems.\\\\n\\\\n2. **\\\\\"long-duration energy storage technologies comparison flow battery vs compressed air vs thermal\\\\\"**\\\\n — Surfaces technical comparisons of options for storage beyond the 4–8 hour range, where lithium-ion becomes less cost-effective.\\\\n\\\\n3. **\\\\\"green hydrogen seasonal storage feasibility round-trip efficiency\\\\\"**\\\\n — Digs into the viability of hydrogen for multi-week or seasonal balancing, including its efficiency penalties.\\\\n\\\\n**A few tips for refining these:**\\\\n- Add `site:.gov` or `site:.edu` to prioritize research and agency reports (e.g., NREL, IEA, DOE).\\\\n- Append a region like `Europe`, `India`, or `California` if you need location-specific policy or deployment data.\\\\n- Try `filetype:pdf` to pull up technical white papers and government studies directly.\\\\n\\\\nWant me to tailor these toward a specific use case — academic research, investment analysis, or policy work?\"'})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"stop_reason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"end_turn\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"stop_sequence\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"usage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"input_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`23`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cache_creation_input_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cache_read_input_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cache_creation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ephemeral_5m_input_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ephemeral_1h_input_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"output_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`437`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"output_tokens_details\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"thinking_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`50`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`중지 이유는 다음 작업을 설명합니다. `,_jsx(_components.code,{children:`end_turn`}),`는 응답이 완료되었음을 의미하고,\n`,_jsx(_components.code,{children:`max_tokens`}),` 출력이 제한에 도달했음을 의미하며, `,_jsx(_components.code,{children:`tool_use`}),`는 클라이언트 도구 결과를 요청합니다.\n`,_jsx(_components.code,{children:`pause_turn`}),`를 반환하는 서버 도구 턴의 경우, 변경하지 않은\n반환된 어시스턴트 콘텐츠로 계속 진행합니다.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"메시지 생성","sidebarTitle":"메시지 생성","openapi":"api/openapi/text/post-anthropic-messages.openapi.json POST /v1/messages","description":"텍스트 및 이미지 입력, 적응형 사고, 프롬프트 캐싱, 스트리밍(Streaming), 도구를 지원하는 CometAPI Messages 엔드포인트를 통해 Claude를 호출합니다.","keywords":["CometAPI","Anthropic Messages API","POST /v1/messages","claude api","adaptive thinking","prompt caching","streaming sse","web fetch tool","effort control"],"noindex":true,"href":"/ko/api/text/anthropic-messages"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"빠른 시작","slug":"빠른-시작","depth":2,"children":[]},{"title":"적응형 사고 제어","slug":"적응형-사고-제어","depth":2,"children":[]},{"title":"프롬프트(Prompt) 캐시","slug":"프롬프트-prompt-캐시","depth":2,"children":[]},{"title":"응답 스트리밍","slug":"응답-스트리밍","depth":2,"children":[]},{"title":"노력 수준 제어","slug":"노력-수준-제어","depth":2,"children":[]},{"title":"서버 도구 사용","slug":"서버-도구-사용","depth":2,"children":[]},{"title":"클라이언트 도구 결과 반환","slug":"클라이언트-도구-결과-반환","depth":2,"children":[]},{"title":"응답 예시","slug":"응답-예시","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cometapi/430a303ac1007180/analytics.js"],"openApiReferenceData":{"operation":{"summary":"Anthropic Messages","operationId":"anthropic_messages","description":"텍스트 및 이미지 입력, 적응형 사고, 프롬프트 캐싱, 스트리밍(Streaming), 도구를 지원하는 CometAPI Messages 엔드포인트를 통해 Claude를 호출합니다.","parameters":["c0c1ea46-657f-4fbb-8cbc-ef036d66b820","c209249d-4c9e-4e35-be30-3090e0add122"],"requestBody":"b32a271f-ad00-4463-ab2f-e8041b1874ca","responses":{"200":"1032aebb-739d-48e8-8890-b9f6a600141a"},"x-codeSamples":[{"lang":"Python","label":"Basic","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nmessage = client.messages.create(\n model=\"claude-opus-5\",\n max_tokens=1000,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Suggest three search queries about renewable energy storage.\",\n },\n ],\n)\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n"},{"lang":"Python","label":"Prompt Cache","source":"import os\nfrom pathlib import Path\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nreference = Path(\"reference.txt\").read_text(encoding=\"utf-8\")\n\nwith client.messages.stream(\n model=\"claude-sonnet-5\",\n max_tokens=1024,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"How long can customers return damaged books, and what must they provide?\",\n },\n ],\n system=[\n {\n \"type\": \"text\",\n \"text\": reference,\n \"cache_control\": {\n \"type\": \"ephemeral\",\n },\n },\n ],\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n\nprint(message.usage.model_dump_json())\n"},{"lang":"Python","label":"Adaptive thinking","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-opus-5\",\n max_tokens=4096,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps.\",\n },\n ],\n thinking={\n \"type\": \"adaptive\",\n },\n output_config={\n \"effort\": \"xhigh\",\n },\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n"},{"lang":"Python","label":"Effort control","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-opus-5\",\n max_tokens=1000,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Summarize the benefit of automated tests in one sentence.\",\n },\n ],\n output_config={\n \"effort\": \"low\",\n },\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n"},{"lang":"Python","label":"Streaming","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-opus-5\",\n max_tokens=1024,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Write a two-line poem about a comet.\",\n },\n ],\n) as stream:\n for text in stream.text_stream:\n print(text, end=\"\", flush=True)\n"},{"lang":"Python","label":"Web Fetch","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-sonnet-5\",\n max_tokens=2048,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences.\",\n },\n ],\n tools=[\n {\n \"type\": \"web_fetch_20250910\",\n \"name\": \"web_fetch\",\n \"max_uses\": 3,\n },\n ],\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n\nfor block in message.content:\n if block.type == \"web_fetch_tool_result\":\n print(block.model_dump_json())\n"},{"lang":"Python","label":"Image Input","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-opus-5\",\n max_tokens=1000,\n messages=[\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"image\",\n \"source\": {\n \"type\": \"url\",\n \"url\": \"https://picsum.photos/seed/comet/800/600.jpg\",\n },\n },\n {\n \"type\": \"text\",\n \"text\": \"Describe the visible scene in one sentence.\",\n },\n ],\n },\n ],\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n"},{"lang":"JavaScript","label":"Basic","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst message = await client.messages.create({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Suggest three search queries about renewable energy storage.\"\n }\n ]\n});\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n"},{"lang":"JavaScript","label":"Prompt Cache","source":"import Anthropic from \"@anthropic-ai/sdk\";\nimport fs from \"node:fs\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst reference = fs.readFileSync(\"reference.txt\", \"utf8\");\n\nconst stream = client.messages.stream({\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"How long can customers return damaged books, and what must they provide?\"\n }\n ],\n \"system\": [\n {\n \"type\": \"text\",\n \"text\": reference,\n \"cache_control\": {\n \"type\": \"ephemeral\"\n }\n }\n ]\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n\nconsole.log(message.usage);\n"},{"lang":"JavaScript","label":"Adaptive thinking","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 4096,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps.\"\n }\n ],\n \"thinking\": {\n \"type\": \"adaptive\"\n },\n \"output_config\": {\n \"effort\": \"xhigh\"\n }\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n"},{"lang":"JavaScript","label":"Effort control","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Summarize the benefit of automated tests in one sentence.\"\n }\n ],\n \"output_config\": {\n \"effort\": \"low\"\n }\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n"},{"lang":"JavaScript","label":"Streaming","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Write a two-line poem about a comet.\"\n }\n ]\n});\nstream.on(\"text\", (text) => process.stdout.write(text));\nawait stream.finalMessage();\n"},{"lang":"JavaScript","label":"Web Fetch","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 2048,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences.\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"web_fetch_20250910\",\n \"name\": \"web_fetch\",\n \"max_uses\": 3\n }\n ]\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n\nfor (const block of message.content) {\n if (block.type === \"web_fetch_tool_result\") console.log(block);\n}\n"},{"lang":"JavaScript","label":"Image Input","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"image\",\n \"source\": {\n \"type\": \"url\",\n \"url\": \"https://picsum.photos/seed/comet/800/600.jpg\"\n }\n },\n {\n \"type\": \"text\",\n \"text\": \"Describe the visible scene in one sentence.\"\n }\n ]\n }\n ]\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n"},{"lang":"Shell","label":"Basic","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Suggest three search queries about renewable energy storage.\"\n }\n ]\n}'\n"},{"lang":"Shell","label":"Prompt Cache","source":"request_body=$(jq -n --rawfile reference reference.txt '\n{\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"How long can customers return damaged books, and what must they provide?\"\n }\n ],\n \"system\": [\n {\n \"type\": \"text\",\n \"text\": $reference,\n \"cache_control\": {\n \"type\": \"ephemeral\"\n }\n }\n ],\n \"stream\": true\n}\n')\n\ncurl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n --data-binary \"$request_body\"\n"},{"lang":"Shell","label":"Adaptive thinking","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 4096,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps.\"\n }\n ],\n \"thinking\": {\n \"type\": \"adaptive\"\n },\n \"output_config\": {\n \"effort\": \"xhigh\"\n },\n \"stream\": true\n}'\n"},{"lang":"Shell","label":"Effort control","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Summarize the benefit of automated tests in one sentence.\"\n }\n ],\n \"output_config\": {\n \"effort\": \"low\"\n },\n \"stream\": true\n}'\n"},{"lang":"Shell","label":"Streaming","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Write a two-line poem about a comet.\"\n }\n ],\n \"stream\": true\n}'\n"},{"lang":"Shell","label":"Web Fetch","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 2048,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences.\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"web_fetch_20250910\",\n \"name\": \"web_fetch\",\n \"max_uses\": 3\n }\n ],\n \"stream\": true\n}'\n"},{"lang":"Shell","label":"Image Input","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"image\",\n \"source\": {\n \"type\": \"url\",\n \"url\": \"https://picsum.photos/seed/comet/800/600.jpg\"\n }\n },\n {\n \"type\": \"text\",\n \"text\": \"Describe the visible scene in one sentence.\"\n }\n ]\n }\n ],\n \"stream\": true\n}'\n"},{"lang":"Python","label":"Web Search","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-sonnet-5\",\n max_tokens=4096,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Search the web for the official Python 3.14 release date. Answer with the date and cite a source.\",\n },\n ],\n tools=[\n {\n \"type\": \"web_search_20250305\",\n \"name\": \"web_search\",\n \"max_uses\": 3,\n },\n ],\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n\nfor block in message.content:\n if block.type == \"web_search_tool_result\":\n if isinstance(block.content, list):\n for result in block.content:\n if result.type == \"web_search_result\":\n print(result.title, result.url)\n"},{"lang":"JavaScript","label":"Web Search","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 4096,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Search the web for the official Python 3.14 release date. Answer with the date and cite a source.\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"web_search_20250305\",\n \"name\": \"web_search\",\n \"max_uses\": 3\n }\n ]\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n if (block.type === \"web_search_tool_result\" \u0026\u0026 Array.isArray(block.content)) {\n for (const result of block.content) {\n if (result.type === \"web_search_result\") console.log(result.title, result.url);\n }\n }\n}\n"},{"lang":"Shell","label":"Web Search","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 4096,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Search the web for the official Python 3.14 release date. Answer with the date and cite a source.\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"web_search_20250305\",\n \"name\": \"web_search\",\n \"max_uses\": 3\n }\n ],\n \"stream\": true\n}'\n"}],"method":"post","type":"path","servers":["42ec33ae-30ca-46e9-8152-affa55393c1d"],"security":["ec2a85d8-bb88-476c-8d6e-56cae8457eeb"],"path":"/v1/messages","baseUrlOptions":["https://api.cometapi.com"],"title":"Anthropic Messages","codeSamples":[{"label":"Basic","lang":"Python","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nmessage = client.messages.create(\n model=\"claude-opus-5\",\n max_tokens=1000,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Suggest three search queries about renewable energy storage.\",\n },\n ],\n)\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n"},{"label":"Prompt Cache","lang":"Python","source":"import os\nfrom pathlib import Path\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nreference = Path(\"reference.txt\").read_text(encoding=\"utf-8\")\n\nwith client.messages.stream(\n model=\"claude-sonnet-5\",\n max_tokens=1024,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"How long can customers return damaged books, and what must they provide?\",\n },\n ],\n system=[\n {\n \"type\": \"text\",\n \"text\": reference,\n \"cache_control\": {\n \"type\": \"ephemeral\",\n },\n },\n ],\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n\nprint(message.usage.model_dump_json())\n"},{"label":"Adaptive thinking","lang":"Python","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-opus-5\",\n max_tokens=4096,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps.\",\n },\n ],\n thinking={\n \"type\": \"adaptive\",\n },\n output_config={\n \"effort\": \"xhigh\",\n },\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n"},{"label":"Effort control","lang":"Python","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-opus-5\",\n max_tokens=1000,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Summarize the benefit of automated tests in one sentence.\",\n },\n ],\n output_config={\n \"effort\": \"low\",\n },\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n"},{"label":"Streaming","lang":"Python","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-opus-5\",\n max_tokens=1024,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Write a two-line poem about a comet.\",\n },\n ],\n) as stream:\n for text in stream.text_stream:\n print(text, end=\"\", flush=True)\n"},{"label":"Web Fetch","lang":"Python","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-sonnet-5\",\n max_tokens=2048,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences.\",\n },\n ],\n tools=[\n {\n \"type\": \"web_fetch_20250910\",\n \"name\": \"web_fetch\",\n \"max_uses\": 3,\n },\n ],\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n\nfor block in message.content:\n if block.type == \"web_fetch_tool_result\":\n print(block.model_dump_json())\n"},{"label":"Image Input","lang":"Python","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-opus-5\",\n max_tokens=1000,\n messages=[\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"image\",\n \"source\": {\n \"type\": \"url\",\n \"url\": \"https://picsum.photos/seed/comet/800/600.jpg\",\n },\n },\n {\n \"type\": \"text\",\n \"text\": \"Describe the visible scene in one sentence.\",\n },\n ],\n },\n ],\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n"},{"label":"Basic","lang":"JavaScript","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst message = await client.messages.create({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Suggest three search queries about renewable energy storage.\"\n }\n ]\n});\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n"},{"label":"Prompt Cache","lang":"JavaScript","source":"import Anthropic from \"@anthropic-ai/sdk\";\nimport fs from \"node:fs\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst reference = fs.readFileSync(\"reference.txt\", \"utf8\");\n\nconst stream = client.messages.stream({\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"How long can customers return damaged books, and what must they provide?\"\n }\n ],\n \"system\": [\n {\n \"type\": \"text\",\n \"text\": reference,\n \"cache_control\": {\n \"type\": \"ephemeral\"\n }\n }\n ]\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n\nconsole.log(message.usage);\n"},{"label":"Adaptive thinking","lang":"JavaScript","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 4096,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps.\"\n }\n ],\n \"thinking\": {\n \"type\": \"adaptive\"\n },\n \"output_config\": {\n \"effort\": \"xhigh\"\n }\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n"},{"label":"Effort control","lang":"JavaScript","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Summarize the benefit of automated tests in one sentence.\"\n }\n ],\n \"output_config\": {\n \"effort\": \"low\"\n }\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n"},{"label":"Streaming","lang":"JavaScript","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Write a two-line poem about a comet.\"\n }\n ]\n});\nstream.on(\"text\", (text) => process.stdout.write(text));\nawait stream.finalMessage();\n"},{"label":"Web Fetch","lang":"JavaScript","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 2048,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences.\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"web_fetch_20250910\",\n \"name\": \"web_fetch\",\n \"max_uses\": 3\n }\n ]\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n\nfor (const block of message.content) {\n if (block.type === \"web_fetch_tool_result\") console.log(block);\n}\n"},{"label":"Image Input","lang":"JavaScript","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"image\",\n \"source\": {\n \"type\": \"url\",\n \"url\": \"https://picsum.photos/seed/comet/800/600.jpg\"\n }\n },\n {\n \"type\": \"text\",\n \"text\": \"Describe the visible scene in one sentence.\"\n }\n ]\n }\n ]\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n}\n"},{"label":"Basic","lang":"Shell","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Suggest three search queries about renewable energy storage.\"\n }\n ]\n}'\n"},{"label":"Prompt Cache","lang":"Shell","source":"request_body=$(jq -n --rawfile reference reference.txt '\n{\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"How long can customers return damaged books, and what must they provide?\"\n }\n ],\n \"system\": [\n {\n \"type\": \"text\",\n \"text\": $reference,\n \"cache_control\": {\n \"type\": \"ephemeral\"\n }\n }\n ],\n \"stream\": true\n}\n')\n\ncurl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n --data-binary \"$request_body\"\n"},{"label":"Adaptive thinking","lang":"Shell","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 4096,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps.\"\n }\n ],\n \"thinking\": {\n \"type\": \"adaptive\"\n },\n \"output_config\": {\n \"effort\": \"xhigh\"\n },\n \"stream\": true\n}'\n"},{"label":"Effort control","lang":"Shell","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Summarize the benefit of automated tests in one sentence.\"\n }\n ],\n \"output_config\": {\n \"effort\": \"low\"\n },\n \"stream\": true\n}'\n"},{"label":"Streaming","lang":"Shell","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Write a two-line poem about a comet.\"\n }\n ],\n \"stream\": true\n}'\n"},{"label":"Web Fetch","lang":"Shell","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 2048,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences.\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"web_fetch_20250910\",\n \"name\": \"web_fetch\",\n \"max_uses\": 3\n }\n ],\n \"stream\": true\n}'\n"},{"label":"Image Input","lang":"Shell","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-opus-5\",\n \"max_tokens\": 1000,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"image\",\n \"source\": {\n \"type\": \"url\",\n \"url\": \"https://picsum.photos/seed/comet/800/600.jpg\"\n }\n },\n {\n \"type\": \"text\",\n \"text\": \"Describe the visible scene in one sentence.\"\n }\n ]\n }\n ],\n \"stream\": true\n}'\n"},{"label":"Web Search","lang":"Python","source":"import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n base_url=\"https://api.cometapi.com\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nwith client.messages.stream(\n model=\"claude-sonnet-5\",\n max_tokens=4096,\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Search the web for the official Python 3.14 release date. Answer with the date and cite a source.\",\n },\n ],\n tools=[\n {\n \"type\": \"web_search_20250305\",\n \"name\": \"web_search\",\n \"max_uses\": 3,\n },\n ],\n) as stream:\n message = stream.get_final_message()\n\nfor block in message.content:\n if block.type == \"text\":\n print(block.text)\n\nfor block in message.content:\n if block.type == \"web_search_tool_result\":\n if isinstance(block.content, list):\n for result in block.content:\n if result.type == \"web_search_result\":\n print(result.title, result.url)\n"},{"label":"Web Search","lang":"JavaScript","source":"import Anthropic from \"@anthropic-ai/sdk\";\n\nconst client = new Anthropic({\n apiKey: process.env.COMETAPI_KEY,\n baseURL: \"https://api.cometapi.com\",\n});\n\nconst stream = client.messages.stream({\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 4096,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Search the web for the official Python 3.14 release date. Answer with the date and cite a source.\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"web_search_20250305\",\n \"name\": \"web_search\",\n \"max_uses\": 3\n }\n ]\n});\nconst message = await stream.finalMessage();\n\nfor (const block of message.content) {\n if (block.type === \"text\") console.log(block.text);\n if (block.type === \"web_search_tool_result\" \u0026\u0026 Array.isArray(block.content)) {\n for (const result of block.content) {\n if (result.type === \"web_search_result\") console.log(result.title, result.url);\n }\n }\n}\n"},{"label":"Web Search","lang":"Shell","source":"curl \"https://api.cometapi.com/v1/messages\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-api-key: $COMETAPI_KEY\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n --no-buffer \\\n -d '{\n \"model\": \"claude-sonnet-5\",\n \"max_tokens\": 4096,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Search the web for the official Python 3.14 release date. Answer with the date and cite a source.\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"web_search_20250305\",\n \"name\": \"web_search\",\n \"max_uses\": 3\n }\n ],\n \"stream\": true\n}'\n"}],"requiredOnlyExamples":true,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.model":"claude-opus-5","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"Suggest three search queries about renewable energy storage.","body.max_tokens":1000},{"body.model":"claude-opus-5","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.1.items.0.type":"image","body.messages.items.0.content.oneOf.1.items.0.source.type":"url","body.messages.items.0.content.oneOf.1.items.0.source.url":"https://picsum.photos/seed/comet/800/600.jpg","body.messages.items.0.content.oneOf.1.items.1.type":"text","body.messages.items.0.content.oneOf.1.items.1.text":"Describe the visible scene in one sentence.","body.max_tokens":1000,"body.stream":true},{"body.model":"claude-sonnet-5","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"How long can customers return damaged books, and what must they provide?","body.max_tokens":1024,"body.system.oneOf.1.items.0.type":"text","body.system.oneOf.1.items.0.text":"Comet Books sample reference. The following policies describe a fictional bookstore.\n\nSection 1: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 2: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 3: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 4: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 5: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 6: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 7: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 8: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 9: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 10: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 11: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 12: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 13: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 14: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 15: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 16: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 17: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 18: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 19: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 20: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 21: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 22: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 23: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 24: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 25: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 26: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 27: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 28: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.","body.system.oneOf.1.items.0.cache_control.type":"ephemeral","body.stream":true},{"body.model":"claude-opus-5","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"Write a two-line poem about a comet.","body.max_tokens":1024,"body.stream":true},{"body.model":"claude-sonnet-5","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences.","body.max_tokens":2048,"body.stream":true,"body.tools.items.0.name":"web_fetch","body.tools.items.0.type":"web_fetch_20250910","body.tools.items.0.max_uses":3},{"body.model":"claude-opus-5","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps.","body.max_tokens":4096,"body.stream":true,"body.thinking.type":"adaptive","body.output_config.effort":"xhigh"},{"body.model":"claude-opus-5","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"Summarize the benefit of automated tests in one sentence.","body.max_tokens":1000,"body.stream":true,"body.output_config.effort":"low"},{"body.model":"claude-sonnet-5","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"Search the web for the official Python 3.14 release date. Answer with the date and cite a source.","body.max_tokens":4096,"body.stream":true,"body.tools.items.0.name":"web_search","body.tools.items.0.type":"web_search_20250305","body.tools.items.0.max_uses":3}]},"dependencies":{"parameters":{"c0c1ea46-657f-4fbb-8cbc-ef036d66b820":{"name":"anthropic-version","in":"header","required":false,"description":"The Anthropic API version to use. Defaults to `2023-06-01`.","schema":{"type":"string","default":"2023-06-01","example":"2023-06-01","isRequired":false,"description":"The Anthropic API version to use. Defaults to `2023-06-01`.","uniqueKey":"","typeLabel":"string"}},"c209249d-4c9e-4e35-be30-3090e0add122":{"name":"anthropic-beta","in":"header","required":false,"description":"Comma-separated feature identifiers required by a specific beta API feature. Omit this header for the examples on this page.","schema":{"type":"string","isRequired":false,"description":"Comma-separated feature identifiers required by a specific beta API feature. Omit this header for the examples on this page.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","messages","max_tokens"],"properties":{"model":{"type":"string","description":"The Claude model to use. See the [Models page](/overview/models) for available Claude model IDs.","example":"claude-opus-5","default":"claude-opus-5","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"messages":{"type":"array","description":"Conversation history. Use user and assistant messages with text strings or content-block arrays. Return complete assistant content blocks when continuing a tool call.","items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","description":"The role of the message author.","enum":["user","assistant"],"isRequired":true,"uniqueKey":"messages.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"content":{"oneOf":[{"type":"string","description":"The message content. Either a plain string or an array of content blocks for multimodal input.","isRequired":true,"uniqueKey":"messages.items.[INDEX].content.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"The content block type.","enum":["text","image","document","thinking","redacted_thinking","tool_use","tool_result","server_tool_use","web_fetch_tool_result","web_search_tool_result"],"uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","description":"Text content (for `text` type blocks).","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].text","typeLabel":"string"},"source":{"type":"object","description":"Source data for `image` or `document` blocks.","properties":{"type":{"type":"string","enum":["base64","url"],"description":"Image source type: `url` for a public image URL, or `base64` for inline data.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].source.type","typeLabel":"enum\u003cstring>"},"media_type":{"type":"string","description":"Image MIME type for base64 sources, such as `image/jpeg` or `image/png`.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].source.media_type","typeLabel":"string"},"data":{"type":"string","description":"Base64-encoded image bytes when `type` is `base64`.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].source.data","typeLabel":"string"},"url":{"type":"string","description":"Public HTTPS URL for the image or document.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].source.url","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].source","typeLabel":"object"},"cache_control":{"type":"object","description":"Cache control for prompt caching. Set `{\"type\": \"ephemeral\"}` to cache this content block.","properties":{"type":{"type":"string","enum":["ephemeral"],"description":"Cache control type. Use `ephemeral`.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].cache_control.type","typeLabel":"enum\u003cstring>"},"ttl":{"type":"string","enum":["5m","1h"],"description":"Cache lifetime. Use 5m for five minutes or 1h for one hour. The default is 5m.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].cache_control.ttl","typeLabel":"enum\u003cstring>"}},"uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].cache_control","typeLabel":"object"},"id":{"type":"string","description":"The ID from a returned tool_use block. Preserve this value in assistant history.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"The function name in a tool_use block.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].name","typeLabel":"string"},"input":{"type":"object","description":"Function arguments in a tool_use block.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].input","typeLabel":"object"},"tool_use_id":{"type":"string","description":"The ID of the tool_use block answered by this tool_result.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].tool_use_id","typeLabel":"string"},"content":{"oneOf":[{"type":"string","description":"Tool result content: a string, an array of content blocks, or a server-tool result or error object.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].content.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"object","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].content.oneOf.1.items.[INDEX]","typeLabel":"object"},"description":"Tool result content: a string, an array of content blocks, or a server-tool result or error object.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].content.oneOf.1","typeLabel":"object[]"},{"type":"object","description":"Tool result content: a string, an array of content blocks, or a server-tool result or error object.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].content.oneOf.2","typeLabel":"object"}],"uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].content","typeLabel":"string | object[] | object"},"is_error":{"type":"boolean","description":"Set true when a client tool_result reports a failed tool execution.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].is_error","typeLabel":"boolean"},"thinking":{"type":"string","description":"Thinking content returned in an assistant block. Preserve it unchanged in conversation history.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].thinking","typeLabel":"string"},"signature":{"type":"string","description":"Thinking signature returned by the API. Preserve it unchanged with its thinking block.","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX].signature","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX]","typeLabel":"object"},"description":"The message content. Either a plain string or an array of content blocks for multimodal input.","isRequired":true,"uniqueKey":"messages.items.[INDEX].content.oneOf.1","typeLabel":"object[]"}],"isRequired":true,"uniqueKey":"messages.items.[INDEX].content","typeLabel":"string | object[]"}},"uniqueKey":"messages.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"messages","typeLabel":"object[]"},"max_tokens":{"type":"integer","description":"The maximum number of tokens to generate. The model may stop before reaching this limit. When using `thinking`, the thinking tokens count towards this limit.","minimum":1,"example":1024,"isRequired":true,"uniqueKey":"max_tokens","typeLabel":"integer"},"system":{"oneOf":[{"type":"string","description":"System prompt providing context and instructions to Claude. Can be a plain string or an array of content blocks (useful for prompt caching).","uniqueKey":"system.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Content block type, `text`.","uniqueKey":"system.oneOf.1.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","description":"System prompt text for this block.","uniqueKey":"system.oneOf.1.items.[INDEX].text","typeLabel":"string"},"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"],"description":"Cache control type. Use `ephemeral`.","uniqueKey":"system.oneOf.1.items.[INDEX].cache_control.type","typeLabel":"enum\u003cstring>"},"ttl":{"type":"string","enum":["5m","1h"],"description":"Cache lifetime. Use 5m for five minutes or 1h for one hour. The default is 5m.","uniqueKey":"system.oneOf.1.items.[INDEX].cache_control.ttl","typeLabel":"enum\u003cstring>"}},"description":"Marks this system block as a prompt-cache breakpoint.","uniqueKey":"system.oneOf.1.items.[INDEX].cache_control","typeLabel":"object"}},"uniqueKey":"system.oneOf.1.items.[INDEX]","typeLabel":"object"},"description":"System prompt providing context and instructions to Claude. Can be a plain string or an array of content blocks (useful for prompt caching).","uniqueKey":"system.oneOf.1","typeLabel":"object[]"}],"uniqueKey":"system","typeLabel":"string | object[]"},"temperature":{"type":"number","description":"Sampling temperature. The examples omit sampling overrides.","minimum":0,"maximum":1,"uniqueKey":"temperature","typeLabel":"number"},"top_p":{"type":"number","description":"Nucleus sampling threshold. The examples omit sampling overrides.","minimum":0,"maximum":1,"uniqueKey":"top_p","typeLabel":"number"},"top_k":{"type":"integer","description":"Limits sampling to the k most likely tokens. The examples omit sampling overrides.","minimum":0,"uniqueKey":"top_k","typeLabel":"integer"},"stream":{"type":"boolean","description":"If `true`, stream the response incrementally using Server-Sent Events (SSE). Events include `message_start`, `content_block_start`, `content_block_delta`, `content_block_stop`, `message_delta`, and `message_stop`.","default":false,"uniqueKey":"stream","typeLabel":"boolean"},"stop_sequences":{"type":"array","description":"Custom strings that cause the model to stop generating when encountered. The stop sequence is not included in the response.","items":{"type":"string","uniqueKey":"stop_sequences.items.[INDEX]","typeLabel":"string"},"uniqueKey":"stop_sequences","typeLabel":"string[]"},"thinking":{"type":"object","description":"Thinking configuration. The adaptive example uses type adaptive and sets output_config.effort separately.","properties":{"type":{"type":"string","description":"Thinking mode. Use adaptive for the example on this page. Other values depend on the selected model.","enum":["adaptive","disabled","enabled"],"uniqueKey":"thinking.type","typeLabel":"enum\u003cstring>"},"budget_tokens":{"type":"integer","description":"Token budget for models that support manual thinking with type enabled. Omit this field when using type adaptive.","minimum":1024,"uniqueKey":"thinking.budget_tokens","typeLabel":"integer"},"display":{"type":"string","description":"Controls visible thinking blocks on models that support display selection. `summarized` returns a readable thinking summary; `omitted` returns an empty thinking field with continuity metadata where applicable.","enum":["summarized","omitted"],"uniqueKey":"thinking.display","typeLabel":"enum\u003cstring>"}},"uniqueKey":"thinking","typeLabel":"object"},"tools":{"type":"array","description":"Client tools define a name and input_schema. Server tools use a versioned type and name, such as the web_fetch and web_search examples on this page.","items":{"type":"object","properties":{"name":{"type":"string","description":"Tool name. The model repeats it in `tool_use` blocks when it calls the tool.","uniqueKey":"tools.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"A description of what the tool does.","uniqueKey":"tools.items.[INDEX].description","typeLabel":"string"},"input_schema":{"type":"object","description":"JSON Schema defining the tool's input parameters.","uniqueKey":"tools.items.[INDEX].input_schema","typeLabel":"object"},"type":{"type":"string","description":"Versioned server tool type. The basic examples use web_fetch_20250910 and web_search_20250305.","uniqueKey":"tools.items.[INDEX].type","typeLabel":"string"},"max_uses":{"type":"integer","description":"Maximum uses of this server tool within one request.","uniqueKey":"tools.items.[INDEX].max_uses","typeLabel":"integer"}},"uniqueKey":"tools.items.[INDEX]","typeLabel":"object"},"uniqueKey":"tools","typeLabel":"object[]"},"tool_choice":{"type":"object","description":"Controls how the model uses tools.","properties":{"type":{"type":"string","description":"The tool choice mode: `auto` (model decides), `any` (must use a tool), `tool` (must use a specific tool), or `none` (no tools).","enum":["auto","any","tool","none"],"uniqueKey":"tool_choice.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"The specific tool name to use. Required when `type` is `tool`.","uniqueKey":"tool_choice.name","typeLabel":"string"},"disable_parallel_tool_use":{"type":"boolean","description":"If `true`, prevent the model from calling multiple tools in parallel.","uniqueKey":"tool_choice.disable_parallel_tool_use","typeLabel":"boolean"}},"uniqueKey":"tool_choice","typeLabel":"object"},"metadata":{"type":"object","description":"Request metadata for tracking and analytics.","properties":{"user_id":{"type":"string","description":"An external identifier for the user making the request. Used for abuse detection.","uniqueKey":"metadata.user_id","typeLabel":"string"}},"uniqueKey":"metadata","typeLabel":"object"},"output_config":{"type":"object","description":"Configuration for reasoning effort and structured output.","properties":{"effort":{"type":"string","description":"Reasoning effort. The examples use low for a brief answer and xhigh with adaptive thinking.","enum":["low","medium","high","xhigh","max"],"example":"medium","uniqueKey":"output_config.effort","typeLabel":"enum\u003cstring>"},"format":{"type":"object","description":"Structured output configuration for supported models. See the [structured outputs documentation](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) for schema requirements.","required":["type","schema"],"properties":{"type":{"type":"string","enum":["json_schema"],"description":"Set json_schema to request output matching the supplied schema.","isRequired":true,"uniqueKey":"output_config.format.type","typeLabel":"enum\u003cstring>"},"schema":{"type":"object","description":"JSON Schema that describes the requested output.","isRequired":true,"uniqueKey":"output_config.format.schema","typeLabel":"object"}},"uniqueKey":"output_config.format","typeLabel":"object"}},"uniqueKey":"output_config","typeLabel":"object"},"service_tier":{"type":"string","description":"The service tier to use. `auto` tries priority capacity first, `standard_only` uses only standard capacity.","enum":["auto","standard_only"],"uniqueKey":"service_tier","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Default":{"title":"Default","value":{"model":"claude-opus-5","max_tokens":1000,"messages":[{"role":"user","content":"Suggest three search queries about renewable energy storage."}]}},"Image Input":{"title":"Image Input","value":{"model":"claude-opus-5","max_tokens":1000,"messages":[{"role":"user","content":[{"type":"image","source":{"type":"url","url":"https://picsum.photos/seed/comet/800/600.jpg"}},{"type":"text","text":"Describe the visible scene in one sentence."}]}],"stream":true}},"Prompt Cache":{"title":"Prompt Cache","description":"The code samples read this reference material from a local UTF-8 reference.txt file. Keep the cached prefix unchanged when repeating the request.","value":{"model":"claude-sonnet-5","max_tokens":1024,"messages":[{"role":"user","content":"How long can customers return damaged books, and what must they provide?"}],"system":[{"type":"text","text":"Comet Books sample reference. The following policies describe a fictional bookstore.\n\nSection 1: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 2: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 3: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 4: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 5: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 6: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 7: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 8: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 9: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 10: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 11: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 12: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 13: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 14: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 15: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 16: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 17: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 18: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 19: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 20: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 21: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 22: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 23: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 24: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 25: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 26: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 27: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.\nSection 28: Damaged books may be returned within 30 days. A receipt is required. Unopened stationery may be exchanged within 14 days. Digital downloads are final. Staff record the order reference and explain the return steps clearly.","cache_control":{"type":"ephemeral"}}],"stream":true}},"Streaming":{"title":"Streaming","value":{"model":"claude-opus-5","max_tokens":1024,"messages":[{"role":"user","content":"Write a two-line poem about a comet."}],"stream":true}},"Web Fetch":{"title":"Web Fetch","value":{"model":"claude-sonnet-5","max_tokens":2048,"messages":[{"role":"user","content":"Fetch https://arxiv.org/abs/1512.03385 and state the paper title and the proposed learning framework in two sentences."}],"tools":[{"type":"web_fetch_20250910","name":"web_fetch","max_uses":3}],"stream":true}},"Adaptive Thinking":{"title":"Adaptive Thinking","value":{"model":"claude-opus-5","max_tokens":4096,"messages":[{"role":"user","content":"A shop sells notebooks for $7 each. Buying three earns a $4 discount. A customer pays $20 for three notebooks. Calculate the total and the change, and explain your steps."}],"thinking":{"type":"adaptive"},"output_config":{"effort":"xhigh"},"stream":true}},"Effort control":{"title":"Effort control","value":{"model":"claude-opus-5","max_tokens":1000,"messages":[{"role":"user","content":"Summarize the benefit of automated tests in one sentence."}],"output_config":{"effort":"low"},"stream":true}},"Web Search":{"title":"Web Search","value":{"model":"claude-sonnet-5","max_tokens":4096,"messages":[{"role":"user","content":"Search the web for the official Python 3.14 release date. Answer with the date and cite a source."}],"tools":[{"type":"web_search_20250305","name":"web_search","max_uses":3}],"stream":true}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"1032aebb-739d-48e8-8890-b9f6a600141a":{"description":"Successful response. When `stream` is `true`, the response is a stream of SSE events.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Message identifier returned by the API.","uniqueKey":"id","typeLabel":"string"},"type":{"type":"string","description":"Always `message`.","enum":["message"],"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"role":{"type":"string","description":"Always `assistant`.","enum":["assistant"],"uniqueKey":"role","typeLabel":"enum\u003cstring>"},"content":{"type":"array","description":"The response content blocks. May include `text`, `thinking`, `tool_use`, and other block types.","items":{"type":"object","properties":{"type":{"type":"string","description":"Content block type, such as text, thinking, tool_use, server_tool_use, web_fetch_tool_result, or web_search_tool_result.","uniqueKey":"content.items.[INDEX].type","typeLabel":"string"},"text":{"type":"string","description":"The generated text (for `text` blocks).","uniqueKey":"content.items.[INDEX].text","typeLabel":"string"},"thinking":{"type":"string","description":"Thinking text or summary for `thinking` blocks when the selected model returns visible thinking content.","uniqueKey":"content.items.[INDEX].thinking","typeLabel":"string"},"signature":{"type":"string","description":"Cryptographic signature for the thinking block.","uniqueKey":"content.items.[INDEX].signature","typeLabel":"string"},"id":{"type":"string","description":"Tool use ID (for `tool_use` blocks).","uniqueKey":"content.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","description":"Tool name (for `tool_use` blocks).","uniqueKey":"content.items.[INDEX].name","typeLabel":"string"},"input":{"type":"object","description":"Tool input arguments (for `tool_use` blocks).","uniqueKey":"content.items.[INDEX].input","typeLabel":"object"},"tool_use_id":{"type":"string","description":"The server tool call answered by this result block.","uniqueKey":"content.items.[INDEX].tool_use_id","typeLabel":"string"},"content":{"oneOf":[{"type":"object","description":"Server tool results or an error object. Inspect the block type before reading its fields.","uniqueKey":"content.items.[INDEX].content.oneOf.0","typeLabel":"object"},{"type":"array","items":{"type":"object","uniqueKey":"content.items.[INDEX].content.oneOf.1.items.[INDEX]","typeLabel":"object"},"description":"Server tool results or an error object. Inspect the block type before reading its fields.","uniqueKey":"content.items.[INDEX].content.oneOf.1","typeLabel":"object[]"}],"uniqueKey":"content.items.[INDEX].content","typeLabel":"object | object[]"},"citations":{"type":"array","description":"Source citations attached to a text block when returned.","items":{"type":"object","uniqueKey":"content.items.[INDEX].citations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"content.items.[INDEX].citations","typeLabel":"object[]"}},"uniqueKey":"content.items.[INDEX]","typeLabel":"object"},"uniqueKey":"content","typeLabel":"object[]"},"model":{"type":"string","description":"Model ID reported by the response.","uniqueKey":"model","typeLabel":"string"},"stop_reason":{"type":"string","description":"Why the model stopped generating. `refusal` can be returned as a successful HTTP response when the model declines a request.","enum":["end_turn","max_tokens","stop_sequence","tool_use","pause_turn","refusal"],"uniqueKey":"stop_reason","typeLabel":"enum\u003cstring>"},"stop_sequence":{"oneOf":[{"type":"string","description":"The stop sequence that caused the model to stop, if applicable.","uniqueKey":"stop_sequence.oneOf.0","typeLabel":"string"},{"type":"null","description":"The stop sequence that caused the model to stop, if applicable.","uniqueKey":"stop_sequence.oneOf.1","typeLabel":"null"}],"uniqueKey":"stop_sequence","typeLabel":"string | null"},"usage":{"type":"object","description":"Token usage statistics.","properties":{"input_tokens":{"type":"integer","description":"Uncached input tokens processed for the request. Cache creation and cache reads have separate counters.","uniqueKey":"usage.input_tokens","typeLabel":"integer"},"output_tokens":{"type":"integer","description":"Total output tokens, including thinking when the model uses thinking.","uniqueKey":"usage.output_tokens","typeLabel":"integer"},"cache_creation_input_tokens":{"type":"integer","description":"Number of input tokens used to create the prompt cache.","uniqueKey":"usage.cache_creation_input_tokens","typeLabel":"integer"},"cache_read_input_tokens":{"type":"integer","description":"Number of input tokens read from the prompt cache.","uniqueKey":"usage.cache_read_input_tokens","typeLabel":"integer"},"cache_creation":{"type":"object","description":"Detailed cache creation token breakdown by TTL tier.","properties":{"ephemeral_5m_input_tokens":{"type":"integer","description":"Tokens written to 5-minute ephemeral cache.","uniqueKey":"usage.cache_creation.ephemeral_5m_input_tokens","typeLabel":"integer"},"ephemeral_1h_input_tokens":{"type":"integer","description":"Tokens written to 1-hour ephemeral cache.","uniqueKey":"usage.cache_creation.ephemeral_1h_input_tokens","typeLabel":"integer"}},"uniqueKey":"usage.cache_creation","typeLabel":"object"},"output_tokens_details":{"type":"object","description":"Detailed output token breakdown when returned by the selected model.","properties":{"thinking_tokens":{"type":"integer","description":"Number of output tokens used for model thinking when reported.","uniqueKey":"usage.output_tokens_details.thinking_tokens","typeLabel":"integer"}},"uniqueKey":"usage.output_tokens_details","typeLabel":"object"},"server_tool_use":{"type":"object","description":"Server tool request counts when server tools are used.","properties":{"web_fetch_requests":{"type":"integer","description":"Number of web fetch requests.","uniqueKey":"usage.server_tool_use.web_fetch_requests","typeLabel":"integer"},"web_search_requests":{"type":"integer","description":"Number of web search requests.","uniqueKey":"usage.server_tool_use.web_search_requests","typeLabel":"integer"}},"uniqueKey":"usage.server_tool_use","typeLabel":"object"}},"uniqueKey":"usage","typeLabel":"object"}},"example":{"id":"msg_example","type":"message","role":"assistant","model":"claude-opus-5","content":[{"type":"text","text":"Here are three search queries covering different angles of the topic:\n\n1. **\"grid-scale battery storage cost trends 2024 2025\"**\n — Targets economics and recent price data for lithium-ion and other utility-scale systems.\n\n2. **\"long-duration energy storage technologies comparison flow battery vs compressed air vs thermal\"**\n — Surfaces technical comparisons of options for storage beyond the 4–8 hour range, where lithium-ion becomes less cost-effective.\n\n3. **\"green hydrogen seasonal storage feasibility round-trip efficiency\"**\n — Digs into the viability of hydrogen for multi-week or seasonal balancing, including its efficiency penalties.\n\n**A few tips for refining these:**\n- Add `site:.gov` or `site:.edu` to prioritize research and agency reports (e.g., NREL, IEA, DOE).\n- Append a region like `Europe`, `India`, or `California` if you need location-specific policy or deployment data.\n- Try `filetype:pdf` to pull up technical white papers and government studies directly.\n\nWant me to tailor these toward a specific use case — academic research, investment analysis, or policy work?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":23,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":437,"output_tokens_details":{"thinking_tokens":50}}},"uniqueKey":"","typeLabel":"object"},"example":{"id":"msg_example","type":"message","role":"assistant","model":"claude-opus-5","content":[{"type":"text","text":"Here are three search queries covering different angles of the topic:\n\n1. **\"grid-scale battery storage cost trends 2024 2025\"**\n — Targets economics and recent price data for lithium-ion and other utility-scale systems.\n\n2. **\"long-duration energy storage technologies comparison flow battery vs compressed air vs thermal\"**\n — Surfaces technical comparisons of options for storage beyond the 4–8 hour range, where lithium-ion becomes less cost-effective.\n\n3. **\"green hydrogen seasonal storage feasibility round-trip efficiency\"**\n — Digs into the viability of hydrogen for multi-week or seasonal balancing, including its efficiency penalties.\n\n**A few tips for refining these:**\n- Add `site:.gov` or `site:.edu` to prioritize research and agency reports (e.g., NREL, IEA, DOE).\n- Append a region like `Europe`, `India`, or `California` if you need location-specific policy or deployment data.\n- Try `filetype:pdf` to pull up technical white papers and government studies directly.\n\nWant me to tailor these toward a specific use case — academic research, investment analysis, or policy work?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":23,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":437,"output_tokens_details":{"thinking_tokens":50}}},"examples":{"Example":{"title":"Example","value":{"id":"msg_example","type":"message","role":"assistant","model":"claude-opus-5","content":[{"type":"text","text":"Here are three search queries covering different angles of the topic:\n\n1. **\"grid-scale battery storage cost trends 2024 2025\"**\n — Targets economics and recent price data for lithium-ion and other utility-scale systems.\n\n2. **\"long-duration energy storage technologies comparison flow battery vs compressed air vs thermal\"**\n — Surfaces technical comparisons of options for storage beyond the 4–8 hour range, where lithium-ion becomes less cost-effective.\n\n3. **\"green hydrogen seasonal storage feasibility round-trip efficiency\"**\n — Digs into the viability of hydrogen for multi-week or seasonal balancing, including its efficiency penalties.\n\n**A few tips for refining these:**\n- Add `site:.gov` or `site:.edu` to prioritize research and agency reports (e.g., NREL, IEA, DOE).\n- Append a region like `Europe`, `India`, or `California` if you need location-specific policy or deployment data.\n- Try `filetype:pdf` to pull up technical white papers and government studies directly.\n\nWant me to tailor these toward a specific use case — academic research, investment analysis, or policy work?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":23,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":437,"output_tokens_details":{"thinking_tokens":50}}}}},"exampleType":"examples"},"text/event-stream":{"schema":{"type":"string","description":"Anthropic SSE events. A completed message ends with message_stop; text_delta events contain text fragments.","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"}},"exampleType":"examples"}},"security":{"ec2a85d8-bb88-476c-8d6e-56cae8457eeb":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your CometAPI key passed via the `x-api-key` header. `Authorization: Bearer $COMETAPI_KEY` is also supported.","scopes":[]}}},"servers":{"42ec33ae-30ca-46e9-8152-affa55393c1d":{"url":"https://api.cometapi.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your CometAPI key passed via the `x-api-key` header. `Authorization: Bearer $COMETAPI_KEY` is also supported.","scopes":[]},"schema":{"title":"x-api-key","type":"string","description":"Your CometAPI key passed via the `x-api-key` header. `Authorization: Bearer $COMETAPI_KEY` is also supported.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"x-api-key"}],"title":"apiKeyAuth"}]},"originalFileLocation":"api/openapi/text/post-anthropic-messages.openapi.json"},"subdomain":"cometapi","siteName":"CometAPI Documentation","title":"메시지 생성 - CometAPI Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api/text/anthropic-messages","matchLevel":1},"zh-Hans":{"href":"/zh-Hans/api/text/anthropic-messages","matchLevel":1,"noindex":true},"zh-Hant":{"href":"/zh-Hant/api/text/anthropic-messages","matchLevel":1,"noindex":true},"ja":{"href":"/ja/api/text/anthropic-messages","matchLevel":1,"noindex":true},"ko":{"href":"/ko/api/text/anthropic-messages","matchLevel":0},"fr":{"href":"/fr/api/text/anthropic-messages","matchLevel":1,"noindex":true},"de":{"href":"/de/api/text/anthropic-messages","matchLevel":1,"noindex":true},"es":{"href":"/es/api/text/anthropic-messages","matchLevel":1,"noindex":true},"it":{"href":"/it/api/text/anthropic-messages","matchLevel":1,"noindex":true},"pt":{"href":"/pt/api/text/anthropic-messages","matchLevel":1,"noindex":true},"ru":{"href":"/ru/api/text/anthropic-messages","matchLevel":1,"noindex":true},"ar":{"href":"/ar/api/text/anthropic-messages","matchLevel":1,"noindex":true},"vi":{"href":"/vi/api/text/anthropic-messages","matchLevel":1,"noindex":true},"id":{"href":"/id/api/text/anthropic-messages","matchLevel":1,"noindex":true},"tr":{"href":"/tr/api/text/anthropic-messages","matchLevel":1,"noindex":true},"pl":{"href":"/pl/api/text/anthropic-messages","matchLevel":1,"noindex":true},"nl":{"href":"/nl/api/text/anthropic-messages","matchLevel":1,"noindex":true},"no":{"href":"/no/api/text/anthropic-messages","matchLevel":1,"noindex":true},"uk":{"href":"/uk/api/text/anthropic-messages","matchLevel":1,"noindex":true}}},"lastModified":"2026-09-08T03:43:44.843Z","gitLastModified":"2026-09-08T02:59:59.000Z","originalFileLocation":"ko/api/text/anthropic-messages.mdx","locale":"ko"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"텍스트 및 이미지 입력, 적응형 사고, 프롬프트 캐싱, 스트리밍(Streaming), 도구를 지원하는 CometAPI Messages 엔드포인트를 통해 Claude를 호출합니다.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CometAPI Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"메시지 생성 - CometAPI Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"텍스트 및 이미지 입력, 적응형 사고, 프롬프트 캐싱, 스트리밍(Streaming), 도구를 지원하는 CometAPI Messages 엔드포인트를 통해 Claude를 호출합니다.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CometAPI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://apidoc.cometapi.com/ko/api/text/anthropic-messages\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cometapi.mintlify.app/_mintlify/api/og/v2?division=%ED%85%8D%EC%8A%A4%ED%8A%B8+%EB%AA%A8%EB%8D%B8\u0026amp;title=%EB%A9%94%EC%8B%9C%EC%A7%80+%EC%83%9D%EC%84%B1\u0026amp;description=%ED%85%8D%EC%8A%A4%ED%8A%B8+%EB%B0%8F+%EC%9D%B4%EB%AF%B8%EC%A7%80+%EC%9E%85%EB%A0%A5%2C+%EC%A0%81%EC%9D%91%ED%98%95+%EC%82%AC%EA%B3%A0%2C+%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8+%EC%BA%90%EC%8B%B1%2C+%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%28Streaming%29%2C+%EB%8F%84%EA%B5%AC%EB%A5%BC+%EC%A7%80%EC%9B%90%ED%95%98%EB%8A%94+CometAPI+Messages+%EC%97%94%EB%93%9C%ED%8F%AC%EC%9D%B8%ED%8A%B8%EB%A5%BC+%ED%86%B5%ED%95%B4+Claude%EB%A5%BC+%ED%98%B8%EC%B6%9C%ED%95%A9%EB%8B%88%EB%8B%A4.\u0026amp;theme=8f4122d879437f2cf832428a\u0026amp;signature=1a1dbd61ae5d772ab4428f1a5ea5b7da6df624f6cbca0dd16b11c9829cfba5c3\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"메시지 생성 - CometAPI Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"텍스트 및 이미지 입력, 적응형 사고, 프롬프트 캐싱, 스트리밍(Streaming), 도구를 지원하는 CometAPI Messages 엔드포인트를 통해 Claude를 호출합니다.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cometapi.mintlify.app/_mintlify/api/og/v2?division=%ED%85%8D%EC%8A%A4%ED%8A%B8+%EB%AA%A8%EB%8D%B8\u0026amp;title=%EB%A9%94%EC%8B%9C%EC%A7%80+%EC%83%9D%EC%84%B1\u0026amp;description=%ED%85%8D%EC%8A%A4%ED%8A%B8+%EB%B0%8F+%EC%9D%B4%EB%AF%B8%EC%A7%80+%EC%9E%85%EB%A0%A5%2C+%EC%A0%81%EC%9D%91%ED%98%95+%EC%82%AC%EA%B3%A0%2C+%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8+%EC%BA%90%EC%8B%B1%2C+%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%28Streaming%29%2C+%EB%8F%84%EA%B5%AC%EB%A5%BC+%EC%A7%80%EC%9B%90%ED%95%98%EB%8A%94+CometAPI+Messages+%EC%97%94%EB%93%9C%ED%8F%AC%EC%9D%B8%ED%8A%B8%EB%A5%BC+%ED%86%B5%ED%95%B4+Claude%EB%A5%BC+%ED%98%B8%EC%B6%9C%ED%95%A9%EB%8B%88%EB%8B%A4.\u0026amp;theme=8f4122d879437f2cf832428a\u0026amp;signature=1a1dbd61ae5d772ab4428f1a5ea5b7da6df624f6cbca0dd16b11c9829cfba5c3\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CometAPI Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00ACE2\">\u003cmeta data-mint-head name=\"author\" content=\"CometAPI\">\u003cmeta data-mint-head name=\"copyright\" content=\"Copyright 2026 CometAPI\">\u003cmeta data-mint-head name=\"category\" content=\"Technology\">\u003cmeta data-mint-head name=\"distribution\" content=\"global\">\u003cmeta data-mint-head name=\"coverage\" content=\"Worldwide\">\u003clink data-mint-head rel=\"canonical\" href=\"https://apidoc.cometapi.com/ko/api/text/anthropic-messages\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ko/api/text/anthropic-messages.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CometAPI Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CometAPI Documentation","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/api/text/anthropic-messages"}]},{"language":"zh-Hans","pages":[{"title":"zh-Hans","href":"/zh-Hans/api/text/anthropic-messages"}]},{"language":"zh-Hant","pages":[{"title":"zh-Hant","href":"/zh-Hant/api/text/anthropic-messages"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/api/text/anthropic-messages"}]},{"language":"ko","tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":"/ko"}]},{"tab":"API","groups":[{"group":"텍스트 모델","icon":"message","root":{"title":"텍스트 및 채팅 API","sidebarTitle":"텍스트 및 채팅 API","href":"/ko/api/text"},"expanded":false,"pages":[{"title":"채팅 완성 만들기","sidebarTitle":"채팅 완성 만들기","openapi":"api/openapi/text/post-chat.openapi.json POST /v1/chat/completions","href":"/ko/api/text/chat"},{"title":"모델 응답 생성","sidebarTitle":"모델 응답 생성","openapi":"api/openapi/text/post-responses.openapi.json POST /v1/responses","description":"CometAPI POST /v1/responses를 사용하여 기본 제공 도구와 함수 호출을 포함한 멀티모달 모델 응답 및 대화 기록을 생성합니다.","href":"/ko/api/text/responses"},{"title":"메시지 생성","sidebarTitle":"메시지 생성","openapi":"api/openapi/text/post-anthropic-messages.openapi.json POST /v1/messages","href":"/ko/api/text/anthropic-messages"},{"title":"콘텐츠 생성","sidebarTitle":"콘텐츠 생성","openapi":"api/openapi/text/post-gemini-generating-content.openapi.json POST /v1beta/models/{model}:{operator}","description":"CometAPI를 통해 Gemini 네이티브 API 형식으로 텍스트 생성, 동영상 입력, 사고 요약, Google Search 그라운딩, JSON 출력 및 스트리밍(Streaming)을 사용합니다.","href":"/ko/api/text/gemini-generating-content"}]},{"group":"이미지 모델","icon":"image","root":{"title":"이미지 생성 및 편집 API","sidebarTitle":"이미지 모델","href":"/ko/api/image/index"},"expanded":false,"pages":[{"group":"OpenAI","pages":[{"title":"이미지 생성","sidebarTitle":"이미지 생성","openapi":"api/openapi/image/openai/post-images.openapi.json POST /v1/images/generations","href":"/ko/api/image/openai/images"},{"title":"이미지 생성 작업 조회","sidebarTitle":"이미지 작업 조회","openapi":"api/openapi/image/openai/get-image-generation-task.openapi.json GET /v1/images/generations/{task_id}","href":"/ko/api/image/openai/image-generation-task"},{"title":"이미지 편집 생성","sidebarTitle":"이미지 편집 생성","openapi":"api/openapi/image/openai/post-image-editing.openapi.json POST /v1/images/edits","href":"/ko/api/image/openai/image-editing"}]},{"group":"Gemini","pages":[{"title":"Gemini로 이미지 생성","sidebarTitle":"Gemini로 이미지 생성","openapi":"api/openapi/image/gemini/post-gemini-generates-image.openapi.json POST /v1beta/models/{model}:generateContent","href":"/ko/api/image/gemini/gemini-generates-image"},{"title":"Gemini 이미지 모델 사용","sidebarTitle":"Gemini 이미지 모델 사용","href":"/ko/api/image/gemini/generate-image-guide"}]},{"group":"Grok","pages":[{"title":"Grok으로 이미지 생성","sidebarTitle":"이미지 생성","openapi":"api/openapi/image/grok/post-image-generation.openapi.json POST /v1/images/generations","href":"/ko/api/image/grok/image-generation"},{"title":"Grok으로 이미지 편집","sidebarTitle":"이미지 편집","openapi":"api/openapi/image/grok/post-image-editing.openapi.json POST /v1/images/edits","href":"/ko/api/image/grok/image-editing"}]},{"group":"Kling","pages":[{"title":"Kling으로 이미지 생성하기","sidebarTitle":"Kling으로 이미지 생성하기","openapi":"api/openapi/image/kling/post-image-generation.openapi.json POST /kling/v1/images/generations","href":"/ko/api/image/kling/image-generation"},{"title":"여러 이미지로 Kling 이미지 생성하기","sidebarTitle":"여러 이미지로 Kling 이미지 생성하기","openapi":"api/openapi/image/kling/post-multi-image-to-image.openapi.json POST /kling/v1/images/multi-image2image","href":"/ko/api/image/kling/multi-image-to-image"},{"title":"Kling으로 이미지 확장하기","sidebarTitle":"Kling으로 이미지 확장하기","openapi":"api/openapi/image/kling/post-image-expansion.openapi.json POST /kling/v1/images/editing/expand","href":"/ko/api/image/kling/image-expansion"},{"title":"Kling Omni 이미지 작업 생성","sidebarTitle":"Kling Omni 이미지 작업 생성","openapi":"api/openapi/image/kling/post-omni-image.openapi.json POST /kling/v1/images/omni-image","href":"/ko/api/image/kling/omni-image"},{"title":"Kling Omni 이미지 작업 가져오기","sidebarTitle":"Kling Omni 이미지 작업 가져오기","openapi":"api/openapi/image/kling/get-omni-image.openapi.json GET /kling/v1/images/omni-image/{task_id}","href":"/ko/api/image/kling/omni-image-query"}]},{"group":"Midjourney","pages":[{"title":"Midjourney API 시작하기","sidebarTitle":"Midjourney API 시작하기","href":"/ko/api/image/midjourney/midjourney-api-quick-start"},{"group":"작업 가져오기","pages":[{"title":"Midjourney 작업 목록 조회","sidebarTitle":"Midjourney 작업 목록 조회","openapi":"api/openapi/image/midjourney/task-fetching-api/post-list-by-condition.openapi.json POST /mj/task/list-by-condition","href":"/ko/api/image/midjourney/task-fetching-api/list-by-condition"},{"title":"Midjourney 작업 가져오기","sidebarTitle":"Midjourney 작업 가져오기","openapi":"api/openapi/image/midjourney/task-fetching-api/get-fetch-single-task.openapi.json GET /mj/task/{id}/fetch","href":"/ko/api/image/midjourney/task-fetching-api/fetch-single-task"}]},{"title":"Midjourney imagine 작업 생성","sidebarTitle":"Midjourney imagine 작업 생성","openapi":"api/openapi/image/midjourney/post-imagine.openapi.json POST /mj/submit/imagine","href":"/ko/api/image/midjourney/imagine"},{"title":"Midjourney 비디오 작업 생성","sidebarTitle":"Midjourney 비디오 작업 생성","openapi":"api/openapi/image/midjourney/post-submit-video.openapi.json POST /mj/submit/video","href":"/ko/api/image/midjourney/submit-video"},{"title":"Midjourney editor 작업 생성","sidebarTitle":"Midjourney editor 작업 생성","openapi":"api/openapi/image/midjourney/post-submit-editor.openapi.json POST /mj/submit/edits","href":"/ko/api/image/midjourney/submit-editor"},{"title":"Midjourney 액션 작업 생성","sidebarTitle":"Midjourney 액션 작업 생성","openapi":"api/openapi/image/midjourney/post-action.openapi.json POST /mj/submit/action","href":"/ko/api/image/midjourney/action"},{"title":"Midjourney blend 작업 생성","sidebarTitle":"Midjourney blend 작업 생성","openapi":"api/openapi/image/midjourney/post-blend.openapi.json POST /mj/submit/blend","href":"/ko/api/image/midjourney/blend"},{"title":"Midjourney로 이미지 설명하기","sidebarTitle":"Midjourney로 이미지 설명하기","openapi":"api/openapi/image/midjourney/post-describe.openapi.json POST /mj/submit/describe","href":"/ko/api/image/midjourney/describe"},{"title":"Midjourney modal 작업 생성","sidebarTitle":"Midjourney modal 작업 생성","openapi":"api/openapi/image/midjourney/post-modal.openapi.json POST /mj/submit/modal","href":"/ko/api/image/midjourney/modal"}]},{"group":"Replicate","pages":[{"title":"Replicate prediction 생성","sidebarTitle":"Replicate prediction 생성","openapi":"api/openapi/image/replicate/post-create-predictions-general.openapi.json POST /replicate/v1/models/{models}/predictions","href":"/ko/api/image/replicate/create-predictions-general"},{"title":"Replicate prediction 조회","sidebarTitle":"Replicate prediction 조회","openapi":"api/openapi/image/replicate/get-replicate-query.openapi.json GET /replicate/v1/predictions/{id}","href":"/ko/api/image/replicate/replicate-query"}]},{"group":"Seedream","pages":[{"title":"Seedream 이미지 작업 생성","sidebarTitle":"이미지 작업 생성","openapi":"api/openapi/image/seededit-seedream/post-bytedance-image-generation.openapi.json POST /v1/images/generations","href":"/ko/api/image/seededit-seedream/bytedance-image-generation"},{"title":"Seedream 이미지 작업 조회","sidebarTitle":"이미지 작업 조회","openapi":"api/openapi/image/seededit-seedream/get-bytedance-image-generation-task.openapi.json GET /v1/images/generations/{task_id}","href":"/ko/api/image/seededit-seedream/bytedance-image-generation-task"}]},{"group":"Flux","pages":[{"title":"FLUX 이미지 생성","sidebarTitle":"FLUX 이미지 생성","openapi":"api/openapi/image/flux/post-flux-generate-image.openapi.json POST /flux/v1/{model}","href":"/ko/api/image/flux/flux-generate-image"},{"title":"FLUX 이미지 결과 가져오기","sidebarTitle":"FLUX 이미지 결과 가져오기","openapi":"api/openapi/image/flux/get-flux-query.openapi.json GET /flux/v1/get_result","href":"/ko/api/image/flux/flux-query"}]}]},{"group":"비디오 모델","icon":"video","root":{"title":"동영상 생성 API","sidebarTitle":"동영상 모델","href":"/ko/api/video/index"},"expanded":false,"pages":[{"group":"Seedance","pages":[{"title":"Seedance 동영상 생성","sidebarTitle":"Seedance 동영상 생성","openapi":"api/openapi/video/seedance/post-seedance-create.openapi.json POST /v1/videos","href":"/ko/api/video/seedance/create"},{"title":"Seedance 비디오 조회","sidebarTitle":"Seedance 비디오 조회","openapi":"api/openapi/video/seedance/get-seedance-query.openapi.json GET /v1/videos/{id}","href":"/ko/api/video/seedance/query"}]},{"group":"HappyHorse","pages":[{"title":"HappyHorse 비디오 만들기","sidebarTitle":"HappyHorse 비디오 만들기","openapi":"api/openapi/video/happyhorse/post-create.openapi.json POST /v1/videos","href":"/ko/api/video/happyhorse/create"},{"title":"HappyHorse 비디오 조회","sidebarTitle":"HappyHorse 비디오 조회","openapi":"api/openapi/video/happyhorse/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/ko/api/video/happyhorse/retrieve"},{"title":"HappyHorse 비디오 콘텐츠 다운로드","sidebarTitle":"HappyHorse 비디오 콘텐츠 다운로드","openapi":"api/openapi/video/happyhorse/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/ko/api/video/happyhorse/retrieve-content"}]},{"group":"MiniMax H3","pages":[{"title":"MiniMax H3 동영상 만들기","sidebarTitle":"MiniMax H3 동영상 만들기","openapi":"api/openapi/video/minimax-h3/post-create.openapi.json POST /v1/videos","href":"/ko/api/video/minimax-h3/create"},{"title":"MiniMax H3 동영상 조회","sidebarTitle":"MiniMax H3 동영상 조회","openapi":"api/openapi/video/minimax-h3/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/ko/api/video/minimax-h3/retrieve"},{"title":"MiniMax H3 비디오 콘텐츠 다운로드","sidebarTitle":"MiniMax H3 비디오 콘텐츠 다운로드","openapi":"api/openapi/video/minimax-h3/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/ko/api/video/minimax-h3/retrieve-content"}]},{"group":"Flux 3","pages":[{"title":"Flux 3 비디오 생성","sidebarTitle":"Flux 3 비디오 생성","openapi":"api/openapi/video/flux-3/post-create.openapi.json POST /v1/videos","href":"/ko/api/video/flux-3/create"},{"title":"Flux 3 비디오 작업 조회","sidebarTitle":"Flux 3 비디오 작업 조회","openapi":"api/openapi/video/flux-3/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/ko/api/video/flux-3/retrieve"},{"title":"Flux 3 비디오 콘텐츠 다운로드","sidebarTitle":"Flux 3 비디오 콘텐츠 다운로드","openapi":"api/openapi/video/flux-3/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/ko/api/video/flux-3/retrieve-content"}]},{"group":"Veo 3","pages":[{"title":"Veo 3 동영상 만들기","sidebarTitle":"Veo 3 동영상 만들기","openapi":"api/openapi/video/veo3/post-create.openapi.json POST /v1/videos","href":"/ko/api/video/veo3/create"},{"title":"Veo 3 비디오 조회","sidebarTitle":"Veo 3 비디오 조회","openapi":"api/openapi/video/veo3/get-retrieve.openapi.json GET /v1/videos/{video_id}","href":"/ko/api/video/veo3/retrieve"}]},{"group":"Wan","pages":[{"title":"Wan 동영상 생성","sidebarTitle":"Wan 동영상 생성","openapi":"api/openapi/video/wan/post-create.openapi.json POST /v1/videos","href":"/ko/api/video/wan/create"},{"title":"Wan 비디오 조회","sidebarTitle":"Wan 비디오 조회","openapi":"api/openapi/video/wan/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/ko/api/video/wan/retrieve"},{"title":"Wan 비디오 콘텐츠 다운로드","sidebarTitle":"Wan 비디오 콘텐츠 다운로드","openapi":"api/openapi/video/wan/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/ko/api/video/wan/retrieve-content"}]},{"group":"xAI","pages":[{"title":"Grok으로 동영상 만들기","sidebarTitle":"Grok 동영상 만들기","openapi":"api/openapi/video/xai/post-video-generation.openapi.json POST /grok/v1/videos/generations","href":"/ko/api/video/xai/video-generation"},{"title":"xAI 비디오 편집 생성","sidebarTitle":"xAI 비디오 편집 생성","openapi":"api/openapi/video/xai/post-video-edit.openapi.json POST /grok/v1/videos/edits","href":"/ko/api/video/xai/video-edit"},{"title":"xAI 비디오 결과 가져오기","sidebarTitle":"xAI 비디오 결과 가져오기","openapi":"api/openapi/video/xai/get-get-video-generation-results.openapi.json GET /grok/v1/videos/{request_id}","href":"/ko/api/video/xai/get-video-generation-results"}]},{"group":"Vidu","pages":[{"title":"Vidu 동영상 생성","sidebarTitle":"Vidu 동영상 생성","openapi":"api/openapi/video/vidu/post-create.openapi.json POST /v1/videos","href":"/ko/api/video/vidu/create"},{"title":"Vidu 비디오 조회","sidebarTitle":"Vidu 비디오 조회","openapi":"api/openapi/video/vidu/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/ko/api/video/vidu/retrieve"},{"title":"Vidu 비디오 콘텐츠 다운로드","sidebarTitle":"Vidu 비디오 콘텐츠 다운로드","openapi":"api/openapi/video/vidu/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/ko/api/video/vidu/retrieve-content"}]},{"group":"Omni","tag":"Beta","pages":[{"title":"텍스트, 이미지 또는 동영상으로 Omni 동영상 만들기","sidebarTitle":"Omni 동영상 만들기","openapi":"api/openapi/video/omni/post-create.openapi.json POST /v1/videos","href":"/ko/api/video/omni/create"},{"title":"Omni 비디오 조회","sidebarTitle":"Omni 비디오 조회","openapi":"api/openapi/video/omni/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/ko/api/video/omni/retrieve"},{"title":"Omni 비디오 콘텐츠 다운로드","sidebarTitle":"Omni 비디오 콘텐츠 다운로드","openapi":"api/openapi/video/omni/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/ko/api/video/omni/retrieve-content"}]},{"group":"Kling","pages":[{"group":"멀티모달 비디오 편집","pages":[{"title":"Kling 편집 세션 초기화","sidebarTitle":"Kling 편집 세션 초기화","openapi":"api/openapi/video/kling/multimodal-video-editing/post-initialize-video-for-editing.openapi.json POST /kling/v1/videos/multi-elements/init-selection","href":"/ko/api/video/kling/multimodal-video-editing/initialize-video-for-editing"},{"title":"Kling 비디오 선택 추가","sidebarTitle":"Kling 비디오 선택 추가","openapi":"api/openapi/video/kling/multimodal-video-editing/post-add-video-selection.openapi.json POST /kling/v1/videos/multi-elements/add-selection","href":"/ko/api/video/kling/multimodal-video-editing/add-video-selection"},{"title":"Kling 비디오 선택 삭제","sidebarTitle":"Kling 비디오 선택 삭제","openapi":"api/openapi/video/kling/multimodal-video-editing/post-delete-video-selection.openapi.json POST /kling/v1/videos/multi-elements/delete-selection","href":"/ko/api/video/kling/multimodal-video-editing/delete-video-selection"},{"title":"Clear Kling 비디오 선택","sidebarTitle":"Clear Kling 비디오 선택","openapi":"api/openapi/video/kling/multimodal-video-editing/post-clear-video-selection.openapi.json POST /kling/v1/videos/multi-elements/clear-selection","href":"/ko/api/video/kling/multimodal-video-editing/clear-video-selection"},{"title":"Kling 비디오 선택 미리보기","sidebarTitle":"Kling 비디오 선택 미리보기","openapi":"api/openapi/video/kling/multimodal-video-editing/post-preview-selected-video-area.openapi.json POST /kling/v1/videos/multi-elements/preview-selection","href":"/ko/api/video/kling/multimodal-video-editing/preview-selected-video-area"},{"title":"Kling 멀티모달 편집 작업 생성","sidebarTitle":"Kling 멀티모달 편집 작업 생성","openapi":"api/openapi/video/kling/multimodal-video-editing/post-create-task.openapi.json POST /kling/v1/videos/multi-elements","href":"/ko/api/video/kling/multimodal-video-editing/create-task"}]},{"group":"모델별 경로","pages":[{"title":"모델별 Kling 텍스트-비디오 작업 생성","sidebarTitle":"텍스트-비디오","openapi":"api/openapi/video/kling/model-routes/post-text-to-video.openapi.json POST /text-to-video/{model}","href":"/ko/api/video/kling/model-routes/text-to-video"},{"title":"모델별 Kling 이미지-투-비디오 작업 생성","sidebarTitle":"이미지-비디오","openapi":"api/openapi/video/kling/model-routes/post-image-to-video.openapi.json POST /image-to-video/{model}","href":"/ko/api/video/kling/model-routes/image-to-video"},{"title":"Kling Omni 동영상 만들기","sidebarTitle":"Omni 동영상","openapi":"api/openapi/video/kling/model-routes/post-omni-video.openapi.json POST /omni-video/{model}","href":"/ko/api/video/kling/model-routes/omni-video"},{"title":"Kling 모션 제어 비디오 만들기","sidebarTitle":"모션 제어","openapi":"api/openapi/video/kling/model-routes/post-motion-control.openapi.json POST /motion-control/{model}","href":"/ko/api/video/kling/model-routes/motion-control"},{"title":"Kling 모델 라우트 작업 가져오기","sidebarTitle":"Kling 작업 가져오기","openapi":"api/openapi/video/kling/model-routes/get-tasks.openapi.json GET /tasks","href":"/ko/api/video/kling/model-routes/tasks"}]},{"title":"Kling 텍스트-투-비디오 작업 생성","sidebarTitle":"Kling 텍스트-투-비디오 작업 생성","openapi":"api/openapi/video/kling/post-text-to-video.openapi.json POST /kling/v1/videos/text2video","href":"/ko/api/video/kling/text-to-video"},{"title":"Kling 이미지-투-비디오 작업 생성","sidebarTitle":"Kling 이미지-투-비디오 작업 생성","openapi":"api/openapi/video/kling/post-image-to-video.openapi.json POST /kling/v1/videos/image2video","href":"/ko/api/video/kling/image-to-video"},{"title":"Kling Motion Control 작업 생성","sidebarTitle":"Kling Motion Control 작업 생성","openapi":"api/openapi/video/kling/post-motion-control.openapi.json POST /kling/v1/videos/motion-control","href":"/ko/api/video/kling/motion-control"},{"title":"Kling 멀티 이미지 비디오 작업 생성","sidebarTitle":"Kling 멀티 이미지 비디오 작업 생성","openapi":"api/openapi/video/kling/post-multi-image-to-video.openapi.json POST /kling/v1/videos/multi-image2video","href":"/ko/api/video/kling/multi-image-to-video"},{"title":"Kling 비디오 확장","sidebarTitle":"Kling 비디오 확장","openapi":"api/openapi/video/kling/post-video-extension.openapi.json POST /kling/v1/videos/video-extend","href":"/ko/api/video/kling/video-extension"},{"title":"Kling 음성 생성","sidebarTitle":"Kling 음성 생성","openapi":"api/openapi/video/kling/post-tts.openapi.json POST /kling/v1/audio/tts","href":"/ko/api/video/kling/tts"},{"title":"Kling 아바타 비디오 만들기","sidebarTitle":"Kling 아바타 비디오 만들기","openapi":"api/openapi/video/kling/post-avatar.openapi.json POST /kling/v1/videos/avatar/image2video","href":"/ko/api/video/kling/avatar"},{"title":"Kling 립싱크용 얼굴 식별","sidebarTitle":"Kling 립싱크용 얼굴 식별","openapi":"api/openapi/video/kling/post-lip-sync.openapi.json POST /kling/v1/videos/identify-face","href":"/ko/api/video/kling/lip-sync"},{"title":"Kling 고급 립싱크 작업 생성","sidebarTitle":"Kling 고급 립싱크 작업 생성","openapi":"api/openapi/video/kling/post-counterpart-creating-tasks.openapi.json POST /kling/v1/videos/advanced-lip-sync","href":"/ko/api/video/kling/counterpart-creating-tasks"},{"title":"Kling 비디오 효과 적용","sidebarTitle":"Kling 비디오 효과 적용","openapi":"api/openapi/video/kling/post-video-effects.openapi.json POST /kling/v1/videos/effects","href":"/ko/api/video/kling/video-effects"},{"title":"Kling 텍스트-오디오 생성","sidebarTitle":"Kling 텍스트-오디오 생성","openapi":"api/openapi/video/kling/post-text-to-audio.openapi.json POST /kling/v1/audio/text-to-audio","href":"/ko/api/video/kling/text-to-audio"},{"title":"Kling 비디오-오디오 생성","sidebarTitle":"Kling 비디오-오디오 생성","openapi":"api/openapi/video/kling/post-video-to-audio.openapi.json POST /kling/v1/audio/video-to-audio","href":"/ko/api/video/kling/video-to-audio"},{"title":"Kling으로 이미지 인식하기","sidebarTitle":"Kling으로 이미지 인식하기","openapi":"api/openapi/video/kling/post-image-recognize.openapi.json POST /kling/v1/videos/image-recognize","href":"/ko/api/video/kling/image-recognize"},{"title":"Kling 작업 조회","sidebarTitle":"Kling 작업 조회","openapi":"api/openapi/video/kling/get-individual-queries.openapi.json GET /kling/v1/{action}/{action2}/{task_id}","href":"/ko/api/video/kling/individual-queries"},{"title":"Kling Omni 비디오 만들기","sidebarTitle":"Kling Omni 비디오 만들기","openapi":"api/openapi/video/kling/post-omni-video.openapi.json POST /kling/v1/videos/omni-video","href":"/ko/api/video/kling/omni-video"},{"title":"Kling Omni 비디오 가져오기","sidebarTitle":"Kling Omni 비디오 가져오기","openapi":"api/openapi/video/kling/get-omni-query.openapi.json GET /kling/v1/videos/omni-video/{task_id}","href":"/ko/api/video/kling/omni-query"},{"title":"Kling 콜백 URL 사용하기","sidebarTitle":"Kling 콜백 URL 사용하기","href":"/ko/api/video/kling/callback_url"}]},{"group":"Runway","pages":[{"title":"Runway API 개요","sidebarTitle":"개요","href":"/ko/api/video/runway/overview"},{"group":"이미지","pages":[{"title":"Runway 이미지 생성","sidebarTitle":"Runway 이미지 생성","openapi":"api/openapi/video/runway/official-format/post-generate-an-image-from-text.openapi.json POST /runwayml/v1/text_to_image","href":"/ko/api/video/runway/official-format/generate-an-image-from-text"}]},{"group":"비디오","pages":[{"title":"Runway 이미지-비디오 작업 생성","sidebarTitle":"Runway 이미지-비디오 작업 생성","openapi":"api/openapi/video/runway/official-format/post-runway-images-raw-video.openapi.json POST /runwayml/v1/image_to_video","href":"/ko/api/video/runway/official-format/runway-images-raw-video"},{"title":"Runway 텍스트-동영상 작업 생성","sidebarTitle":"Runway 텍스트-동영상 작업 생성","openapi":"api/openapi/video/runway/official-format/post-generate-a-video-from-text.openapi.json POST /runwayml/v1/text_to_video","href":"/ko/api/video/runway/official-format/generate-a-video-from-text"},{"title":"Runway 비디오-투-비디오 작업 생성","sidebarTitle":"Runway 비디오-투-비디오 작업 생성","openapi":"api/openapi/video/runway/official-format/post-generate-a-video-from-a-video.openapi.json POST /runwayml/v1/video_to_video","href":"/ko/api/video/runway/official-format/generate-a-video-from-a-video"},{"title":"Runway 캐릭터 퍼포먼스 생성","sidebarTitle":"Runway 캐릭터 퍼포먼스 생성","openapi":"api/openapi/video/runway/official-format/post-control-a-character.openapi.json POST /runwayml/v1/character_performance","href":"/ko/api/video/runway/official-format/control-a-character"},{"title":"Runway 비디오 업스케일","sidebarTitle":"Runway 비디오 업스케일","openapi":"api/openapi/video/runway/official-format/post-upscale-a-video.openapi.json POST /runwayml/v1/video_upscale","href":"/ko/api/video/runway/official-format/upscale-a-video"}]},{"group":"오디오","pages":[{"title":"Runway 사운드 효과 생성","sidebarTitle":"Runway 사운드 효과 생성","openapi":"api/openapi/video/runway/official-format/post-generate-sound-effects.openapi.json POST /runwayml/v1/sound_effect","href":"/ko/api/video/runway/official-format/generate-sound-effects"},{"title":"텍스트로 Runway 음성 생성","sidebarTitle":"텍스트로 Runway 음성 생성","openapi":"api/openapi/video/runway/official-format/post-generate-speech-from-text.openapi.json POST /runwayml/v1/text_to_speech","href":"/ko/api/video/runway/official-format/generate-speech-from-text"},{"title":"Runway 음성 변환","sidebarTitle":"Runway 음성 변환","openapi":"api/openapi/video/runway/official-format/post-convert-speech.openapi.json POST /runwayml/v1/speech_to_speech","href":"/ko/api/video/runway/official-format/convert-speech"},{"title":"Runway 오디오 더빙","sidebarTitle":"Runway 오디오 더빙","openapi":"api/openapi/video/runway/official-format/post-dub-audio.openapi.json POST /runwayml/v1/voice_dubbing","href":"/ko/api/video/runway/official-format/dub-audio"},{"title":"Runway 음성 분리","sidebarTitle":"Runway 음성 분리","openapi":"api/openapi/video/runway/official-format/post-isolate-voice.openapi.json POST /runwayml/v1/voice_isolation","href":"/ko/api/video/runway/official-format/isolate-voice"}]},{"group":"작업","pages":[{"title":"Runway 작업 가져오기","sidebarTitle":"Runway 작업 가져오기","openapi":"api/openapi/video/runway/official-format/get-runway-to-get-task-details.openapi.json GET /runwayml/v1/tasks/{id}","href":"/ko/api/video/runway/official-format/runway-to-get-task-details"}]}]}]},{"group":"오디오 모델","icon":"volume-high","root":{"title":"오디오 API","sidebarTitle":"오디오 모델","href":"/ko/api/audio/index"},"expanded":false,"pages":[{"title":"음성 생성","sidebarTitle":"음성 생성","openapi":"api/openapi/audio/post-create-speech.openapi.json POST /v1/audio/speech","href":"/ko/api/audio/create-speech"},{"title":"음성 전사","sidebarTitle":"음성 전사","openapi":"api/openapi/audio/post-create-transcription.openapi.json POST /v1/audio/transcriptions","href":"/ko/api/audio/create-transcription"},{"title":"번역","sidebarTitle":"번역","openapi":"api/openapi/audio/post-create-translation.openapi.json POST /v1/audio/translations","href":"/ko/api/audio/create-translation"}]},{"group":"임베딩","icon":"database","root":{"title":"임베딩 API","sidebarTitle":"임베딩","href":"/ko/api/embeddings/index"},"expanded":false,"pages":[{"title":"임베딩 생성","sidebarTitle":"임베딩 생성","openapi":"api/openapi/text/post-embeddings.openapi.json POST /v1/embeddings","href":"/ko/api/text/embeddings"}]},{"group":"콘텐츠 검토","icon":"shield-check","expanded":false,"pages":[{"title":"모더레이션 생성","sidebarTitle":"모더레이션 생성","openapi":"api/openapi/content-moderation/create-moderation.openapi.json POST /v1/moderations","href":"/ko/api/content-moderation/create-moderation"}]},{"group":"API 키","icon":"key","expanded":false,"pages":[{"title":"현재 API 키 가져오기","sidebarTitle":"현재 API 키 가져오기","openapi":"api/openapi/api-keys/get-current-api-key.openapi.json GET /api/usage/token","href":"/ko/api/api-keys/get-current-api-key"},{"title":"API 키 나열","sidebarTitle":"API 키 나열","openapi":"api/openapi/api-keys/list-api-keys.openapi.json GET /api/token/","href":"/ko/api/api-keys/list-api-keys"},{"title":"API 키 생성","sidebarTitle":"API 키 생성","openapi":"api/openapi/api-keys/create-api-key.openapi.json POST /api/token/","href":"/ko/api/api-keys/create-api-key"},{"title":"API 키 검색","sidebarTitle":"API 키 검색","openapi":"api/openapi/api-keys/get-api-key.openapi.json GET /api/token/{id}","href":"/ko/api/api-keys/get-api-key"},{"title":"API 키 삭제","sidebarTitle":"API 키 삭제","openapi":"api/openapi/api-keys/delete-api-key.openapi.json DELETE /api/token/{id}","href":"/ko/api/api-keys/delete-api-key"},{"title":"API 키 업데이트","sidebarTitle":"API 키 업데이트","openapi":"api/openapi/api-keys/update-api-key.openapi.json PUT /api/token/","href":"/ko/api/api-keys/update-api-key"}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/ko/integrations"}]}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/api/text/anthropic-messages"}]},{"language":"de","pages":[{"title":"de","href":"/de/api/text/anthropic-messages"}]},{"language":"es","pages":[{"title":"es","href":"/es/api/text/anthropic-messages"}]},{"language":"it","pages":[{"title":"it","href":"/it/api/text/anthropic-messages"}]},{"language":"pt","pages":[{"title":"pt","href":"/pt/api/text/anthropic-messages"}]},{"language":"ru","pages":[{"title":"ru","href":"/ru/api/text/anthropic-messages"}]},{"language":"ar","pages":[{"title":"ar","href":"/ar/api/text/anthropic-messages"}]},{"language":"vi","pages":[{"title":"vi","href":"/vi/api/text/anthropic-messages"}]},{"language":"id","pages":[{"title":"id","href":"/id/api/text/anthropic-messages"}]},{"language":"tr","pages":[{"title":"tr","href":"/tr/api/text/anthropic-messages"}]},{"language":"pl","pages":[{"title":"pl","href":"/pl/api/text/anthropic-messages"}]},{"language":"nl","pages":[{"title":"nl","href":"/nl/api/text/anthropic-messages"}]},{"language":"no","pages":[{"title":"no","href":"/no/api/text/anthropic-messages"}]},{"language":"uk","pages":[{"title":"uk","href":"/uk/api/text/anthropic-messages"}]}]},"basePath":"","title":"메시지 생성 - CometAPI Documentation","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BAvA99GL.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}