OpenAI 호환 채팅 완성 API를 통해 대화를 전송하세요. SDK를 base_url="https://api.cometapi.com/v1" 및 CometAPI API 키로 구성하세요.기본, 이미지, 스트리밍(Streaming) 및 구조화된 출력 예제에서는 gpt-6-astra를 사용합니다. 함수 호출(Function Calling) 예제에서는 gpt-6.1-sol를, 로그 확률 예제에서는 gpt-4.1를 사용합니다.
증분 출력을 받으려면 stream을 true로 설정하세요. 응답은 다음 방식으로 전달됩니다 서버 전송 이벤트(SSE). 텍스트는 chat.completion.chunk 객체로 도착하며, 이 축약된 예제에는 최종 사용량 청크가 포함되어 있습니다:
data: {"choices":[{"delta":{"content":"","refusal":null,"role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"created":1788765075,"id":"chatcmpl_example","model":"gpt-6-astra-2026-09-03","object":"chat.completion.chunk"}data: {"choices":[{"delta":{"content":"Hi"},"finish_reason":null,"index":0,"logprobs":null}],"created":1788765075,"id":"chatcmpl_example","model":"gpt-6-astra-2026-09-03","object":"chat.completion.chunk"}: Additional text deltas omitteddata: {"choices":[{"delta":{},"finish_reason":"stop","index":0,"logprobs":null}],"created":1788765075,"id":"chatcmpl_example","model":"gpt-6-astra-2026-09-03","object":"chat.completion.chunk"}data: {"choices":[],"created":1788765075,"id":"chatcmpl_example","model":"gpt-6-astra-2026-09-03","object":"chat.completion.chunk","usage":{"completion_tokens":12,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":18,"prompt_tokens_details":{"audio_tokens":0,"cache_write_tokens":0,"cached_tokens":0},"total_tokens":30}}data: [DONE]
스트리밍 응답에 토큰 사용량 통계를 포함하려면 stream_options.include_usage을 true로 설정하세요. 사용량 데이터는 [DONE] 전에 최종 청크에 표시됩니다. 청크의 choices 배열은 비어 있을 수 있으므로 choices[0]에 액세스하기 전에 확인하세요.
{ "model": "gpt-6-astra", "messages": [ { "role": "user", "content": "What is the capital of France? Return the answer and your confidence as a number from 0 to 1." } ], "reasoning_effort": "low", "response_format": { "type": "json_schema", "json_schema": { "name": "result", "strict": true, "schema": { "type": "object", "properties": { "answer": { "type": "string", "description": "The answer to the question." }, "confidence": { "type": "number", "description": "Confidence between zero and one." } }, "required": [ "answer", "confidence" ], "additionalProperties": false } } }}
{ "model": "gpt-6-astra", "messages": [ { "role": "user", "content": "Return a JSON object with the key answer and the capital of France as its value." } ], "reasoning_effort": "low", "response_format": { "type": "json_object" }}
JSON Schema 모드는 필요한 구조를 지정합니다. JSON Object 모드는 스키마를 강제하지 않고 유효한 JSON을 요청합니다. 결과를 사용하기 전에 거부 응답 또는 길이 제한 응답인지 확인하세요.
{ "model": "gpt-6.1-sol", "messages": [ { "role": "user", "content": "What is the weather in Boston, MA, in celsius? Use the weather tool." } ], "reasoning_effort": "none", "tools": [ { "type": "function", "function": { "name": "get_current_weather", "description": "Get the current weather for a city.", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "City and state, for example Boston, MA." }, "unit": { "type": "string", "enum": [ "celsius", "fahrenheit" ], "description": "Temperature unit." } }, "required": [ "location", "unit" ], "additionalProperties": false }, "strict": true } } ], "tool_choice": "auto"}
함수 호출은 finish_reason: "tool_calls"와 message.tool_calls 배열을 반환합니다. 함수의 JSON으로 인코딩된 arguments를 파싱하고 함수를 실행한 후, 어시스턴트 메시지 및 일치하는 tool_call_id가 포함된 tool 결과 메시지를 추가하세요.
reasoning_effort 및 max_completion_tokens을 GPT-6 Astra와 함께 사용하세요. Functions 및 Logprobs 예제는 각각 gpt-6.1-sol 및 gpt-4.1의 요청 옵션을 보여 줍니다.Claude 또는 Gemini 전용 요청 형식에 대해서는 다음 문서를 참조하세요: Anthropic 메시지 및 Gemini 콘텐츠 생성.
max_tokens 및 max_completion_tokens
max_completion_tokens를 사용하여 GPT-6 Astra 예제에서 생성되는 토큰을 제한하세요. 여기에는 추론 및 표시되는 출력이 포함되므로 둘 모두를 위한 여유를 확보하세요. max_tokens는 레거시 매개변수입니다.
지침 역할
developer를 GPT-6 Astra 예제의 애플리케이션 지침에 사용하세요. 최종 사용자 콘텐츠는 user 메시지에 유지하고, 대화를 계속할 때는 이전 어시스턴트 응답을 보존하세요.
messages = [ {"role": "developer", "content": "You are a helpful assistant."}, {"role": "user", "content": "What is Python?"}, {"role": "assistant", "content": "Python is a high-level programming language..."}, {"role": "user", "content": "What are its main advantages?"},]
A JSON object mapping token IDs to bias values from -100 to 100. The bias is added to the model's logits before sampling. Values between -1 and 1 subtly adjust likelihood; -100 or 100 effectively ban or force selection of a token.
Function definitions for a model that supports tool calling on Chat Completions. The function example uses GPT-5.6 Sol; use Responses for GPT-6 Astra tool calls.
Reasoning effort supported by the selected model. The GPT-6 Astra examples use low; the GPT-5.6 Sol function example uses none. See the model reference for other supported levels.
{"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/chat","slug":"/ko/api/text/chat","pageMetadata":{"title":"채팅 완성 만들기","sidebarTitle":"채팅 완성 만들기","openapi":"api/openapi/text/post-chat.openapi.json POST /v1/chat/completions","description":"스트리밍(Streaming), 구조화된 출력 및 도구 호출을 지원하는 채팅 모델에 여러 메시지로 구성된 대화를 전송하려면 CometAPI POST /v1/chat/completions를 사용하세요.","keywords":["CometAPI","chat completions","/v1/chat/completions","llm conversation api","streaming sse","gpt chat completion","max_completion_tokens","openai-compatible chat api"],"noindex":true,"href":"/ko/api/text/chat"},"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 POST /v1/chat/completions를 사용하세요.\"\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`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CodeBlock,CodeGroup,Heading,Note,Table,Tip}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`OpenAI 호환 채팅 완성 API를 통해 대화를 전송하세요. SDK를 `,_jsx(_components.code,{children:`base_url=\"https://api.cometapi.com/v1\"`}),` 및 CometAPI API 키로 구성하세요.`]}),`\n`,_jsxs(_components.p,{children:[`기본, 이미지, 스트리밍(Streaming) 및 구조화된 출력 예제에서는 `,_jsx(_components.code,{children:`gpt-6-astra`}),`를 사용합니다. 함수 호출(Function Calling) 예제에서는 `,_jsx(_components.code,{children:`gpt-6.1-sol`}),`를, 로그 확률 예제에서는 `,_jsx(_components.code,{children:`gpt-4.1`}),`를 사용합니다.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`다음 `,_jsx(_components.a,{href:`https://developers.openai.com/api/reference/typescript/resources/chat/subresources/completions/methods/create`,children:`OpenAI 채팅 완성 참조`}),` 에서 매개변수 정의를 확인하세요. GPT-6 Astra 도구 호출에는 `,_jsx(_components.a,{href:`/ko/api/text/responses`,children:`응답`}),`을 사용하고, 다음 지침을 따르세요: `,_jsx(_components.a,{href:`https://developers.openai.com/api/docs/guides/latest-model`,children:`OpenAI 모델 가이드`}),`.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`메시지-역할`,children:`메시지 역할`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`역할`}),_jsx(_components.th,{children:`설명`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`system`})}),_jsx(_components.td,{children:`어시스턴트의 동작과 성격을 설정합니다. 대화 시작 부분에 배치합니다.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`developer`})}),_jsx(_components.td,{children:`애플리케이션 지침을 제공합니다. GPT-6 Astra 예제에서는 이 역할을 사용합니다.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`user`})}),_jsx(_components.td,{children:`최종 사용자 메시지입니다.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`assistant`})}),_jsx(_components.td,{children:`대화 기록을 유지하는 데 사용하는 이전 모델 응답입니다.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tool`})}),_jsxs(_components.td,{children:[`도구/함수 호출 결과입니다. 원래 도구 호출과 일치하는 `,_jsx(_components.code,{children:`tool_call_id`}),`를 포함해야 합니다.`]})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`GPT-6 Astra 예제를 사용할 때는 애플리케이션 지침이 포함된 `,_jsx(_components.code,{children:`developer`}),` 메시지를 사용자 메시지 앞에 배치하세요.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`멀티모달-multimodal-입력-전송`,children:`멀티모달(Multimodal) 입력 전송`}),`\n`,_jsx(_components.p,{children:`텍스트와 함께 이미지를 전송하려면 콘텐츠 부분 배열을 사용하세요:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`23`,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:`23`,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:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-6-astra\"`}),_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:` \"messages\"`}),_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:` \"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:`#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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Describe the road and surrounding landscape in this image.\"`})]}),`\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:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image_url\"`}),_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:` \"image_url\"`}),_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:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=1200\"`}),_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:` \"detail\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"high\"`})]}),`\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`,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:` \"reasoning_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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"max_completion_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4096`})]}),`\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:`image_url.detail`}),`을 사용하세요. 이 예제에서는 `,_jsx(_components.code,{children:`high`}),`을 사용합니다.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`응답-스트리밍`,children:`응답 스트리밍`}),`\n`,_jsxs(_components.p,{children:[`증분 출력을 받으려면 `,_jsx(_components.code,{children:`stream`}),`을 `,_jsx(_components.code,{children:`true`}),`로 설정하세요. 응답은 다음 방식으로 전달됩니다 `,_jsx(_components.strong,{children:`서버 전송 이벤트(SSE)`}),`. 텍스트는 `,_jsx(_components.code,{children:`chat.completion.chunk`}),` 객체로 도착하며, 이 축약된 예제에는 최종 사용량 청크가 포함되어 있습니다:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"choices\":[{\"delta\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\"},\"finish_reason\":null,\"index\":0,\"logprobs\":null}],\"created\":1788765075,\"id\":\"chatcmpl_example\",\"model\":\"gpt-6-astra-2026-09-03\",\"object\":\"chat.completion.chunk\"}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"choices\":[{\"delta\":{\"content\":\"Hi\"},\"finish_reason\":null,\"index\":0,\"logprobs\":null}],\"created\":1788765075,\"id\":\"chatcmpl_example\",\"model\":\"gpt-6-astra-2026-09-03\",\"object\":\"chat.completion.chunk\"}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`: Additional text deltas omitted`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"choices\":[{\"delta\":{},\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null}],\"created\":1788765075,\"id\":\"chatcmpl_example\",\"model\":\"gpt-6-astra-2026-09-03\",\"object\":\"chat.completion.chunk\"}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"choices\":[],\"created\":1788765075,\"id\":\"chatcmpl_example\",\"model\":\"gpt-6-astra-2026-09-03\",\"object\":\"chat.completion.chunk\",\"usage\":{\"completion_tokens\":12,\"completion_tokens_details\":{\"accepted_prediction_tokens\":0,\"audio_tokens\":0,\"reasoning_tokens\":0,\"rejected_prediction_tokens\":0},\"prompt_tokens\":18,\"prompt_tokens_details\":{\"audio_tokens\":0,\"cache_write_tokens\":0,\"cached_tokens\":0},\"total_tokens\":30}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: [DONE]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`스트리밍 응답에 토큰 사용량 통계를 포함하려면 `,_jsx(_components.code,{children:`stream_options.include_usage`}),`을 `,_jsx(_components.code,{children:`true`}),`로 설정하세요. 사용량 데이터는 `,_jsx(_components.code,{children:`[DONE]`}),` 전에 최종 청크에 표시됩니다. 청크의 `,_jsx(_components.code,{children:`choices`}),` 배열은 비어 있을 수 있으므로 `,_jsx(_components.code,{children:`choices[0]`}),`에 액세스하기 전에 확인하세요.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`구조화된-출력-요청`,children:`구조화된 출력 요청`}),`\n`,_jsxs(_components.p,{children:[`구조화된 출력을 요청하려면 `,_jsx(_components.code,{children:`response_format`}),`을 사용하세요:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`JSON Schema`,numberOfLines:`35`,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:`35`,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:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-6-astra\"`}),_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:` \"messages\"`}),_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:` \"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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"What is the capital of France? Return the answer and your confidence as a number from 0 to 1.\"`})]}),`\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:` \"reasoning_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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"response_format\"`}),_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:`\"json_schema\"`}),_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:` \"json_schema\"`}),_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:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"result\"`}),_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:` \"strict\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"schema\"`}),_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:`\"object\"`}),_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:` \"properties\"`}),_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:` \"answer\"`}),_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:`\"string\"`}),_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:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The answer to the question.\"`})]}),`\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:` \"confidence\"`}),_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:`\"number\"`}),_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:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Confidence between zero and one.\"`})]}),`\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:` \"required\"`}),_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:` \"answer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"confidence\"`})}),`\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:` \"additionalProperties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`})]}),`\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`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`JSON Object`,numberOfLines:`13`,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:`13`,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:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-6-astra\"`}),_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:` \"messages\"`}),_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:` \"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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Return a JSON object with the key answer and the capital of France as its value.\"`})]}),`\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:` \"reasoning_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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"response_format\"`}),_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:`\"json_object\"`})]}),`\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`,_jsx(_components.p,{children:`JSON Schema 모드는 필요한 구조를 지정합니다. JSON Object 모드는 스키마를 강제하지 않고 유효한 JSON을 요청합니다. 결과를 사용하기 전에 거부 응답 또는 길이 제한 응답인지 확인하세요.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`도구-및-함수-호출`,children:`도구 및 함수 호출`}),`\n`,_jsxs(_components.p,{children:[`함수 정의와 함께 `,_jsx(_components.code,{children:`gpt-6.1-sol`}),`를 사용하세요:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`43`,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:`43`,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:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-6.1-sol\"`}),_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:` \"messages\"`}),_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:` \"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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"What is the weather in Boston, MA, in celsius? Use the weather tool.\"`})]}),`\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:` \"reasoning_effort\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"none\"`}),_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:` \"tools\"`}),_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:`\"function\"`}),_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:` \"function\"`}),_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:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"get_current_weather\"`}),_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:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Get the current weather for a city.\"`}),_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:` \"parameters\"`}),_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:`\"object\"`}),_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:` \"properties\"`}),_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:` \"location\"`}),_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:`\"string\"`}),_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:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"City and state, for example Boston, MA.\"`})]}),`\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:` \"unit\"`}),_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:`\"string\"`}),_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:` \"enum\"`}),_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:` \"celsius\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"fahrenheit\"`})}),`\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:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Temperature unit.\"`})]}),`\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:` \"required\"`}),_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:` \"location\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"unit\"`})}),`\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:` \"additionalProperties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`})]}),`\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:` \"strict\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"tool_choice\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"auto\"`})]}),`\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:`finish_reason: \"tool_calls\"`}),`와 `,_jsx(_components.code,{children:`message.tool_calls`}),` 배열을 반환합니다. 함수의 JSON으로 인코딩된 `,_jsx(_components.code,{children:`arguments`}),`를 파싱하고 함수를 실행한 후, 어시스턴트 메시지 및 일치하는 `,_jsx(_components.code,{children:`tool_call_id`}),`가 포함된 `,_jsx(_components.code,{children:`tool`}),` 결과 메시지를 추가하세요.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`요청-매개변수-선택`,children:`요청 매개변수 선택`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`모델별 매개변수`,id:`reasoning_effort-%EB%B0%8F-max_completion_tokens%EC%9D%84-gpt-6-astra%EC%99%80-%ED%95%A8%EA%BB%98-%EC%82%AC%EC%9A%A9%ED%95%98%EC%84%B8%EC%9A%94.-functions-%EB%B0%8F-logprobs-%EC%98%88%EC%A0%9C%EB%8A%94-%EA%B0%81%EA%B0%81-gpt-6.1-sol-%EB%B0%8F-gpt-4.1%EC%9D%98-%EC%9A%94%EC%B2%AD-%EC%98%B5%EC%85%98%EC%9D%84-%EB%B3%B4%EC%97%AC-%EC%A4%8D%EB%8B%88%EB%8B%A4.claude-%EB%98%90%EB%8A%94-gemini-%EC%A0%84%EC%9A%A9-%EC%9A%94%EC%B2%AD-%ED%98%95%EC%8B%9D%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C%EB%8A%94-%EB%8B%A4%EC%9D%8C-%EB%AC%B8%EC%84%9C%EB%A5%BC-%EC%B0%B8%EC%A1%B0%ED%95%98%EC%84%B8%EC%9A%94%3A-anthropic-%EB%A9%94%EC%8B%9C%EC%A7%80-%EB%B0%8F-gemini-%EC%BD%98%ED%85%90%EC%B8%A0-%EC%83%9D%EC%84%B1.`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`reasoning_effort`}),` 및 `,_jsx(_components.code,{children:`max_completion_tokens`}),`을 GPT-6 Astra와 함께 사용하세요. Functions 및 Logprobs 예제는 각각 `,_jsx(_components.code,{children:`gpt-6.1-sol`}),` 및 `,_jsx(_components.code,{children:`gpt-4.1`}),`의 요청 옵션을 보여 줍니다.`]}),_jsxs(_components.p,{children:[`Claude 또는 Gemini 전용 요청 형식에 대해서는 다음 문서를 참조하세요: `,_jsx(_components.a,{href:`/ko/api/text/anthropic-messages`,children:`Anthropic 메시지`}),` 및 `,_jsx(_components.a,{href:`/ko/api/text/gemini-generating-content`,children:`Gemini 콘텐츠 생성`}),`.`]})]}),_jsx(Accordion,{title:`max_tokens 및 max_completion_tokens`,id:`max-tokens-max-completion-tokens`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`max_completion_tokens`}),`를 사용하여 GPT-6 Astra 예제에서 생성되는 토큰을 제한하세요. 여기에는 추론 및 표시되는 출력이 포함되므로 둘 모두를 위한 여유를 확보하세요. `,_jsx(_components.code,{children:`max_tokens`}),`는 레거시 매개변수입니다.`]})}),_jsx(Accordion,{title:`지침 역할`,id:`-1`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`developer`}),`를 GPT-6 Astra 예제의 애플리케이션 지침에 사용하세요. 최종 사용자 콘텐츠는 `,_jsx(_components.code,{children:`user`}),` 메시지에 유지하고, 대화를 계속할 때는 이전 어시스턴트 응답을 보존하세요.`]})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`자주-묻는-질문`,children:`자주 묻는 질문`}),`\n`,_jsx(Heading,{level:`3`,id:`속도-제한을-처리하는-방법은-무엇인가요`,children:`속도 제한을 처리하는 방법은 무엇인가요?`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`429 Too Many Requests`}),` 발생 시 지수 백오프를 구현하세요:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`24`,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:`24`,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:` time`})]}),`\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:` random`})]}),`\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:` openai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAI, RateLimitError`})]}),`\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:` OpenAI(`})]}),`\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/v1\"`}),_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\":`#569CD6`},children:`def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` chat_with_retry`}),_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:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`max_retries`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--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`,_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:` i `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` range`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(max_retries):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_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:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.chat.completions.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:`\"gpt-6-astra\"`}),_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:` reasoning_effort`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--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:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` except`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` RateLimitError:`})]}),`\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:` i `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` max_retries `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_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:` wait_time `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` **`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` i) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`+`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` random.random()`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` time.sleep(wait_time)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` raise`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`대화-컨텍스트를-유지하는-방법은-무엇인가요`,children:`대화 컨텍스트를 유지하는 방법은 무엇인가요?`}),`\n`,_jsxs(_components.p,{children:[`전체 대화 기록을 `,_jsx(_components.code,{children:`messages`}),` 배열에 포함하세요:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,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:`6`,children:[_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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},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:`\"developer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},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:`\"You are a helpful assistant.\"`}),_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:`#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:`, `}),_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:`\"What is Python?\"`}),_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:`#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:`, `}),_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:`\"Python is a high-level programming language...\"`}),_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:`#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:`, `}),_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:`\"What are its main advantages?\"`}),_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(Heading,{level:`3`,id:`finish_reason의-의미는-무엇인가요`,children:[_jsx(_components.code,{children:`finish_reason`}),`의 의미는 무엇인가요?`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`값`}),_jsx(_components.th,{children:`의미`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`stop`})}),_jsx(_components.td,{children:`자연스럽게 완성되었거나 중지 시퀀스에 도달했습니다.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`length`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`max_tokens`}),` 또는 `,_jsx(_components.code,{children:`max_completion_tokens`}),` 한도에 도달했습니다.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tool_calls`})}),_jsx(_components.td,{children:`모델이 하나 이상의 도구/함수 호출(Function Calling)을 수행했습니다.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`content_filter`})}),_jsx(_components.td,{children:`콘텐츠 정책으로 인해 출력이 필터링되었습니다.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`비용을-제어하는-방법은-무엇인가요`,children:`비용을 제어하는 방법은 무엇인가요?`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`출력 길이를 제한하려면 `,_jsx(_components.code,{children:`max_completion_tokens`}),`을 사용하세요.`]}),`\n`,_jsx(_components.li,{children:`모델 가격을 비교하고 워크로드 요구 사항에 맞는 모델을 선택하세요.`}),`\n`,_jsx(_components.li,{children:`프롬프트(Prompt)를 간결하게 유지하세요. 중복된 컨텍스트는 피하세요.`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`usage`}),` 응답 필드에서 토큰(Token) 사용량을 모니터링하세요.`]}),`\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-chat.openapi.json POST /v1/chat/completions","description":"스트리밍(Streaming), 구조화된 출력 및 도구 호출을 지원하는 채팅 모델에 여러 메시지로 구성된 대화를 전송하려면 CometAPI POST /v1/chat/completions를 사용하세요.","keywords":["CometAPI","chat completions","/v1/chat/completions","llm conversation api","streaming sse","gpt chat completion","max_completion_tokens","openai-compatible chat api"],"noindex":true,"href":"/ko/api/text/chat"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"메시지 역할","slug":"메시지-역할","depth":2,"children":[]},{"title":"멀티모달(Multimodal) 입력 전송","slug":"멀티모달-multimodal-입력-전송","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":[{"title":"속도 제한을 처리하는 방법은 무엇인가요?","slug":"속도-제한을-처리하는-방법은-무엇인가요","depth":3,"children":[]},{"title":"대화 컨텍스트를 유지하는 방법은 무엇인가요?","slug":"대화-컨텍스트를-유지하는-방법은-무엇인가요","depth":3,"children":[]},{"title":"finish_reason의 의미는 무엇인가요?","slug":"finish_reason의-의미는-무엇인가요","depth":3,"children":[]},{"title":"비용을 제어하는 방법은 무엇인가요?","slug":"비용을-제어하는-방법은-무엇인가요","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cometapi/430a303ac1007180/analytics.js"],"openApiReferenceData":{"operation":{"summary":"Chat Completions","description":"스트리밍(Streaming), 구조화된 출력 및 도구 호출을 지원하는 채팅 모델에 여러 메시지로 구성된 대화를 전송하려면 CometAPI POST /v1/chat/completions를 사용하세요.","operationId":"chat_completions","requestBody":"6df50e7f-7221-48a0-b559-01199559c68e","responses":{"200":"8275358b-800b-48a2-8865-3572dfc7e0f7","400":"5717f04b-e5b9-4d94-b527-3ed650275432","401":"2229efd2-748b-4e4a-8132-4105d55eb0c2","500":"854825f7-95d8-4978-8d31-b7742ba38738"},"x-codeSamples":[{"lang":"Python","label":"Default","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\",\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\",\n },\n ],\n reasoning_effort=\"low\",\n)\n\nprint(completion.choices[0].message)\n"},{"lang":"Python","label":"Image Input","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Describe the road and surrounding landscape in this image.\",\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=1200\",\n \"detail\": \"high\",\n },\n },\n ],\n },\n ],\n reasoning_effort=\"low\",\n max_completion_tokens=4096,\n)\n\nprint(completion.choices[0].message)\n"},{"lang":"Python","label":"Streaming","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nstream = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\",\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\",\n },\n ],\n reasoning_effort=\"low\",\n stream=True,\n stream_options={\n \"include_usage\": True,\n },\n)\n\nfor chunk in stream:\n if chunk.choices and chunk.choices[0].delta.content:\n print(chunk.choices[0].delta.content, end=\"\")\n if chunk.usage:\n print(\"\\nUsage:\", chunk.usage)\n"},{"lang":"Python","label":"Functions","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6.1-sol\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"What is the weather in Boston, MA, in celsius? Use the weather tool.\",\n },\n ],\n reasoning_effort=\"none\",\n tools=[\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_current_weather\",\n \"description\": \"Get the current weather for a city.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"location\": {\n \"type\": \"string\",\n \"description\": \"City and state, for example Boston, MA.\",\n },\n \"unit\": {\n \"type\": \"string\",\n \"enum\": [\n \"celsius\",\n \"fahrenheit\",\n ],\n \"description\": \"Temperature unit.\",\n },\n },\n \"required\": [\n \"location\",\n \"unit\",\n ],\n \"additionalProperties\": False,\n },\n \"strict\": True,\n },\n },\n ],\n tool_choice=\"auto\",\n)\n\nprint(completion.choices[0].message)\n"},{"lang":"Python","label":"Logprobs","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-4.1\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Hello!\",\n },\n ],\n logprobs=True,\n top_logprobs=2,\n)\n\nprint(completion.choices[0].logprobs)\n"},{"lang":"Python","label":"JSON Schema","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"What is the capital of France? Return the answer and your confidence as a number from 0 to 1.\",\n },\n ],\n reasoning_effort=\"low\",\n response_format={\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"name\": \"result\",\n \"strict\": True,\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"answer\": {\n \"type\": \"string\",\n \"description\": \"The answer to the question.\",\n },\n \"confidence\": {\n \"type\": \"number\",\n \"description\": \"Confidence between zero and one.\",\n },\n },\n \"required\": [\n \"answer\",\n \"confidence\",\n ],\n \"additionalProperties\": False,\n },\n },\n },\n)\n\nprint(completion.choices[0].message)\n"},{"lang":"Python","label":"JSON Object","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Return a JSON object with the key answer and the capital of France as its value.\",\n },\n ],\n reasoning_effort=\"low\",\n response_format={\n \"type\": \"json_object\",\n },\n)\n\nprint(completion.choices[0].message)\n"},{"lang":"JavaScript","label":"Default","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"reasoning_effort\": \"low\"\n});\n\nconsole.log(completion.choices[0].message);\n"},{"lang":"JavaScript","label":"Image Input","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Describe the road and surrounding landscape in this image.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=1200\",\n \"detail\": \"high\"\n }\n }\n ]\n }\n ],\n \"reasoning_effort\": \"low\",\n \"max_completion_tokens\": 4096\n});\n\nconsole.log(completion.choices[0].message);\n"},{"lang":"JavaScript","label":"Streaming","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst stream = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"stream\": true,\n \"stream_options\": {\n \"include_usage\": true\n }\n});\n\nfor await (const chunk of stream) {\n process.stdout.write(chunk.choices[0]?.delta?.content || \"\");\n if (chunk.usage) console.log(\"\\nUsage:\", chunk.usage);\n}\n"},{"lang":"JavaScript","label":"Functions","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6.1-sol\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"What is the weather in Boston, MA, in celsius? Use the weather tool.\"\n }\n ],\n \"reasoning_effort\": \"none\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_current_weather\",\n \"description\": \"Get the current weather for a city.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"location\": {\n \"type\": \"string\",\n \"description\": \"City and state, for example Boston, MA.\"\n },\n \"unit\": {\n \"type\": \"string\",\n \"enum\": [\n \"celsius\",\n \"fahrenheit\"\n ],\n \"description\": \"Temperature unit.\"\n }\n },\n \"required\": [\n \"location\",\n \"unit\"\n ],\n \"additionalProperties\": false\n },\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"auto\"\n});\n\nconsole.log(completion.choices[0].message);\n"},{"lang":"JavaScript","label":"Logprobs","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-4.1\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"logprobs\": true,\n \"top_logprobs\": 2\n});\n\nconsole.log(completion.choices[0].logprobs);\n"},{"lang":"JavaScript","label":"JSON Schema","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"What is the capital of France? Return the answer and your confidence as a number from 0 to 1.\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"name\": \"result\",\n \"strict\": true,\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"answer\": {\n \"type\": \"string\",\n \"description\": \"The answer to the question.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"description\": \"Confidence between zero and one.\"\n }\n },\n \"required\": [\n \"answer\",\n \"confidence\"\n ],\n \"additionalProperties\": false\n }\n }\n }\n});\n\nconsole.log(completion.choices[0].message);\n"},{"lang":"JavaScript","label":"JSON Object","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Return a JSON object with the key answer and the capital of France as its value.\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"response_format\": {\n \"type\": \"json_object\"\n }\n});\n\nconsole.log(completion.choices[0].message);\n"},{"lang":"Shell","label":"Default","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"reasoning_effort\": \"low\"\n}'\n"},{"lang":"Shell","label":"Image Input","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Describe the road and surrounding landscape in this image.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=1200\",\n \"detail\": \"high\"\n }\n }\n ]\n }\n ],\n \"reasoning_effort\": \"low\",\n \"max_completion_tokens\": 4096\n}'\n"},{"lang":"Shell","label":"Streaming","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n --no-buffer \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"stream\": true,\n \"stream_options\": {\n \"include_usage\": true\n }\n}'\n"},{"lang":"Shell","label":"Functions","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6.1-sol\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"What is the weather in Boston, MA, in celsius? Use the weather tool.\"\n }\n ],\n \"reasoning_effort\": \"none\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_current_weather\",\n \"description\": \"Get the current weather for a city.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"location\": {\n \"type\": \"string\",\n \"description\": \"City and state, for example Boston, MA.\"\n },\n \"unit\": {\n \"type\": \"string\",\n \"enum\": [\n \"celsius\",\n \"fahrenheit\"\n ],\n \"description\": \"Temperature unit.\"\n }\n },\n \"required\": [\n \"location\",\n \"unit\"\n ],\n \"additionalProperties\": false\n },\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"auto\"\n}'\n"},{"lang":"Shell","label":"Logprobs","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-4.1\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"logprobs\": true,\n \"top_logprobs\": 2\n}'\n"},{"lang":"Shell","label":"JSON Schema","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"What is the capital of France? Return the answer and your confidence as a number from 0 to 1.\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"name\": \"result\",\n \"strict\": true,\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"answer\": {\n \"type\": \"string\",\n \"description\": \"The answer to the question.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"description\": \"Confidence between zero and one.\"\n }\n },\n \"required\": [\n \"answer\",\n \"confidence\"\n ],\n \"additionalProperties\": false\n }\n }\n }\n}'\n"},{"lang":"Shell","label":"JSON Object","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Return a JSON object with the key answer and the capital of France as its value.\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"response_format\": {\n \"type\": \"json_object\"\n }\n}'\n"}],"method":"post","type":"path","servers":["3ffc095c-c8c9-4205-bfef-4fcd8fa65a44"],"security":["40885906-3e68-4ac9-9fb7-c01418bce9b3"],"path":"/v1/chat/completions","baseUrlOptions":["https://api.cometapi.com"],"title":"Chat Completions","codeSamples":[{"label":"Default","lang":"Python","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\",\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\",\n },\n ],\n reasoning_effort=\"low\",\n)\n\nprint(completion.choices[0].message)\n"},{"label":"Image Input","lang":"Python","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Describe the road and surrounding landscape in this image.\",\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=1200\",\n \"detail\": \"high\",\n },\n },\n ],\n },\n ],\n reasoning_effort=\"low\",\n max_completion_tokens=4096,\n)\n\nprint(completion.choices[0].message)\n"},{"label":"Streaming","lang":"Python","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nstream = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\",\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\",\n },\n ],\n reasoning_effort=\"low\",\n stream=True,\n stream_options={\n \"include_usage\": True,\n },\n)\n\nfor chunk in stream:\n if chunk.choices and chunk.choices[0].delta.content:\n print(chunk.choices[0].delta.content, end=\"\")\n if chunk.usage:\n print(\"\\nUsage:\", chunk.usage)\n"},{"label":"Functions","lang":"Python","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6.1-sol\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"What is the weather in Boston, MA, in celsius? Use the weather tool.\",\n },\n ],\n reasoning_effort=\"none\",\n tools=[\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_current_weather\",\n \"description\": \"Get the current weather for a city.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"location\": {\n \"type\": \"string\",\n \"description\": \"City and state, for example Boston, MA.\",\n },\n \"unit\": {\n \"type\": \"string\",\n \"enum\": [\n \"celsius\",\n \"fahrenheit\",\n ],\n \"description\": \"Temperature unit.\",\n },\n },\n \"required\": [\n \"location\",\n \"unit\",\n ],\n \"additionalProperties\": False,\n },\n \"strict\": True,\n },\n },\n ],\n tool_choice=\"auto\",\n)\n\nprint(completion.choices[0].message)\n"},{"label":"Logprobs","lang":"Python","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-4.1\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Hello!\",\n },\n ],\n logprobs=True,\n top_logprobs=2,\n)\n\nprint(completion.choices[0].logprobs)\n"},{"label":"JSON Schema","lang":"Python","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"What is the capital of France? Return the answer and your confidence as a number from 0 to 1.\",\n },\n ],\n reasoning_effort=\"low\",\n response_format={\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"name\": \"result\",\n \"strict\": True,\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"answer\": {\n \"type\": \"string\",\n \"description\": \"The answer to the question.\",\n },\n \"confidence\": {\n \"type\": \"number\",\n \"description\": \"Confidence between zero and one.\",\n },\n },\n \"required\": [\n \"answer\",\n \"confidence\",\n ],\n \"additionalProperties\": False,\n },\n },\n },\n)\n\nprint(completion.choices[0].message)\n"},{"label":"JSON Object","lang":"Python","source":"import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\ncompletion = client.chat.completions.create(\n model=\"gpt-6-astra\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": \"Return a JSON object with the key answer and the capital of France as its value.\",\n },\n ],\n reasoning_effort=\"low\",\n response_format={\n \"type\": \"json_object\",\n },\n)\n\nprint(completion.choices[0].message)\n"},{"label":"Default","lang":"JavaScript","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"reasoning_effort\": \"low\"\n});\n\nconsole.log(completion.choices[0].message);\n"},{"label":"Image Input","lang":"JavaScript","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Describe the road and surrounding landscape in this image.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=1200\",\n \"detail\": \"high\"\n }\n }\n ]\n }\n ],\n \"reasoning_effort\": \"low\",\n \"max_completion_tokens\": 4096\n});\n\nconsole.log(completion.choices[0].message);\n"},{"label":"Streaming","lang":"JavaScript","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst stream = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"stream\": true,\n \"stream_options\": {\n \"include_usage\": true\n }\n});\n\nfor await (const chunk of stream) {\n process.stdout.write(chunk.choices[0]?.delta?.content || \"\");\n if (chunk.usage) console.log(\"\\nUsage:\", chunk.usage);\n}\n"},{"label":"Functions","lang":"JavaScript","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6.1-sol\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"What is the weather in Boston, MA, in celsius? Use the weather tool.\"\n }\n ],\n \"reasoning_effort\": \"none\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_current_weather\",\n \"description\": \"Get the current weather for a city.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"location\": {\n \"type\": \"string\",\n \"description\": \"City and state, for example Boston, MA.\"\n },\n \"unit\": {\n \"type\": \"string\",\n \"enum\": [\n \"celsius\",\n \"fahrenheit\"\n ],\n \"description\": \"Temperature unit.\"\n }\n },\n \"required\": [\n \"location\",\n \"unit\"\n ],\n \"additionalProperties\": false\n },\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"auto\"\n});\n\nconsole.log(completion.choices[0].message);\n"},{"label":"Logprobs","lang":"JavaScript","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-4.1\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"logprobs\": true,\n \"top_logprobs\": 2\n});\n\nconsole.log(completion.choices[0].logprobs);\n"},{"label":"JSON Schema","lang":"JavaScript","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"What is the capital of France? Return the answer and your confidence as a number from 0 to 1.\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"name\": \"result\",\n \"strict\": true,\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"answer\": {\n \"type\": \"string\",\n \"description\": \"The answer to the question.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"description\": \"Confidence between zero and one.\"\n }\n },\n \"required\": [\n \"answer\",\n \"confidence\"\n ],\n \"additionalProperties\": false\n }\n }\n }\n});\n\nconsole.log(completion.choices[0].message);\n"},{"label":"JSON Object","lang":"JavaScript","source":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst completion = await client.chat.completions.create({\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Return a JSON object with the key answer and the capital of France as its value.\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"response_format\": {\n \"type\": \"json_object\"\n }\n});\n\nconsole.log(completion.choices[0].message);\n"},{"label":"Default","lang":"Shell","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"reasoning_effort\": \"low\"\n}'\n"},{"label":"Image Input","lang":"Shell","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Describe the road and surrounding landscape in this image.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=1200\",\n \"detail\": \"high\"\n }\n }\n ]\n }\n ],\n \"reasoning_effort\": \"low\",\n \"max_completion_tokens\": 4096\n}'\n"},{"label":"Streaming","lang":"Shell","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n --no-buffer \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"developer\",\n \"content\": \"You are a helpful assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"stream\": true,\n \"stream_options\": {\n \"include_usage\": true\n }\n}'\n"},{"label":"Functions","lang":"Shell","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6.1-sol\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"What is the weather in Boston, MA, in celsius? Use the weather tool.\"\n }\n ],\n \"reasoning_effort\": \"none\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_current_weather\",\n \"description\": \"Get the current weather for a city.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"location\": {\n \"type\": \"string\",\n \"description\": \"City and state, for example Boston, MA.\"\n },\n \"unit\": {\n \"type\": \"string\",\n \"enum\": [\n \"celsius\",\n \"fahrenheit\"\n ],\n \"description\": \"Temperature unit.\"\n }\n },\n \"required\": [\n \"location\",\n \"unit\"\n ],\n \"additionalProperties\": false\n },\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"auto\"\n}'\n"},{"label":"Logprobs","lang":"Shell","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-4.1\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"logprobs\": true,\n \"top_logprobs\": 2\n}'\n"},{"label":"JSON Schema","lang":"Shell","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"What is the capital of France? Return the answer and your confidence as a number from 0 to 1.\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"name\": \"result\",\n \"strict\": true,\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"answer\": {\n \"type\": \"string\",\n \"description\": \"The answer to the question.\"\n },\n \"confidence\": {\n \"type\": \"number\",\n \"description\": \"Confidence between zero and one.\"\n }\n },\n \"required\": [\n \"answer\",\n \"confidence\"\n ],\n \"additionalProperties\": false\n }\n }\n }\n}'\n"},{"label":"JSON Object","lang":"Shell","source":"curl https://api.cometapi.com/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -d '{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Return a JSON object with the key answer and the capital of France as its value.\"\n }\n ],\n \"reasoning_effort\": \"low\",\n \"response_format\": {\n \"type\": \"json_object\"\n }\n}'\n"}],"requiredOnlyExamples":true,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.model":"gpt-6-astra","body.messages.items.0.role":"developer","body.messages.items.0.content.oneOf.0":"You are a helpful assistant.","body.messages.items.1.role":"user","body.messages.items.1.content.oneOf.0":"Hello!","body.reasoning_effort":"low"},{"body.model":"gpt-6-astra","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.1.items.0":{"type":"text","text":"Describe the road and surrounding landscape in this image."},"body.messages.items.0.content.oneOf.1.items.1":{"type":"image_url","image_url":{"url":"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=1200","detail":"high"}},"body.max_completion_tokens":4096,"body.reasoning_effort":"low"},{"body.model":"gpt-6-astra","body.messages.items.0.role":"developer","body.messages.items.0.content.oneOf.0":"You are a helpful assistant.","body.messages.items.1.role":"user","body.messages.items.1.content.oneOf.0":"Hello!","body.stream":true,"body.reasoning_effort":"low","body.stream_options.include_usage":true},{"body.model":"gpt-6.1-sol","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"What is the weather in Boston, MA, in celsius? Use the weather tool.","body.tools.items.0.type":"function","body.tools.items.0.function.name":"get_current_weather","body.tools.items.0.function.description":"Get the current weather for a city.","body.tools.items.0.function.parameters":{"type":"object","properties":{"location":{"type":"string","description":"City and state, for example Boston, MA."},"unit":{"type":"string","enum":["celsius","fahrenheit"],"description":"Temperature unit."}},"required":["location","unit"],"additionalProperties":false},"body.tools.items.0.function.strict":true,"body.tool_choice.oneOf.0":"auto","body.reasoning_effort":"none"},{"body.model":"gpt-4.1","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"Hello!","body.logprobs":true,"body.top_logprobs":2},{"body.model":"gpt-6-astra","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"What is the capital of France? Return the answer and your confidence as a number from 0 to 1.","body.response_format.type":"json_schema","body.response_format.json_schema":{"name":"result","strict":true,"schema":{"type":"object","properties":{"answer":{"type":"string","description":"The answer to the question."},"confidence":{"type":"number","description":"Confidence between zero and one."}},"required":["answer","confidence"],"additionalProperties":false}},"body.reasoning_effort":"low"},{"body.model":"gpt-6-astra","body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"Return a JSON object with the key answer and the capital of France as its value.","body.response_format.type":"json_object","body.reasoning_effort":"low"}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","messages"],"properties":{"model":{"type":"string","description":"Model ID to use for this request. See the [Models page](/overview/models) for current options.","example":"gpt-6-astra","default":"gpt-6-astra","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"messages":{"type":"array","description":"Conversation messages, including instructions, user input, assistant replies, and tool results.","items":{"type":"object","properties":{"role":{"type":"string","enum":["system","user","assistant","tool","developer"],"description":"Message role. The GPT-6 Astra examples use developer for instructions, user for input, assistant for replies, and tool for function results.","uniqueKey":"messages.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"content":{"oneOf":[{"type":"string","description":"Message text, multimodal content parts, or null for an assistant message containing tool calls.","uniqueKey":"messages.items.[INDEX].content.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"object","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX]","typeLabel":"object"},"description":"Message text, multimodal content parts, or null for an assistant message containing tool calls.","uniqueKey":"messages.items.[INDEX].content.oneOf.1","typeLabel":"object[]"},{"type":"null","description":"Message text, multimodal content parts, or null for an assistant message containing tool calls.","uniqueKey":"messages.items.[INDEX].content.oneOf.2","typeLabel":"null"}],"uniqueKey":"messages.items.[INDEX].content","typeLabel":"string | object[] | null"},"tool_call_id":{"type":"string","description":"For a tool result message, the ID of the assistant tool call being answered.","uniqueKey":"messages.items.[INDEX].tool_call_id","typeLabel":"string"},"tool_calls":{"type":"array","items":{"type":"object","uniqueKey":"messages.items.[INDEX].tool_calls.items.[INDEX]","typeLabel":"object"},"description":"Tool calls from a previous assistant response. Preserve these when adding tool results to the conversation.","uniqueKey":"messages.items.[INDEX].tool_calls","typeLabel":"object[]"}},"uniqueKey":"messages.items.[INDEX]","typeLabel":"object"},"default":[{"role":"developer","content":"You are a helpful assistant."},{"role":"user","content":"Hello!"}],"isRequired":true,"uniqueKey":"messages","typeLabel":"object[]"},"stream":{"type":"boolean","description":"If `true`, partial response tokens are delivered incrementally via server-sent events (SSE). The stream ends with a `data: [DONE]` message.","uniqueKey":"stream","typeLabel":"boolean"},"temperature":{"type":"number","description":"Sampling temperature. Omit this field for GPT-6 Astra.","minimum":0,"maximum":2,"uniqueKey":"temperature","typeLabel":"number"},"top_p":{"type":"number","description":"Nucleus sampling threshold. Omit this field for GPT-6 Astra. For sampling overrides, adjust either top_p or temperature.","minimum":0,"maximum":1,"uniqueKey":"top_p","typeLabel":"number"},"n":{"type":"integer","description":"Number of completion choices to generate for each input message. Defaults to 1.","uniqueKey":"n","typeLabel":"integer"},"stop":{"oneOf":[{"type":"string","description":"Stop string or list of up to four strings, for models that support stop sequences.","uniqueKey":"stop.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"stop.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Stop string or list of up to four strings, for models that support stop sequences.","maxItems":4,"uniqueKey":"stop.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"stop","typeLabel":"string | string[]"},"max_tokens":{"type":"integer","description":"Legacy output-token limit. Use max_completion_tokens for the GPT-6 Astra examples.","deprecated":true,"uniqueKey":"max_tokens","typeLabel":"integer"},"presence_penalty":{"type":"number","description":"Number between -2.0 and 2.0. Positive values penalize tokens based on whether they have already appeared, encouraging the model to explore new topics.","minimum":-2,"maximum":2,"uniqueKey":"presence_penalty","typeLabel":"number"},"frequency_penalty":{"type":"number","description":"Number between -2.0 and 2.0. Positive values penalize tokens proportionally to how often they have appeared, reducing verbatim repetition.","minimum":-2,"maximum":2,"uniqueKey":"frequency_penalty","typeLabel":"number"},"logit_bias":{"type":"object","description":"A JSON object mapping token IDs to bias values from -100 to 100. The bias is added to the model's logits before sampling. Values between -1 and 1 subtly adjust likelihood; -100 or 100 effectively ban or force selection of a token.","uniqueKey":"logit_bias","typeLabel":"object"},"user":{"type":"string","description":"A unique identifier for your end-user. Helps with abuse detection and monitoring.","uniqueKey":"user","typeLabel":"string"},"max_completion_tokens":{"type":"integer","description":"Maximum generated tokens, including visible output and reasoning. Leave enough room for both, as in the image-input example.","uniqueKey":"max_completion_tokens","typeLabel":"integer"},"response_format":{"type":"object","description":"Specifies the output format. Use `{\"type\": \"json_object\"}` for JSON mode, or `{\"type\": \"json_schema\", \"json_schema\": {...}}` for strict structured output.","properties":{"type":{"type":"string","enum":["text","json_object","json_schema"],"description":"Output format type: `text` (default), `json_object`, or `json_schema`.","uniqueKey":"response_format.type","typeLabel":"enum\u003cstring>"},"json_schema":{"type":"object","description":"The JSON Schema definition.","uniqueKey":"response_format.json_schema","typeLabel":"object"}},"uniqueKey":"response_format","typeLabel":"object"},"tools":{"type":"array","description":"Function definitions for a model that supports tool calling on Chat Completions. The function example uses GPT-5.6 Sol; use Responses for GPT-6 Astra tool calls.","items":{"type":"object","properties":{"type":{"type":"string","enum":["function"],"description":"Tool type. Use `function`.","uniqueKey":"tools.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"function":{"type":"object","properties":{"name":{"type":"string","description":"Function name. The model repeats it inside `tool_calls` when it calls the tool.","uniqueKey":"tools.items.[INDEX].function.name","typeLabel":"string"},"description":{"type":"string","description":"What the function does. The model uses this text to decide when to call it.","uniqueKey":"tools.items.[INDEX].function.description","typeLabel":"string"},"parameters":{"type":"object","description":"JSON Schema object that describes the function arguments.","uniqueKey":"tools.items.[INDEX].function.parameters","typeLabel":"object"},"strict":{"type":"boolean","description":"If `true`, the model must produce arguments that exactly match the JSON Schema.","uniqueKey":"tools.items.[INDEX].function.strict","typeLabel":"boolean"}},"description":"The function definition the model may call.","uniqueKey":"tools.items.[INDEX].function","typeLabel":"object"}},"uniqueKey":"tools.items.[INDEX]","typeLabel":"object"},"uniqueKey":"tools","typeLabel":"object[]"},"tool_choice":{"oneOf":[{"type":"string","description":"Controls how the model selects tools. `auto` (default): model decides. `none`: no tools. `required`: must call a tool.","uniqueKey":"tool_choice.oneOf.0","typeLabel":"string"},{"type":"object","description":"Controls how the model selects tools. `auto` (default): model decides. `none`: no tools. `required`: must call a tool.","uniqueKey":"tool_choice.oneOf.1","typeLabel":"object"}],"uniqueKey":"tool_choice","typeLabel":"string | object"},"logprobs":{"type":"boolean","description":"Return token log probabilities. Use gpt-4.1 as shown in the Logprobs example.","uniqueKey":"logprobs","typeLabel":"boolean"},"top_logprobs":{"type":"integer","description":"Number of most likely tokens to return at each position (0-20). Requires `logprobs` to be `true`.","minimum":0,"maximum":20,"uniqueKey":"top_logprobs","typeLabel":"integer"},"reasoning_effort":{"type":"string","description":"Reasoning effort supported by the selected model. The GPT-6 Astra examples use low; the GPT-5.6 Sol function example uses none. See the model reference for other supported levels.","uniqueKey":"reasoning_effort","typeLabel":"string"},"stream_options":{"type":"object","description":"Options for streaming. Only valid when `stream` is `true`.","properties":{"include_usage":{"type":"boolean","description":"If true, includes usage stats in the final streaming chunk.","uniqueKey":"stream_options.include_usage","typeLabel":"boolean"}},"uniqueKey":"stream_options","typeLabel":"object"},"service_tier":{"type":"string","description":"Specifies the processing tier.","enum":["auto","default","flex","priority"],"uniqueKey":"service_tier","typeLabel":"enum\u003cstring>"}},"default":{"model":"gpt-6-astra","messages":[{"role":"developer","content":"You are a helpful assistant."},{"role":"user","content":"Hello!"}],"reasoning_effort":"low"},"uniqueKey":"","typeLabel":"object"},"examples":{"Default":{"title":"Default","value":{"model":"gpt-6-astra","messages":[{"role":"developer","content":"You are a helpful assistant."},{"role":"user","content":"Hello!"}],"reasoning_effort":"low"}},"Image Input":{"title":"Image Input","value":{"model":"gpt-6-astra","messages":[{"role":"user","content":[{"type":"text","text":"Describe the road and surrounding landscape in this image."},{"type":"image_url","image_url":{"url":"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=1200","detail":"high"}}]}],"reasoning_effort":"low","max_completion_tokens":4096}},"Streaming":{"title":"Streaming","value":{"model":"gpt-6-astra","messages":[{"role":"developer","content":"You are a helpful assistant."},{"role":"user","content":"Hello!"}],"reasoning_effort":"low","stream":true,"stream_options":{"include_usage":true}}},"Functions":{"title":"Functions","value":{"model":"gpt-6.1-sol","messages":[{"role":"user","content":"What is the weather in Boston, MA, in celsius? Use the weather tool."}],"reasoning_effort":"none","tools":[{"type":"function","function":{"name":"get_current_weather","description":"Get the current weather for a city.","parameters":{"type":"object","properties":{"location":{"type":"string","description":"City and state, for example Boston, MA."},"unit":{"type":"string","enum":["celsius","fahrenheit"],"description":"Temperature unit."}},"required":["location","unit"],"additionalProperties":false},"strict":true}}],"tool_choice":"auto"}},"Logprobs":{"title":"Logprobs","value":{"model":"gpt-4.1","messages":[{"role":"user","content":"Hello!"}],"logprobs":true,"top_logprobs":2}},"JSON Schema":{"title":"JSON Schema","value":{"model":"gpt-6-astra","messages":[{"role":"user","content":"What is the capital of France? Return the answer and your confidence as a number from 0 to 1."}],"reasoning_effort":"low","response_format":{"type":"json_schema","json_schema":{"name":"result","strict":true,"schema":{"type":"object","properties":{"answer":{"type":"string","description":"The answer to the question."},"confidence":{"type":"number","description":"Confidence between zero and one."}},"required":["answer","confidence"],"additionalProperties":false}}}}},"JSON Object":{"title":"JSON Object","value":{"model":"gpt-6-astra","messages":[{"role":"user","content":"Return a JSON object with the key answer and the capital of France as its value."}],"reasoning_effort":"low","response_format":{"type":"json_object"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"8275358b-800b-48a2-8865-3572dfc7e0f7":{"description":"Successful chat completion response.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Unique completion identifier.","example":"chatcmpl_example","uniqueKey":"id","typeLabel":"string"},"object":{"type":"string","enum":["chat.completion"],"example":"chat.completion","description":"Object type. Non-streaming responses use `chat.completion`.","uniqueKey":"object","typeLabel":"enum\u003cstring>"},"created":{"type":"integer","description":"Unix timestamp of creation.","example":1788763703,"uniqueKey":"created","typeLabel":"integer"},"model":{"type":"string","description":"The model used (may include version suffix).","example":"gpt-6-astra","uniqueKey":"model","typeLabel":"string"},"choices":{"type":"array","description":"Array of completion choices.","items":{"type":"object","properties":{"index":{"type":"integer","description":"Index of this choice in the `choices` array.","uniqueKey":"choices.items.[INDEX].index","typeLabel":"integer"},"message":{"type":"object","properties":{"role":{"type":"string","enum":["assistant"],"description":"Role of the generated message, `assistant`.","uniqueKey":"choices.items.[INDEX].message.role","typeLabel":"enum\u003cstring>"},"content":{"oneOf":[{"type":"string","description":"The generated text. null when the model calls tools.","uniqueKey":"choices.items.[INDEX].message.content.oneOf.0","typeLabel":"string"},{"type":"null","description":"The generated text. null when the model calls tools.","uniqueKey":"choices.items.[INDEX].message.content.oneOf.1","typeLabel":"null"}],"uniqueKey":"choices.items.[INDEX].message.content","typeLabel":"string | null"},"refusal":{"oneOf":[{"type":"string","description":"Refusal message if the model refused.","uniqueKey":"choices.items.[INDEX].message.refusal.oneOf.0","typeLabel":"string"},{"type":"null","description":"Refusal message if the model refused.","uniqueKey":"choices.items.[INDEX].message.refusal.oneOf.1","typeLabel":"null"}],"uniqueKey":"choices.items.[INDEX].message.refusal","typeLabel":"string | null"},"tool_calls":{"type":"array","description":"Tool calls the model wants to make.","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the tool call. Send it back as `tool_call_id` with the tool result message.","uniqueKey":"choices.items.[INDEX].message.tool_calls.items.[INDEX].id","typeLabel":"string"},"type":{"type":"string","enum":["function"],"description":"Tool call type, `function`.","uniqueKey":"choices.items.[INDEX].message.tool_calls.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"function":{"type":"object","properties":{"name":{"type":"string","description":"Name of the function to call.","uniqueKey":"choices.items.[INDEX].message.tool_calls.items.[INDEX].function.name","typeLabel":"string"},"arguments":{"type":"string","description":"Function arguments as a JSON-encoded string. Parse before use; the model can produce invalid JSON.","uniqueKey":"choices.items.[INDEX].message.tool_calls.items.[INDEX].function.arguments","typeLabel":"string"}},"description":"The function the model wants to call.","uniqueKey":"choices.items.[INDEX].message.tool_calls.items.[INDEX].function","typeLabel":"object"}},"uniqueKey":"choices.items.[INDEX].message.tool_calls.items.[INDEX]","typeLabel":"object"},"uniqueKey":"choices.items.[INDEX].message.tool_calls","typeLabel":"object[]"},"annotations":{"type":"array","items":{"type":"object","uniqueKey":"choices.items.[INDEX].message.annotations.items.[INDEX]","typeLabel":"object"},"description":"Annotations attached to the message content, such as URL citations, when returned.","uniqueKey":"choices.items.[INDEX].message.annotations","typeLabel":"object[]"}},"description":"The assistant message generated by the model.","uniqueKey":"choices.items.[INDEX].message","typeLabel":"object"},"logprobs":{"oneOf":[{"type":"object","description":"Log probability details when the request sets `logprobs`; otherwise `null`.","uniqueKey":"choices.items.[INDEX].logprobs.oneOf.0","typeLabel":"object"},{"type":"null","description":"Log probability details when the request sets `logprobs`; otherwise `null`.","uniqueKey":"choices.items.[INDEX].logprobs.oneOf.1","typeLabel":"null"}],"uniqueKey":"choices.items.[INDEX].logprobs","typeLabel":"object | null"},"finish_reason":{"type":"string","enum":["stop","length","tool_calls","content_filter"],"description":"Why generation stopped: `stop`, `length`, `tool_calls`, or `content_filter`.","uniqueKey":"choices.items.[INDEX].finish_reason","typeLabel":"enum\u003cstring>"}},"uniqueKey":"choices.items.[INDEX]","typeLabel":"object"},"uniqueKey":"choices","typeLabel":"object[]"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"integer","example":18,"description":"Tokens in the input messages.","uniqueKey":"usage.prompt_tokens","typeLabel":"integer"},"completion_tokens":{"type":"integer","example":12,"description":"Tokens generated in the completion, including reasoning tokens for reasoning models.","uniqueKey":"usage.completion_tokens","typeLabel":"integer"},"total_tokens":{"type":"integer","example":30,"description":"Sum of prompt and completion tokens.","uniqueKey":"usage.total_tokens","typeLabel":"integer"},"prompt_tokens_details":{"type":"object","properties":{"cached_tokens":{"type":"integer","example":0,"description":"Prompt tokens served from the prompt cache.","uniqueKey":"usage.prompt_tokens_details.cached_tokens","typeLabel":"integer"},"audio_tokens":{"type":"integer","example":0,"description":"Prompt tokens that came from audio input.","uniqueKey":"usage.prompt_tokens_details.audio_tokens","typeLabel":"integer"}},"description":"Breakdown of prompt token sources.","uniqueKey":"usage.prompt_tokens_details","typeLabel":"object"},"completion_tokens_details":{"type":"object","properties":{"reasoning_tokens":{"type":"integer","example":0,"description":"Tokens the model spent on internal reasoning. Billed as output tokens.","uniqueKey":"usage.completion_tokens_details.reasoning_tokens","typeLabel":"integer"},"audio_tokens":{"type":"integer","example":0,"description":"Completion tokens used for audio output.","uniqueKey":"usage.completion_tokens_details.audio_tokens","typeLabel":"integer"},"accepted_prediction_tokens":{"type":"integer","example":0,"description":"Predicted-output tokens that matched the final output and were accepted.","uniqueKey":"usage.completion_tokens_details.accepted_prediction_tokens","typeLabel":"integer"},"rejected_prediction_tokens":{"type":"integer","example":0,"description":"Predicted-output tokens that did not match the final output and were discarded.","uniqueKey":"usage.completion_tokens_details.rejected_prediction_tokens","typeLabel":"integer"}},"description":"Breakdown of completion token usage.","uniqueKey":"usage.completion_tokens_details","typeLabel":"object"}},"description":"Token accounting for this request. Billing uses these counts.","uniqueKey":"usage","typeLabel":"object"},"service_tier":{"type":"string","description":"Service tier that processed the request, when returned.","uniqueKey":"service_tier","typeLabel":"string"},"system_fingerprint":{"oneOf":[{"type":"string","description":"Model configuration fingerprint, when returned.","uniqueKey":"system_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","description":"Model configuration fingerprint, when returned.","uniqueKey":"system_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_fingerprint","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"choices":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"Hi! How can I help you today?","refusal":null,"role":"assistant"}}],"created":1788763703,"id":"chatcmpl_example","model":"gpt-6-astra","object":"chat.completion","usage":{"completion_tokens":12,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":18,"prompt_tokens_details":{"audio_tokens":0,"cache_write_tokens":0,"cached_tokens":0},"total_tokens":30}},"examples":{"Example":{"title":"Example","value":{"choices":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"Hi! How can I help you today?","refusal":null,"role":"assistant"}}],"created":1788763703,"id":"chatcmpl_example","model":"gpt-6-astra","object":"chat.completion","usage":{"completion_tokens":12,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":18,"prompt_tokens_details":{"audio_tokens":0,"cache_write_tokens":0,"cached_tokens":0},"total_tokens":30}}}},"exampleType":"examples"}},"exampleType":"examples"},"5717f04b-e5b9-4d94-b527-3ed650275432":{"description":"Request validation failed before the request could be processed normally.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","description":"Human-readable error message. It often includes a request id.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"CometAPI error type, such as `comet_api_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"Related parameter when the platform provides one.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"Related parameter when the platform provides one.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Error code. Request-shape errors may use `invalid_request`.","uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Error code. Request-shape errors may use `invalid_request`.","uniqueKey":"error.code.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.code","typeLabel":"string | null"}},"description":"Error envelope returned for failed requests.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"","message":"model name is required (request id: \u003crequest_id>)","type":"comet_api_error"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"","message":"model name is required (request id: \u003crequest_id>)","type":"comet_api_error"}}}},"exampleType":"examples"}},"exampleType":"examples"},"2229efd2-748b-4e4a-8132-4105d55eb0c2":{"description":"API key is missing, malformed, or invalid.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","description":"Human-readable error message. It often includes a request id.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"CometAPI error type, such as `comet_api_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"Related parameter when the platform provides one.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"Related parameter when the platform provides one.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Error code. Request-shape errors may use `invalid_request`.","uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Error code. Request-shape errors may use `invalid_request`.","uniqueKey":"error.code.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.code","typeLabel":"string | null"}},"description":"Error envelope returned for failed requests.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"","message":"invalid token (request id: \u003crequest_id>)","type":"comet_api_error"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"","message":"invalid token (request id: \u003crequest_id>)","type":"comet_api_error"}}}},"exampleType":"examples"}},"exampleType":"examples"},"854825f7-95d8-4978-8d31-b7742ba38738":{"description":"Internal failure or a request-shape error surfaced as a server-status response.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","description":"Human-readable error message. It often includes a request id.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"CometAPI error type, such as `comet_api_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"Related parameter when the platform provides one.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"Related parameter when the platform provides one.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Error code. Request-shape errors may use `invalid_request`.","uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Error code. Request-shape errors may use `invalid_request`.","uniqueKey":"error.code.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.code","typeLabel":"string | null"}},"description":"Error envelope returned for failed requests.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"field messages is required (request id: \u003crequest_id>)","type":"comet_api_error","param":"","code":"invalid_request"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"field messages is required (request id: \u003crequest_id>)","type":"comet_api_error","param":"","code":"invalid_request"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"40885906-3e68-4ac9-9fb7-c01418bce9b3":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Bearer token authentication. Use your CometAPI key.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"3ffc095c-c8c9-4205-bfef-4fcd8fa65a44":{"url":"https://api.cometapi.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Bearer token authentication. Use your CometAPI key.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer token authentication. Use your CometAPI key.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api/openapi/text/post-chat.openapi.json"},"subdomain":"cometapi","siteName":"CometAPI Documentation","title":"채팅 완성 만들기 - CometAPI Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api/text/chat","matchLevel":1},"zh-Hans":{"href":"/zh-Hans/api/text/chat","matchLevel":1,"noindex":true},"zh-Hant":{"href":"/zh-Hant/api/text/chat","matchLevel":1,"noindex":true},"ja":{"href":"/ja/api/text/chat","matchLevel":1,"noindex":true},"ko":{"href":"/ko/api/text/chat","matchLevel":0},"fr":{"href":"/fr/api/text/chat","matchLevel":1,"noindex":true},"de":{"href":"/de/api/text/chat","matchLevel":1,"noindex":true},"es":{"href":"/es/api/text/chat","matchLevel":1,"noindex":true},"it":{"href":"/it/api/text/chat","matchLevel":1,"noindex":true},"pt":{"href":"/pt/api/text/chat","matchLevel":1,"noindex":true},"ru":{"href":"/ru/api/text/chat","matchLevel":1,"noindex":true},"ar":{"href":"/ar/api/text/chat","matchLevel":1,"noindex":true},"vi":{"href":"/vi/api/text/chat","matchLevel":1,"noindex":true},"id":{"href":"/id/api/text/chat","matchLevel":1,"noindex":true},"tr":{"href":"/tr/api/text/chat","matchLevel":1,"noindex":true},"pl":{"href":"/pl/api/text/chat","matchLevel":1,"noindex":true},"nl":{"href":"/nl/api/text/chat","matchLevel":1,"noindex":true},"no":{"href":"/no/api/text/chat","matchLevel":1,"noindex":true},"uk":{"href":"/uk/api/text/chat","matchLevel":1,"noindex":true}}},"lastModified":"2026-10-08T02:50:44.709Z","gitLastModified":"2026-10-08T02:48:38.000Z","originalFileLocation":"ko/api/text/chat.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 POST /v1/chat/completions를 사용하세요.\">\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 POST /v1/chat/completions를 사용하세요.\">\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/chat\">\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=%EC%B1%84%ED%8C%85+%EC%99%84%EC%84%B1+%EB%A7%8C%EB%93%A4%EA%B8%B0\u0026amp;description=%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%28Streaming%29%2C+%EA%B5%AC%EC%A1%B0%ED%99%94%EB%90%9C+%EC%B6%9C%EB%A0%A5+%EB%B0%8F+%EB%8F%84%EA%B5%AC+%ED%98%B8%EC%B6%9C%EC%9D%84+%EC%A7%80%EC%9B%90%ED%95%98%EB%8A%94+%EC%B1%84%ED%8C%85+%EB%AA%A8%EB%8D%B8%EC%97%90+%EC%97%AC%EB%9F%AC+%EB%A9%94%EC%8B%9C%EC%A7%80%EB%A1%9C+%EA%B5%AC%EC%84%B1%EB%90%9C+%EB%8C%80%ED%99%94%EB%A5%BC+%EC%A0%84%EC%86%A1%ED%95%98%EB%A0%A4%EB%A9%B4+CometAPI+POST+%2Fv1%2Fchat%2Fcompletions%EB%A5%BC+%EC%82%AC%EC%9A%A9%ED%95%98%EC%84%B8%EC%9A%94.\u0026amp;theme=8f4122d879437f2cf832428a\u0026amp;signature=166ec1b8f58d8cc68f2b861833288f5c8102acc4fc5decea78b58e8ec7d741f1\">\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 POST /v1/chat/completions를 사용하세요.\">\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=%EC%B1%84%ED%8C%85+%EC%99%84%EC%84%B1+%EB%A7%8C%EB%93%A4%EA%B8%B0\u0026amp;description=%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%28Streaming%29%2C+%EA%B5%AC%EC%A1%B0%ED%99%94%EB%90%9C+%EC%B6%9C%EB%A0%A5+%EB%B0%8F+%EB%8F%84%EA%B5%AC+%ED%98%B8%EC%B6%9C%EC%9D%84+%EC%A7%80%EC%9B%90%ED%95%98%EB%8A%94+%EC%B1%84%ED%8C%85+%EB%AA%A8%EB%8D%B8%EC%97%90+%EC%97%AC%EB%9F%AC+%EB%A9%94%EC%8B%9C%EC%A7%80%EB%A1%9C+%EA%B5%AC%EC%84%B1%EB%90%9C+%EB%8C%80%ED%99%94%EB%A5%BC+%EC%A0%84%EC%86%A1%ED%95%98%EB%A0%A4%EB%A9%B4+CometAPI+POST+%2Fv1%2Fchat%2Fcompletions%EB%A5%BC+%EC%82%AC%EC%9A%A9%ED%95%98%EC%84%B8%EC%9A%94.\u0026amp;theme=8f4122d879437f2cf832428a\u0026amp;signature=166ec1b8f58d8cc68f2b861833288f5c8102acc4fc5decea78b58e8ec7d741f1\">\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/chat\">\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/chat.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/chat"}]},{"language":"zh-Hans","pages":[{"title":"zh-Hans","href":"/zh-Hans/api/text/chat"}]},{"language":"zh-Hant","pages":[{"title":"zh-Hant","href":"/zh-Hant/api/text/chat"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/api/text/chat"}]},{"language":"ko","tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":"/ko"}]},{"tab":"API","groups":[{"group":"텍스트 모델","icon":"message","root":{"title":"텍스트 및 채팅 API","sidebarTitle":"텍스트 및 채팅 API","description":"요청 형식에 맞는 CometAPI 텍스트 및 채팅 API를 선택하세요: 채팅 완성, 응답, Anthropic 메시지 또는 Gemini 콘텐츠 생성.","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}","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/chat"}]},{"language":"de","pages":[{"title":"de","href":"/de/api/text/chat"}]},{"language":"es","pages":[{"title":"es","href":"/es/api/text/chat"}]},{"language":"it","pages":[{"title":"it","href":"/it/api/text/chat"}]},{"language":"pt","pages":[{"title":"pt","href":"/pt/api/text/chat"}]},{"language":"ru","pages":[{"title":"ru","href":"/ru/api/text/chat"}]},{"language":"ar","pages":[{"title":"ar","href":"/ar/api/text/chat"}]},{"language":"vi","pages":[{"title":"vi","href":"/vi/api/text/chat"}]},{"language":"id","pages":[{"title":"id","href":"/id/api/text/chat"}]},{"language":"tr","pages":[{"title":"tr","href":"/tr/api/text/chat"}]},{"language":"pl","pages":[{"title":"pl","href":"/pl/api/text/chat"}]},{"language":"nl","pages":[{"title":"nl","href":"/nl/api/text/chat"}]},{"language":"no","pages":[{"title":"no","href":"/no/api/text/chat"}]},{"language":"uk","pages":[{"title":"uk","href":"/uk/api/text/chat"}]}]},"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"]}