Send conversations through the OpenAI-compatible Chat Completions API. Configure your SDK with base_url="https://api.cometapi.com/v1" and your CometAPI API key.The basic, image, streaming, and structured-output examples use gpt-6-astra. The function-calling example uses gpt-6.1-sol, and the log-probability example uses gpt-4.1.
To receive incremental output, set stream to true. The response is delivered as Server-Sent Events (SSE). Text arrives in chat.completion.chunk objects; this abbreviated example includes the final usage 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]
To include token usage statistics in streaming responses, set stream_options.include_usage to true. The usage data appears in a final chunk before [DONE]. Chunks can have an empty choices array; check it before accessing 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 mode specifies the required structure. JSON Object mode requests valid JSON without enforcing your schema. Check for a refusal or a length-limited response before consuming the result.
{ "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"}
A function call returns finish_reason: "tool_calls" and a message.tool_calls array. Parse the function’s JSON-encoded arguments, execute your function, then append the assistant message and a tool result message with its matching tool_call_id.
Use reasoning_effort and max_completion_tokens with GPT-6 Astra. The Functions and Logprobs examples show the request options for gpt-6.1-sol and gpt-4.1, respectively.For Claude- or Gemini-specific request formats, see Anthropic Messages and Gemini Generate content.
max_tokens and max_completion_tokens
Use max_completion_tokens to limit generated tokens for the GPT-6 Astra examples. This includes reasoning and visible output, so allow room for both. max_tokens is a legacy parameter.
Instruction roles
Use developer for application instructions in the GPT-6 Astra examples. Keep end-user content in user messages and preserve previous assistant replies when continuing a conversation.
Include the full conversation history in the messages array:
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.4064","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":"api/text/chat","slug":"/api/text/chat","pageMetadata":{"title":"Create a chat completion","sidebarTitle":"Create a chat completion","openapi":"api/openapi/text/post-chat.openapi.json POST /v1/chat/completions","description":"Use CometAPI POST /v1/chat/completions to send multi-message conversations to chat models with streaming, structured output, and tool calling.","keywords":["CometAPI","chat completions","/v1/chat/completions","llm conversation api","streaming sse","gpt chat completion","max_completion_tokens","openai-compatible chat api"],"href":"/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: \"Use CometAPI POST /v1/chat/completions to send multi-message conversations to chat models with streaming, structured output, and tool calling.\"\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:[`Send conversations through the OpenAI-compatible Chat Completions API. Configure your SDK with `,_jsx(_components.code,{children:`base_url=\"https://api.cometapi.com/v1\"`}),` and your CometAPI API key.`]}),`\n`,_jsxs(_components.p,{children:[`The basic, image, streaming, and structured-output examples use `,_jsx(_components.code,{children:`gpt-6-astra`}),`. The function-calling example uses `,_jsx(_components.code,{children:`gpt-6.1-sol`}),`, and the log-probability example uses `,_jsx(_components.code,{children:`gpt-4.1`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Use the `,_jsx(_components.a,{href:`https://developers.openai.com/api/reference/typescript/resources/chat/subresources/completions/methods/create`,children:`OpenAI Chat Completions reference`}),` for parameter definitions. For GPT-6 Astra tool calling, use `,_jsx(_components.a,{href:`/api/text/responses`,children:`Responses`}),`, following the `,_jsx(_components.a,{href:`https://developers.openai.com/api/docs/guides/latest-model`,children:`OpenAI model guidance`}),`.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`message-roles`,children:`Message roles`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Role`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`system`})}),_jsx(_components.td,{children:`Sets the assistant’s behavior and personality. Placed at the start of the conversation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`developer`})}),_jsx(_components.td,{children:`Provides application instructions. The GPT-6 Astra examples use this role.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`user`})}),_jsx(_components.td,{children:`Messages from the end user.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`assistant`})}),_jsx(_components.td,{children:`Previous model responses, used to maintain conversation history.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tool`})}),_jsxs(_components.td,{children:[`Results from tool/function calls. Must include `,_jsx(_components.code,{children:`tool_call_id`}),` matching the original tool call.`]})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Place application instructions in a `,_jsx(_components.code,{children:`developer`}),` message before user messages when using the GPT-6 Astra examples.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`send-multimodal-input`,children:`Send multimodal input`}),`\n`,_jsx(_components.p,{children:`Use an array of content parts to send an image with text:`}),`\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:[`Use `,_jsx(_components.code,{children:`image_url.detail`}),` to select image processing detail. This example uses `,_jsx(_components.code,{children:`high`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`stream-responses`,children:`Stream responses`}),`\n`,_jsxs(_components.p,{children:[`To receive incremental output, set `,_jsx(_components.code,{children:`stream`}),` to `,_jsx(_components.code,{children:`true`}),`. The response is delivered as `,_jsx(_components.strong,{children:`Server-Sent Events (SSE)`}),`. Text arrives in `,_jsx(_components.code,{children:`chat.completion.chunk`}),` objects; this abbreviated example includes the final usage 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:[`To include token usage statistics in streaming responses, set `,_jsx(_components.code,{children:`stream_options.include_usage`}),` to `,_jsx(_components.code,{children:`true`}),`. The usage data appears in a final chunk before `,_jsx(_components.code,{children:`[DONE]`}),`. Chunks can have an empty `,_jsx(_components.code,{children:`choices`}),` array; check it before accessing `,_jsx(_components.code,{children:`choices[0]`}),`.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`request-structured-output`,children:`Request structured output`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`response_format`}),` to request structured output:`]}),`\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 mode specifies the required structure. JSON Object mode requests valid JSON without enforcing your schema. Check for a refusal or a length-limited response before consuming the result.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`call-tools-and-functions`,children:`Call tools and functions`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`gpt-6.1-sol`}),` with a function definition:`]}),`\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:[`A function call returns `,_jsx(_components.code,{children:`finish_reason: \"tool_calls\"`}),` and a `,_jsx(_components.code,{children:`message.tool_calls`}),` array. Parse the function’s JSON-encoded `,_jsx(_components.code,{children:`arguments`}),`, execute your function, then append the assistant message and a `,_jsx(_components.code,{children:`tool`}),` result message with its matching `,_jsx(_components.code,{children:`tool_call_id`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`choose-request-parameters`,children:`Choose request parameters`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Model-specific parameters`,id:`model-specific-parameters`,children:[_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`reasoning_effort`}),` and `,_jsx(_components.code,{children:`max_completion_tokens`}),` with GPT-6 Astra. The Functions and Logprobs examples show the request options for `,_jsx(_components.code,{children:`gpt-6.1-sol`}),` and `,_jsx(_components.code,{children:`gpt-4.1`}),`, respectively.`]}),_jsxs(_components.p,{children:[`For Claude- or Gemini-specific request formats, see `,_jsx(_components.a,{href:`/api/text/anthropic-messages`,children:`Anthropic Messages`}),` and `,_jsx(_components.a,{href:`/api/text/gemini-generating-content`,children:`Gemini Generate content`}),`.`]})]}),_jsx(Accordion,{title:`max_tokens and max_completion_tokens`,id:`max-tokens-and-max-completion-tokens`,children:_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`max_completion_tokens`}),` to limit generated tokens for the GPT-6 Astra examples. This includes reasoning and visible output, so allow room for both. `,_jsx(_components.code,{children:`max_tokens`}),` is a legacy parameter.`]})}),_jsx(Accordion,{title:`Instruction roles`,id:`instruction-roles`,children:_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`developer`}),` for application instructions in the GPT-6 Astra examples. Keep end-user content in `,_jsx(_components.code,{children:`user`}),` messages and preserve previous assistant replies when continuing a conversation.`]})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsx(Heading,{level:`3`,id:`how-to-handle-rate-limits`,children:`How to handle rate limits?`}),`\n`,_jsxs(_components.p,{children:[`When encountering `,_jsx(_components.code,{children:`429 Too Many Requests`}),`, implement exponential backoff:`]}),`\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:`how-to-maintain-conversation-context`,children:`How to maintain conversation context?`}),`\n`,_jsxs(_components.p,{children:[`Include the full conversation history in the `,_jsx(_components.code,{children:`messages`}),` array:`]}),`\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:`what-does-finish_reason-mean`,children:[`What does `,_jsx(_components.code,{children:`finish_reason`}),` mean?`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`stop`})}),_jsx(_components.td,{children:`Natural completion or hit a stop sequence.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`length`})}),_jsxs(_components.td,{children:[`Reached `,_jsx(_components.code,{children:`max_tokens`}),` or `,_jsx(_components.code,{children:`max_completion_tokens`}),` limit.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tool_calls`})}),_jsx(_components.td,{children:`The model invoked one or more tool/function calls.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`content_filter`})}),_jsx(_components.td,{children:`Output was filtered due to content policy.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`how-to-control-costs`,children:`How to control costs?`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`max_completion_tokens`}),` to cap output length.`]}),`\n`,_jsx(_components.li,{children:`Compare model pricing and choose a model that meets your workload requirements.`}),`\n`,_jsx(_components.li,{children:`Keep prompts concise — avoid redundant context.`}),`\n`,_jsxs(_components.li,{children:[`Monitor token usage in the `,_jsx(_components.code,{children:`usage`}),` response field.`]}),`\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":"Create a chat completion","sidebarTitle":"Create a chat completion","openapi":"api/openapi/text/post-chat.openapi.json POST /v1/chat/completions","description":"Use CometAPI POST /v1/chat/completions to send multi-message conversations to chat models with streaming, structured output, and tool calling.","keywords":["CometAPI","chat completions","/v1/chat/completions","llm conversation api","streaming sse","gpt chat completion","max_completion_tokens","openai-compatible chat api"],"href":"/api/text/chat"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Message roles","slug":"message-roles","depth":2,"children":[]},{"title":"Send multimodal input","slug":"send-multimodal-input","depth":2,"children":[]},{"title":"Stream responses","slug":"stream-responses","depth":2,"children":[]},{"title":"Request structured output","slug":"request-structured-output","depth":2,"children":[]},{"title":"Call tools and functions","slug":"call-tools-and-functions","depth":2,"children":[]},{"title":"Choose request parameters","slug":"choose-request-parameters","depth":2,"children":[]},{"title":"FAQ","slug":"faq","depth":2,"children":[{"title":"How to handle rate limits?","slug":"how-to-handle-rate-limits","depth":3,"children":[]},{"title":"How to maintain conversation context?","slug":"how-to-maintain-conversation-context","depth":3,"children":[]},{"title":"What does finish_reason mean?","slug":"what-does-finish_reason-mean","depth":3,"children":[]},{"title":"How to control costs?","slug":"how-to-control-costs","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cometapi/430a303ac1007180/analytics.js"],"openApiReferenceData":{"operation":{"summary":"Chat Completions","description":"Use CometAPI POST /v1/chat/completions to send multi-message conversations to chat models with streaming, structured output, and tool calling.","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":"Create a chat completion - CometAPI Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api/text/chat","matchLevel":0},"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":1,"noindex":true},"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:48.466Z","gitLastModified":"2026-10-08T02:48:38.000Z","originalFileLocation":"api/text/chat.mdx","locale":"en"},"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=\"Use CometAPI POST /v1/chat/completions to send multi-message conversations to chat models with streaming, structured output, and tool calling.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CometAPI Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\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=\"Create a chat completion - CometAPI Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use CometAPI POST /v1/chat/completions to send multi-message conversations to chat models with streaming, structured output, and tool calling.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CometAPI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://apidoc.cometapi.com/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=Text+Models\u0026amp;title=Create+a+chat+completion\u0026amp;description=Use+CometAPI+POST+%2Fv1%2Fchat%2Fcompletions+to+send+multi-message+conversations+to+chat+models+with+streaming%2C+structured+output%2C+and+tool+calling.\u0026amp;theme=8f4122d879437f2cf832428a\u0026amp;signature=84864e9b6de3c7124b92098145f65c1aeaeb72c69464b0e85fa565e0605dee4a\">\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=\"Create a chat completion - CometAPI Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use CometAPI POST /v1/chat/completions to send multi-message conversations to chat models with streaming, structured output, and tool calling.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cometapi.mintlify.app/_mintlify/api/og/v2?division=Text+Models\u0026amp;title=Create+a+chat+completion\u0026amp;description=Use+CometAPI+POST+%2Fv1%2Fchat%2Fcompletions+to+send+multi-message+conversations+to+chat+models+with+streaming%2C+structured+output%2C+and+tool+calling.\u0026amp;theme=8f4122d879437f2cf832428a\u0026amp;signature=84864e9b6de3c7124b92098145f65c1aeaeb72c69464b0e85fa565e0605dee4a\">\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/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=\"/api/text/chat.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://apidoc.cometapi.com/#organization\",\"name\":\"CometAPI Documentation\",\"url\":\"https://apidoc.cometapi.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet-light.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=7ae2fde0df7785d111912bce23157ef2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://apidoc.cometapi.com#website\",\"name\":\"CometAPI Documentation\",\"url\":\"https://apidoc.cometapi.com\",\"publisher\":{\"@id\":\"https://apidoc.cometapi.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://apidoc.cometapi.com/api/text/chat#webpage\",\"url\":\"https://apidoc.cometapi.com/api/text/chat\",\"name\":\"Create a chat completion\",\"description\":\"Use CometAPI POST /v1/chat/completions to send multi-message conversations to chat models with streaming, structured output, and tool calling.\",\"dateModified\":\"2026-10-08T02:48:38.000Z\",\"isPartOf\":{\"@id\":\"https://apidoc.cometapi.com#website\"},\"breadcrumb\":{\"@id\":\"https://apidoc.cometapi.com/api/text/chat#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://apidoc.cometapi.com/api/text/chat#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Text Models\",\"item\":\"https://apidoc.cometapi.com/api/text/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a chat completion\",\"item\":\"https://apidoc.cometapi.com/api/text/chat\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://apidoc.cometapi.com/api/text/chat#apireference\",\"headline\":\"Create a chat completion\",\"name\":\"Create a chat completion\",\"description\":\"Use CometAPI POST /v1/chat/completions to send multi-message conversations to chat models with streaming, structured output, and tool calling.\",\"url\":\"https://apidoc.cometapi.com/api/text/chat\",\"mainEntityOfPage\":{\"@id\":\"https://apidoc.cometapi.com/api/text/chat#webpage\"},\"dateModified\":\"2026-10-08T02:48:38.000Z\",\"keywords\":\"CometAPI, chat completions, /v1/chat/completions, llm conversation api, streaming sse, gpt chat completion, max_completion_tokens, openai-compatible chat api\",\"publisher\":{\"@id\":\"https://apidoc.cometapi.com/#organization\"},\"isPartOf\":{\"@id\":\"https://apidoc.cometapi.com#website\"}}]}\u003c/script>\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","tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":""}]},{"tab":"API","groups":[{"group":"Text Models","icon":"message","root":{"title":"Text and chat APIs","sidebarTitle":"Text and chat APIs","description":"Choose the CometAPI text and chat API that fits your request format: Chat Completions, Responses, Anthropic Messages, or Gemini content generation.","href":"/api/text"},"expanded":false,"pages":[{"title":"Create a chat completion","sidebarTitle":"Create a chat completion","openapi":"api/openapi/text/post-chat.openapi.json POST /v1/chat/completions","href":"/api/text/chat"},{"title":"Create a model response","sidebarTitle":"Create a model response","openapi":"api/openapi/text/post-responses.openapi.json POST /v1/responses","description":"Use CometAPI POST /v1/responses to create multimodal model responses and conversation history with built-in tools and function calling.","href":"/api/text/responses"},{"title":"Create a Message","sidebarTitle":"Create a Message","openapi":"api/openapi/text/post-anthropic-messages.openapi.json POST /v1/messages","href":"/api/text/anthropic-messages"},{"title":"Generate content","sidebarTitle":"Generate content","openapi":"api/openapi/text/post-gemini-generating-content.openapi.json POST /v1beta/models/{model}:{operator}","href":"/api/text/gemini-generating-content"}]},{"group":"Image Models","icon":"image","root":{"title":"Image generation and editing APIs","sidebarTitle":"Image Models","href":"/api/image/index"},"expanded":false,"pages":[{"group":"OpenAI","pages":[{"title":"Create an image","sidebarTitle":"Create an image","openapi":"api/openapi/image/openai/post-images.openapi.json POST /v1/images/generations","href":"/api/image/openai/images"},{"title":"Retrieve an image generation task","sidebarTitle":"Retrieve image task","openapi":"api/openapi/image/openai/get-image-generation-task.openapi.json GET /v1/images/generations/{task_id}","href":"/api/image/openai/image-generation-task"},{"title":"Create image edit","sidebarTitle":"Create image edit","openapi":"api/openapi/image/openai/post-image-editing.openapi.json POST /v1/images/edits","href":"/api/image/openai/image-editing"}]},{"group":"Gemini","pages":[{"title":"Generate images with Gemini","sidebarTitle":"Generate images with Gemini","openapi":"api/openapi/image/gemini/post-gemini-generates-image.openapi.json POST /v1beta/models/{model}:generateContent","href":"/api/image/gemini/gemini-generates-image"},{"title":"Use Gemini image models","sidebarTitle":"Use Gemini image models","href":"/api/image/gemini/generate-image-guide"}]},{"group":"Grok","pages":[{"title":"Generate images with Grok","sidebarTitle":"Generate images","openapi":"api/openapi/image/grok/post-image-generation.openapi.json POST /v1/images/generations","href":"/api/image/grok/image-generation"},{"title":"Edit images with Grok","sidebarTitle":"Edit images","openapi":"api/openapi/image/grok/post-image-editing.openapi.json POST /v1/images/edits","href":"/api/image/grok/image-editing"}]},{"group":"Kling","pages":[{"title":"Generate images with Kling","sidebarTitle":"Generate images with Kling","openapi":"api/openapi/image/kling/post-image-generation.openapi.json POST /kling/v1/images/generations","href":"/api/image/kling/image-generation"},{"title":"Generate a Kling image from multiple images","sidebarTitle":"Generate a Kling image from multiple images","openapi":"api/openapi/image/kling/post-multi-image-to-image.openapi.json POST /kling/v1/images/multi-image2image","href":"/api/image/kling/multi-image-to-image"},{"title":"Expand an image with Kling","sidebarTitle":"Expand an image with Kling","openapi":"api/openapi/image/kling/post-image-expansion.openapi.json POST /kling/v1/images/editing/expand","href":"/api/image/kling/image-expansion"},{"title":"Create a Kling Omni image task","sidebarTitle":"Create a Kling Omni image task","openapi":"api/openapi/image/kling/post-omni-image.openapi.json POST /kling/v1/images/omni-image","href":"/api/image/kling/omni-image"},{"title":"Get a Kling Omni image task","sidebarTitle":"Get a Kling Omni image task","openapi":"api/openapi/image/kling/get-omni-image.openapi.json GET /kling/v1/images/omni-image/{task_id}","href":"/api/image/kling/omni-image-query"}]},{"group":"Midjourney","pages":[{"title":"Start with Midjourney API","sidebarTitle":"Start with Midjourney API","href":"/api/image/midjourney/midjourney-api-quick-start"},{"group":"Task fetching","pages":[{"title":"List Midjourney tasks","sidebarTitle":"List Midjourney tasks","openapi":"api/openapi/image/midjourney/task-fetching-api/post-list-by-condition.openapi.json POST /mj/task/list-by-condition","href":"/api/image/midjourney/task-fetching-api/list-by-condition"},{"title":"Fetch a Midjourney task","sidebarTitle":"Fetch a Midjourney task","openapi":"api/openapi/image/midjourney/task-fetching-api/get-fetch-single-task.openapi.json GET /mj/task/{id}/fetch","href":"/api/image/midjourney/task-fetching-api/fetch-single-task"}]},{"title":"Create a Midjourney imagine task","sidebarTitle":"Create a Midjourney imagine task","openapi":"api/openapi/image/midjourney/post-imagine.openapi.json POST /mj/submit/imagine","href":"/api/image/midjourney/imagine"},{"title":"Create a Midjourney video task","sidebarTitle":"Create a Midjourney video task","openapi":"api/openapi/image/midjourney/post-submit-video.openapi.json POST /mj/submit/video","href":"/api/image/midjourney/submit-video"},{"title":"Create a Midjourney editor task","sidebarTitle":"Create a Midjourney editor task","openapi":"api/openapi/image/midjourney/post-submit-editor.openapi.json POST /mj/submit/edits","href":"/api/image/midjourney/submit-editor"},{"title":"Create a Midjourney action task","sidebarTitle":"Create a Midjourney action task","openapi":"api/openapi/image/midjourney/post-action.openapi.json POST /mj/submit/action","href":"/api/image/midjourney/action"},{"title":"Create a Midjourney blend task","sidebarTitle":"Create a Midjourney blend task","openapi":"api/openapi/image/midjourney/post-blend.openapi.json POST /mj/submit/blend","href":"/api/image/midjourney/blend"},{"title":"Describe an image with Midjourney","sidebarTitle":"Describe an image with Midjourney","openapi":"api/openapi/image/midjourney/post-describe.openapi.json POST /mj/submit/describe","href":"/api/image/midjourney/describe"},{"title":"Create a Midjourney modal task","sidebarTitle":"Create a Midjourney modal task","openapi":"api/openapi/image/midjourney/post-modal.openapi.json POST /mj/submit/modal","href":"/api/image/midjourney/modal"}]},{"group":"Replicate","pages":[{"title":"Create a Replicate prediction","sidebarTitle":"Create a Replicate prediction","openapi":"api/openapi/image/replicate/post-create-predictions-general.openapi.json POST /replicate/v1/models/{models}/predictions","href":"/api/image/replicate/create-predictions-general"},{"title":"Get a Replicate prediction","sidebarTitle":"Get a Replicate prediction","openapi":"api/openapi/image/replicate/get-replicate-query.openapi.json GET /replicate/v1/predictions/{id}","href":"/api/image/replicate/replicate-query"}]},{"group":"Seedream","pages":[{"title":"Create a Seedream image task","sidebarTitle":"Create image task","openapi":"api/openapi/image/seededit-seedream/post-bytedance-image-generation.openapi.json POST /v1/images/generations","href":"/api/image/seededit-seedream/bytedance-image-generation"},{"title":"Retrieve a Seedream image task","sidebarTitle":"Retrieve image task","openapi":"api/openapi/image/seededit-seedream/get-bytedance-image-generation-task.openapi.json GET /v1/images/generations/{task_id}","href":"/api/image/seededit-seedream/bytedance-image-generation-task"}]},{"group":"Flux","pages":[{"title":"Generate a FLUX image","sidebarTitle":"Generate a FLUX image","openapi":"api/openapi/image/flux/post-flux-generate-image.openapi.json POST /flux/v1/{model}","href":"/api/image/flux/flux-generate-image"},{"title":"Get a FLUX image result","sidebarTitle":"Get a FLUX image result","openapi":"api/openapi/image/flux/get-flux-query.openapi.json GET /flux/v1/get_result","href":"/api/image/flux/flux-query"}]}]},{"group":"Video Models","icon":"video","root":{"title":"Video generation APIs","sidebarTitle":"Video Models","href":"/api/video/index"},"expanded":false,"pages":[{"group":"Seedance","pages":[{"title":"Create a Seedance video","sidebarTitle":"Create a Seedance video","openapi":"api/openapi/video/seedance/post-seedance-create.openapi.json POST /v1/videos","href":"/api/video/seedance/create"},{"title":"Retrieve a Seedance video","sidebarTitle":"Retrieve a Seedance video","openapi":"api/openapi/video/seedance/get-seedance-query.openapi.json GET /v1/videos/{id}","href":"/api/video/seedance/query"}]},{"group":"HappyHorse","pages":[{"title":"Create a HappyHorse video","sidebarTitle":"Create a HappyHorse video","openapi":"api/openapi/video/happyhorse/post-create.openapi.json POST /v1/videos","href":"/api/video/happyhorse/create"},{"title":"Retrieve a HappyHorse video","sidebarTitle":"Retrieve a HappyHorse video","openapi":"api/openapi/video/happyhorse/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/happyhorse/retrieve"},{"title":"Download HappyHorse video content","sidebarTitle":"Download HappyHorse video content","openapi":"api/openapi/video/happyhorse/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/happyhorse/retrieve-content"}]},{"group":"MiniMax H3","pages":[{"title":"Create a MiniMax H3 video","sidebarTitle":"Create a MiniMax H3 video","openapi":"api/openapi/video/minimax-h3/post-create.openapi.json POST /v1/videos","href":"/api/video/minimax-h3/create"},{"title":"Retrieve a MiniMax H3 video","sidebarTitle":"Retrieve a MiniMax H3 video","openapi":"api/openapi/video/minimax-h3/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/minimax-h3/retrieve"},{"title":"Download MiniMax H3 video content","sidebarTitle":"Download MiniMax H3 video content","openapi":"api/openapi/video/minimax-h3/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/minimax-h3/retrieve-content"}]},{"group":"Flux 3","pages":[{"title":"Create a Flux 3 video","sidebarTitle":"Create a Flux 3 video","openapi":"api/openapi/video/flux-3/post-create.openapi.json POST /v1/videos","href":"/api/video/flux-3/create"},{"title":"Retrieve a Flux 3 video","sidebarTitle":"Retrieve a Flux 3 video","openapi":"api/openapi/video/flux-3/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/flux-3/retrieve"},{"title":"Download Flux 3 video content","sidebarTitle":"Download Flux 3 video content","openapi":"api/openapi/video/flux-3/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/flux-3/retrieve-content"}]},{"group":"Veo 3","pages":[{"title":"Create a Veo 3 video","sidebarTitle":"Create a Veo 3 video","openapi":"api/openapi/video/veo3/post-create.openapi.json POST /v1/videos","href":"/api/video/veo3/create"},{"title":"Retrieve a Veo 3 video","sidebarTitle":"Retrieve a Veo 3 video","openapi":"api/openapi/video/veo3/get-retrieve.openapi.json GET /v1/videos/{video_id}","href":"/api/video/veo3/retrieve"}]},{"group":"Wan","pages":[{"title":"Create a Wan video","sidebarTitle":"Create a Wan video","openapi":"api/openapi/video/wan/post-create.openapi.json POST /v1/videos","href":"/api/video/wan/create"},{"title":"Retrieve a Wan video","sidebarTitle":"Retrieve a Wan video","openapi":"api/openapi/video/wan/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/wan/retrieve"},{"title":"Download Wan video content","sidebarTitle":"Download Wan video content","openapi":"api/openapi/video/wan/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/wan/retrieve-content"}]},{"group":"xAI","pages":[{"title":"Create a video with Grok","sidebarTitle":"Create a Grok video","openapi":"api/openapi/video/xai/post-video-generation.openapi.json POST /grok/v1/videos/generations","href":"/api/video/xai/video-generation"},{"title":"Create an xAI video edit","sidebarTitle":"Create an xAI video edit","openapi":"api/openapi/video/xai/post-video-edit.openapi.json POST /grok/v1/videos/edits","href":"/api/video/xai/video-edit"},{"title":"Get xAI video results","sidebarTitle":"Get xAI video results","openapi":"api/openapi/video/xai/get-get-video-generation-results.openapi.json GET /grok/v1/videos/{request_id}","href":"/api/video/xai/get-video-generation-results"}]},{"group":"Vidu","pages":[{"title":"Create a Vidu video","sidebarTitle":"Create a Vidu video","openapi":"api/openapi/video/vidu/post-create.openapi.json POST /v1/videos","href":"/api/video/vidu/create"},{"title":"Retrieve a Vidu video","sidebarTitle":"Retrieve a Vidu video","openapi":"api/openapi/video/vidu/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/vidu/retrieve"},{"title":"Download Vidu video content","sidebarTitle":"Download Vidu video content","openapi":"api/openapi/video/vidu/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/vidu/retrieve-content"}]},{"group":"Omni","tag":"Beta","pages":[{"title":"Create an Omni video from text, image, or video","sidebarTitle":"Create an Omni video","openapi":"api/openapi/video/omni/post-create.openapi.json POST /v1/videos","href":"/api/video/omni/create"},{"title":"Retrieve an Omni video","sidebarTitle":"Retrieve an Omni video","openapi":"api/openapi/video/omni/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/omni/retrieve"},{"title":"Download Omni video content","sidebarTitle":"Download Omni video content","openapi":"api/openapi/video/omni/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/omni/retrieve-content"}]},{"group":"Kling","pages":[{"group":"Multimodal video editing","pages":[{"title":"Initialize a Kling editing session","sidebarTitle":"Initialize a Kling editing session","openapi":"api/openapi/video/kling/multimodal-video-editing/post-initialize-video-for-editing.openapi.json POST /kling/v1/videos/multi-elements/init-selection","href":"/api/video/kling/multimodal-video-editing/initialize-video-for-editing"},{"title":"Add Kling video selection","sidebarTitle":"Add Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-add-video-selection.openapi.json POST /kling/v1/videos/multi-elements/add-selection","href":"/api/video/kling/multimodal-video-editing/add-video-selection"},{"title":"Delete Kling video selection","sidebarTitle":"Delete Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-delete-video-selection.openapi.json POST /kling/v1/videos/multi-elements/delete-selection","href":"/api/video/kling/multimodal-video-editing/delete-video-selection"},{"title":"Clear Kling video selection","sidebarTitle":"Clear Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-clear-video-selection.openapi.json POST /kling/v1/videos/multi-elements/clear-selection","href":"/api/video/kling/multimodal-video-editing/clear-video-selection"},{"title":"Preview Kling video selection","sidebarTitle":"Preview Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-preview-selected-video-area.openapi.json POST /kling/v1/videos/multi-elements/preview-selection","href":"/api/video/kling/multimodal-video-editing/preview-selected-video-area"},{"title":"Create a Kling multimodal edit task","sidebarTitle":"Create a Kling multimodal edit task","openapi":"api/openapi/video/kling/multimodal-video-editing/post-create-task.openapi.json POST /kling/v1/videos/multi-elements","href":"/api/video/kling/multimodal-video-editing/create-task"}]},{"group":"Model routes","pages":[{"title":"Create a Kling text-to-video task by model","sidebarTitle":"Text to video","openapi":"api/openapi/video/kling/model-routes/post-text-to-video.openapi.json POST /text-to-video/{model}","href":"/api/video/kling/model-routes/text-to-video"},{"title":"Create a Kling image-to-video task by model","sidebarTitle":"Image to video","openapi":"api/openapi/video/kling/model-routes/post-image-to-video.openapi.json POST /image-to-video/{model}","href":"/api/video/kling/model-routes/image-to-video"},{"title":"Create a Kling Omni video","sidebarTitle":"Omni video","openapi":"api/openapi/video/kling/model-routes/post-omni-video.openapi.json POST /omni-video/{model}","href":"/api/video/kling/model-routes/omni-video"},{"title":"Create a Kling motion-control video","sidebarTitle":"Motion control","openapi":"api/openapi/video/kling/model-routes/post-motion-control.openapi.json POST /motion-control/{model}","href":"/api/video/kling/model-routes/motion-control"},{"title":"Get a Kling model-route task","sidebarTitle":"Get a Kling task","openapi":"api/openapi/video/kling/model-routes/get-tasks.openapi.json GET /tasks","href":"/api/video/kling/model-routes/tasks"}]},{"title":"Create a Kling text-to-video task","sidebarTitle":"Create a Kling text-to-video task","openapi":"api/openapi/video/kling/post-text-to-video.openapi.json POST /kling/v1/videos/text2video","href":"/api/video/kling/text-to-video"},{"title":"Create a Kling image-to-video task","sidebarTitle":"Create a Kling image-to-video task","openapi":"api/openapi/video/kling/post-image-to-video.openapi.json POST /kling/v1/videos/image2video","href":"/api/video/kling/image-to-video"},{"title":"Create a Kling Motion Control task","sidebarTitle":"Create a Kling Motion Control task","openapi":"api/openapi/video/kling/post-motion-control.openapi.json POST /kling/v1/videos/motion-control","href":"/api/video/kling/motion-control"},{"title":"Create a Kling multi-image video task","sidebarTitle":"Create a Kling multi-image video task","openapi":"api/openapi/video/kling/post-multi-image-to-video.openapi.json POST /kling/v1/videos/multi-image2video","href":"/api/video/kling/multi-image-to-video"},{"title":"Extend a Kling video","sidebarTitle":"Extend a Kling video","openapi":"api/openapi/video/kling/post-video-extension.openapi.json POST /kling/v1/videos/video-extend","href":"/api/video/kling/video-extension"},{"title":"Create Kling speech","sidebarTitle":"Create Kling speech","openapi":"api/openapi/video/kling/post-tts.openapi.json POST /kling/v1/audio/tts","href":"/api/video/kling/tts"},{"title":"Create a Kling avatar video","sidebarTitle":"Create a Kling avatar video","openapi":"api/openapi/video/kling/post-avatar.openapi.json POST /kling/v1/videos/avatar/image2video","href":"/api/video/kling/avatar"},{"title":"Identify faces for Kling lip-sync","sidebarTitle":"Identify faces for Kling lip-sync","openapi":"api/openapi/video/kling/post-lip-sync.openapi.json POST /kling/v1/videos/identify-face","href":"/api/video/kling/lip-sync"},{"title":"Create a Kling advanced lip-sync task","sidebarTitle":"Create a Kling advanced lip-sync task","openapi":"api/openapi/video/kling/post-counterpart-creating-tasks.openapi.json POST /kling/v1/videos/advanced-lip-sync","href":"/api/video/kling/counterpart-creating-tasks"},{"title":"Apply Kling video effects","sidebarTitle":"Apply Kling video effects","openapi":"api/openapi/video/kling/post-video-effects.openapi.json POST /kling/v1/videos/effects","href":"/api/video/kling/video-effects"},{"title":"Create Kling text-to-audio","sidebarTitle":"Create Kling text-to-audio","openapi":"api/openapi/video/kling/post-text-to-audio.openapi.json POST /kling/v1/audio/text-to-audio","href":"/api/video/kling/text-to-audio"},{"title":"Create Kling video-to-audio","sidebarTitle":"Create Kling video-to-audio","openapi":"api/openapi/video/kling/post-video-to-audio.openapi.json POST /kling/v1/audio/video-to-audio","href":"/api/video/kling/video-to-audio"},{"title":"Recognize images with Kling","sidebarTitle":"Recognize images with Kling","openapi":"api/openapi/video/kling/post-image-recognize.openapi.json POST /kling/v1/videos/image-recognize","href":"/api/video/kling/image-recognize"},{"title":"Get a Kling task","sidebarTitle":"Get a Kling task","openapi":"api/openapi/video/kling/get-individual-queries.openapi.json GET /kling/v1/{action}/{action2}/{task_id}","href":"/api/video/kling/individual-queries"},{"title":"Create a Kling Omni video","sidebarTitle":"Create a Kling Omni video","openapi":"api/openapi/video/kling/post-omni-video.openapi.json POST /kling/v1/videos/omni-video","href":"/api/video/kling/omni-video"},{"title":"Get a Kling Omni video","sidebarTitle":"Get a Kling Omni video","openapi":"api/openapi/video/kling/get-omni-query.openapi.json GET /kling/v1/videos/omni-video/{task_id}","href":"/api/video/kling/omni-query"},{"title":"Use Kling callback URLs","sidebarTitle":"Use Kling callback URLs","href":"/api/video/kling/callback_url"}]},{"group":"Runway","pages":[{"title":"Runway API overview","sidebarTitle":"Overview","href":"/api/video/runway/overview"},{"group":"Images","pages":[{"title":"Create a Runway image","sidebarTitle":"Create a Runway image","openapi":"api/openapi/video/runway/official-format/post-generate-an-image-from-text.openapi.json POST /runwayml/v1/text_to_image","href":"/api/video/runway/official-format/generate-an-image-from-text"}]},{"group":"Videos","pages":[{"title":"Create a Runway image-to-video task","sidebarTitle":"Create a Runway image-to-video task","openapi":"api/openapi/video/runway/official-format/post-runway-images-raw-video.openapi.json POST /runwayml/v1/image_to_video","href":"/api/video/runway/official-format/runway-images-raw-video"},{"title":"Create a Runway text-to-video task","sidebarTitle":"Create a Runway text-to-video task","openapi":"api/openapi/video/runway/official-format/post-generate-a-video-from-text.openapi.json POST /runwayml/v1/text_to_video","href":"/api/video/runway/official-format/generate-a-video-from-text"},{"title":"Create a Runway video-to-video task","sidebarTitle":"Create a Runway video-to-video task","openapi":"api/openapi/video/runway/official-format/post-generate-a-video-from-a-video.openapi.json POST /runwayml/v1/video_to_video","href":"/api/video/runway/official-format/generate-a-video-from-a-video"},{"title":"Create a Runway character performance","sidebarTitle":"Create a Runway character performance","openapi":"api/openapi/video/runway/official-format/post-control-a-character.openapi.json POST /runwayml/v1/character_performance","href":"/api/video/runway/official-format/control-a-character"},{"title":"Upscale a Runway video","sidebarTitle":"Upscale a Runway video","openapi":"api/openapi/video/runway/official-format/post-upscale-a-video.openapi.json POST /runwayml/v1/video_upscale","href":"/api/video/runway/official-format/upscale-a-video"}]},{"group":"Audio","pages":[{"title":"Generate Runway sound effects","sidebarTitle":"Generate Runway sound effects","openapi":"api/openapi/video/runway/official-format/post-generate-sound-effects.openapi.json POST /runwayml/v1/sound_effect","href":"/api/video/runway/official-format/generate-sound-effects"},{"title":"Generate Runway speech from text","sidebarTitle":"Generate Runway speech from text","openapi":"api/openapi/video/runway/official-format/post-generate-speech-from-text.openapi.json POST /runwayml/v1/text_to_speech","href":"/api/video/runway/official-format/generate-speech-from-text"},{"title":"Convert Runway speech","sidebarTitle":"Convert Runway speech","openapi":"api/openapi/video/runway/official-format/post-convert-speech.openapi.json POST /runwayml/v1/speech_to_speech","href":"/api/video/runway/official-format/convert-speech"},{"title":"Dub Runway audio","sidebarTitle":"Dub Runway audio","openapi":"api/openapi/video/runway/official-format/post-dub-audio.openapi.json POST /runwayml/v1/voice_dubbing","href":"/api/video/runway/official-format/dub-audio"},{"title":"Isolate a Runway voice","sidebarTitle":"Isolate a Runway voice","openapi":"api/openapi/video/runway/official-format/post-isolate-voice.openapi.json POST /runwayml/v1/voice_isolation","href":"/api/video/runway/official-format/isolate-voice"}]},{"group":"Tasks","pages":[{"title":"Get a Runway task","sidebarTitle":"Get a Runway task","openapi":"api/openapi/video/runway/official-format/get-runway-to-get-task-details.openapi.json GET /runwayml/v1/tasks/{id}","href":"/api/video/runway/official-format/runway-to-get-task-details"}]}]}]},{"group":"Audio Models","icon":"volume-high","root":{"title":"Audio APIs","sidebarTitle":"Audio Models","href":"/api/audio/index"},"expanded":false,"pages":[{"title":"Create speech","sidebarTitle":"Create speech","openapi":"api/openapi/audio/post-create-speech.openapi.json POST /v1/audio/speech","href":"/api/audio/create-speech"},{"title":"Create transcription","sidebarTitle":"Create transcription","openapi":"api/openapi/audio/post-create-transcription.openapi.json POST /v1/audio/transcriptions","href":"/api/audio/create-transcription"},{"title":"Create translation","sidebarTitle":"Create translation","openapi":"api/openapi/audio/post-create-translation.openapi.json POST /v1/audio/translations","href":"/api/audio/create-translation"}]},{"group":"Embeddings","icon":"database","root":{"title":"Embeddings API","sidebarTitle":"Embeddings","href":"/api/embeddings/index"},"expanded":false,"pages":[{"title":"Create embeddings","sidebarTitle":"Create embeddings","openapi":"api/openapi/text/post-embeddings.openapi.json POST /v1/embeddings","href":"/api/text/embeddings"}]},{"group":"Content moderation","icon":"shield-check","expanded":false,"pages":[{"title":"Create a moderation","sidebarTitle":"Create a moderation","openapi":"api/openapi/content-moderation/create-moderation.openapi.json POST /v1/moderations","href":"/api/content-moderation/create-moderation"}]},{"group":"API keys","icon":"key","expanded":false,"pages":[{"title":"Get current API key","sidebarTitle":"Get current API key","openapi":"api/openapi/api-keys/get-current-api-key.openapi.json GET /api/usage/token","href":"/api/api-keys/get-current-api-key"},{"title":"List API keys","sidebarTitle":"List API keys","openapi":"api/openapi/api-keys/list-api-keys.openapi.json GET /api/token/","href":"/api/api-keys/list-api-keys"},{"title":"Create an API key","sidebarTitle":"Create an API key","openapi":"api/openapi/api-keys/create-api-key.openapi.json POST /api/token/","href":"/api/api-keys/create-api-key"},{"title":"Retrieve an API key","sidebarTitle":"Retrieve an API key","openapi":"api/openapi/api-keys/get-api-key.openapi.json GET /api/token/{id}","href":"/api/api-keys/get-api-key"},{"title":"Delete an API key","sidebarTitle":"Delete an API key","openapi":"api/openapi/api-keys/delete-api-key.openapi.json DELETE /api/token/{id}","href":"/api/api-keys/delete-api-key"},{"title":"Update an API key","sidebarTitle":"Update an API key","openapi":"api/openapi/api-keys/update-api-key.openapi.json PUT /api/token/","href":"/api/api-keys/update-api-key"}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]}]},{"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","pages":[{"title":"ko","href":"/ko/api/text/chat"}]},{"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":"Create a chat completion - CometAPI Documentation","buildId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","deploymentId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-hfTk6MZX.js","utils-Bfp7HcY4.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D8dSW7yV.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CFgQXcZO.js","snippetPresets-dMW1-pV3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BsZAA8xk.js","ApiExamples-DyrCOido.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Bwwdcyh3.js","shallow-drVXTg79.js","getApiPlaygroundDisplay-GMPxUzWV.js","CodeSnippet-wTmV0wP6.js","CodeSnippets-D_QxCJEq.js","getPastedJson-Dev-X0Xy.js","icon-7L2WL0jD.js","MethodPill-Ble59Dl_.js","DuplicateIcon-r-98uLGh.js","createIcon-DaFzipjW.js","DynamicMarkdown-Jk8YAWGN.js","SectionHeading-nLgrCDOg.js","axios-vUo_bRtp.js","Markdown-_QGow1Wo.js","clsx-v8ssfMzu.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CjboTi0T.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DkAyo-p5.js"]}