The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.
POST
/
v1
/
chat
/
completions
General Chat API
curl --request POST \ --url https://api.poyo.ai/v1/chat/completions \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "gpt-5.2", "messages": [ { "role": "system", "content": "You are a structured output assistant. Reply with JSON only." }, { "role": "user", "content": "Generate a paginated list response example with fields items, page, page_size, total and sample values." } ]}'
import requests
url = "https://api.poyo.ai/v1/chat/completions"
payload = {
"model": "gpt-5.2",
"messages": [
{
"role": "system",
"content": "You are a structured output assistant. Reply with JSON only."
},
{
"role": "user",
"content": "Generate a paginated list response example with fields items, page, page_size, total and sample values."
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'gpt-5.2',
messages: [
{
role: 'system',
content: 'You are a structured output assistant. Reply with JSON only.'
},
{
role: 'user',
content: 'Generate a paginated list response example with fields items, page, page_size, total and sample values.'
}
]
})
};
fetch('https://api.poyo.ai/v1/chat/completions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
{ "model": "claude-sonnet-4-5-20250929", "messages": [ {"role": "system", "content": "You are a technical editor. Improve clarity of product copy."}, {"role": "user", "content": "Rewrite the button text 'Submission failed' to be friendly and actionable."} ]}
Non-streaming requests return the Chat Completions object directly, without a code / data wrapper. Reasoning models such as DeepSeek also return their reasoning text in choices[].message.reasoning_content, and count it in usage.completion_tokens_details.reasoning_tokens.
With "stream": true, the response is text/event-stream. Each event is a data: line with a chat.completion.chunk object, and the stream ends with data: [DONE]:
400: invalid parameters, or the model does not support Chat Completions (for example gpt-5-6-sol, which only supports Responses). The message lists the supported URIs.
404: unknown model id.
See Error Codes for example bodies, and LLM Models for which models support this format.
List of conversation messages. Each message contains a role and content. Use system to define model behavior, user for user input, and assistant for previous model responses in multi-turn conversations. Example: [{"role": "user", "content": "Explain vector databases in one sentence."}].
Controls output randomness, range 0-2. Lower values such as 0.2 make output more deterministic. Higher values such as 1.8 make output more random. Default: 1.0.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"PoYo AI","colors":{"primary":"#4F46E5","light":"#A5B4FC","dark":"#4338CA"},"logo":{"light":"https://mintcdn.com/goseallc/29Q_kJZSXJtvfdJH/logo/light.svg?fit=max\u0026auto=format\u0026n=29Q_kJZSXJtvfdJH\u0026q=85\u0026s=8af87ad322e9698952f9066b10b97f41","dark":"https://mintcdn.com/goseallc/29Q_kJZSXJtvfdJH/logo/dark.svg?fit=max\u0026auto=format\u0026n=29Q_kJZSXJtvfdJH\u0026q=85\u0026s=f3b51af4915305ef51d0bc2b9c809b89"},"favicon":"https://mintcdn.com/goseallc/N1-_FzFDsG6WGTTd/favicon.ico?fit=max\u0026auto=format\u0026n=N1-_FzFDsG6WGTTd\u0026q=85\u0026s=eb4e11a6efd2d4782785543f2e22f387","api":{"openapi":["openapi.json","api-manual/moderation-series/omni-moderation.json","integrations/capability-catalog.json","api-manual/image-series/ideogram-v4-5.json","api-manual/image-series/ideogram-vector-1-0.json","api-manual/music-series/elevenlabs-v4-tts.json","api-manual/music-series/elevenlabs-v4-turbo-tts.json","api-manual/music-series/gemini-3-8-flash-lite-tts.json","api-manual/music-series/gemini-3-8-flash-tts.json","api-manual/3d-series/meshy-7-1-3d.json","api-manual/image-series/gpt-4o-image.json","api-manual/image-series/gpt-image-1.5.json","api-manual/image-series/gpt-image-2.json","api-manual/image-series/gpt-image-2-5-flare.json","api-manual/image-series/gpt-image-2-5-sunburst.json","api-manual/image-series/qwen-image-3.json","api-manual/image-series/qwen-image-2-1.json","api-manual/image-series/nano-banana.json","api-manual/image-series/nano-banana-2.json","api-manual/image-series/nano-banana-2-new.json","api-manual/image-series/nano-banana-2-lite.json","api-manual/image-series/nano-banana-2-1.json","api-manual/image-series/flux-2.json","api-manual/image-series/flux-dev.json","api-manual/image-series/flux-schnell.json","api-manual/image-series/flux-kontext.json","api-manual/image-series/flux-3-klein.json","api-manual/image-series/seedream-4.json","api-manual/image-series/seedream-4-5.json","api-manual/image-series/seedream-5-0-lite.json","api-manual/image-series/seedream-5-0-pro.json","api-manual/image-series/seedream-5-0-flash.json","api-manual/image-series/wan-2-7-image-pro.json","api-manual/image-series/wan-2-7-image.json","api-manual/image-series/z-image.json","api-manual/image-series/grok-imagine-image.json","api-manual/image-series/grok-imagine-image-2-0.json","api-manual/image-series/grok-imagine-image-quality.json","api-manual/image-series/kling-o1.json","api-manual/image-series/kling-o3.json","api-manual/video-series/sora-2.json","api-manual/video-series/sora-2-pro.json","api-manual/video-series/sora-2-official.json","api-manual/video-series/sora-2-pro-official.json","api-manual/video-series/veo-3-1.json","api-manual/video-series/veo-3-1-official.json","api-manual/video-series/flux-3.json","api-manual/video-series/flux-3-max.json","api-manual/video-series/wan-animate.json","api-manual/video-series/wan2.2-text-to-video-fast.json","api-manual/video-series/wan2.2-image-to-video-fast.json","api-manual/video-series/wan2.5-image-to-video.json","api-manual/video-series/wan2.5-text-to-video.json","api-manual/video-series/wan-2-6.json","api-manual/video-series/wan-2-7-video.json","api-manual/video-series/wan-3-0-video.json","api-manual/video-series/wan-3-0-video-prime.json","api-manual/video-series/kling-1-6.json","api-manual/video-series/kling-2-1.json","api-manual/video-series/kling-2-6.json","api-manual/video-series/kling-2.6-motion-control.json","api-manual/video-series/kling-3-0-motion-control.json","api-manual/video-series/kling-2-5-turbo-pro.json","api-manual/video-series/kling-3-0.json","api-manual/video-series/kling-3-0-turbo.json","api-manual/video-series/kling-3-0-4k.json","api-manual/video-series/kling-4-0.json","api-manual/video-series/kling-avatar-2-0.json","api-manual/video-series/kling-o3.json","api-manual/video-series/kling-o3-4k.json","api-manual/video-series/grok-imagine.json","api-manual/video-series/grok-imagine-video-1-5.json","api-manual/video-series/omni-flash.json","api-manual/video-series/gemini-omni-1.1-flash.json","api-manual/video-series/hailuo-02.json","api-manual/video-series/hailuo-2-3.json","api-manual/video-series/hailuo-03.json","api-manual/video-series/h3-max.json","api-manual/video-series/h3-max-turbo.json","api-manual/video-series/seedance-1.0-pro.json","api-manual/video-series/seedance-1-5-pro.json","api-manual/video-series/seedance-2.json","api-manual/video-series/seedance-2.5.json","api-manual/video-series/seedance-2-mini.json","api-manual/video-series/happy-horse.json","api-manual/video-series/happy-horse-1-1.json","api-manual/video-series/runway-gen-4-5.json","api-manual/video-series/vidu-q4.json","api-manual/video-series/omnihuman-2-0.json","api-manual/video-series/pixverse-v6-max.json","api-manual/task-management/3d-status.json","api-manual/task-management/image-status.json","api-manual/task-management/video-status.json","api-manual/3d-series/meshy-6-3d.json","api-manual/3d-series/hunyuan-3d-3-1.json","api-manual/3d-series/tripo-h31-3d.json","api-manual/3d-series/tripo-p1-3d.json","api-manual/music-series/generate-music.json","api-manual/music-series/generate-mashup.json","api-manual/music-series/generate-sounds.json","api-manual/music-series/minimax-music-2.6.json","api-manual/music-series/elevenlabs-music.json","api-manual/music-series/elevenlabs-v3-tts.json","api-manual/music-series/elevenlabs-tts-turbo-2-5.json","api-manual/music-series/gemini-3-1-flash-tts.json","api-manual/music-series/xai-tts-1.json","api-manual/music-series/extend-music.json","api-manual/music-series/upload-and-cover-audio.json","api-manual/music-series/upload-and-extend-audio.json","api-manual/music-series/add-instrumental.json","api-manual/music-series/add-vocals.json","api-manual/music-series/get-timestamped-lyrics.json","api-manual/music-series/boost-music-style.json","api-manual/music-series/generate-music-cover.json","api-manual/music-series/replace-section.json","api-manual/music-series/generate-persona.json","api-manual/music-series/generate-lyrics.json","api-manual/music-series/convert-to-wav.json","api-manual/music-series/vocal-remover/separate-vocals.json","api-manual/music-series/vocal-remover/stem-split.json","api-manual/music-series/vocal-remover/upload-and-separate-vocals.json","api-manual/music-series/voice/validate.json","api-manual/music-series/voice/generate.json","api-manual/music-series/voice/regenerate.json","api-manual/music-series/voice/check.json","api-manual/music-series/create-music-video.json","api-manual/music-series/query-music-detail.json","api-manual/chat-series/chat-completions.json","api-manual/chat-series/responses.json","api-manual/chat-series/claude-messages.json","api-manual/chat-series/gemini-native-format.json","api-manual/chat-series/openai.json","api-manual/chat-series/anthropic.json","api-manual/chat-series/google.json","api-manual/chat-series/deepseek.json","api-manual/chat-series/xai.json","api-manual/chat-series/moonshot.json","api-manual/tools-series/image-translator.json","api-manual/tools-series/video-translator.json","api-manual/tools-series/video-background-removal.json","api-manual/tools-series/video-upscaler.json","api-manual/image-series/gpt-image-2-5-fixed.json","api-manual/image-series/gpt-image-2-6-fixed.json","api-manual/music-series/generate-midi.json","api-manual/account-management/user-balance.json","api-manual/file-series/upload-url.json","api-manual/file-series/upload-base64.json","api-manual/file-series/upload-stream.json","zh/openapi.json","zh/api-manual/moderation-series/omni-moderation.json","zh/integrations/capability-catalog.json","zh/api-manual/image-series/ideogram-v4-5.json","zh/api-manual/image-series/ideogram-vector-1-0.json","zh/api-manual/music-series/elevenlabs-v4-tts.json","zh/api-manual/music-series/elevenlabs-v4-turbo-tts.json","zh/api-manual/music-series/gemini-3-8-flash-lite-tts.json","zh/api-manual/music-series/gemini-3-8-flash-tts.json","zh/api-manual/3d-series/meshy-7-1-3d.json","zh/api-manual/image-series/gpt-4o-image.json","zh/api-manual/image-series/gpt-image-1.5.json","zh/api-manual/image-series/gpt-image-2.json","zh/api-manual/image-series/gpt-image-2-5-flare.json","zh/api-manual/image-series/gpt-image-2-5-sunburst.json","zh/api-manual/image-series/qwen-image-3.json","zh/api-manual/image-series/qwen-image-2-1.json","zh/api-manual/image-series/nano-banana.json","zh/api-manual/image-series/nano-banana-2.json","zh/api-manual/image-series/nano-banana-2-new.json","zh/api-manual/image-series/nano-banana-2-lite.json","zh/api-manual/image-series/nano-banana-2-1.json","zh/api-manual/image-series/flux-2.json","zh/api-manual/image-series/flux-dev.json","zh/api-manual/image-series/flux-schnell.json","zh/api-manual/image-series/flux-kontext.json","zh/api-manual/image-series/flux-3-klein.json","zh/api-manual/image-series/seedream-4.json","zh/api-manual/image-series/seedream-4-5.json","zh/api-manual/image-series/seedream-5-0-lite.json","zh/api-manual/image-series/seedream-5-0-pro.json","zh/api-manual/image-series/seedream-5-0-flash.json","zh/api-manual/image-series/wan-2-7-image-pro.json","zh/api-manual/image-series/wan-2-7-image.json","zh/api-manual/image-series/z-image.json","zh/api-manual/image-series/grok-imagine-image.json","zh/api-manual/image-series/grok-imagine-image-2-0.json","zh/api-manual/image-series/grok-imagine-image-quality.json","zh/api-manual/image-series/kling-o1.json","zh/api-manual/image-series/kling-o3.json","zh/api-manual/video-series/sora-2.json","zh/api-manual/video-series/sora-2-pro.json","zh/api-manual/video-series/sora-2-official.json","zh/api-manual/video-series/sora-2-pro-official.json","zh/api-manual/video-series/veo-3-1.json","zh/api-manual/video-series/veo-3-1-official.json","zh/api-manual/video-series/flux-3.json","zh/api-manual/video-series/flux-3-max.json","zh/api-manual/video-series/wan-animate.json","zh/api-manual/video-series/wan2.2-text-to-video-fast.json","zh/api-manual/video-series/wan2.2-image-to-video-fast.json","zh/api-manual/video-series/wan2.5-image-to-video.json","zh/api-manual/video-series/wan2.5-text-to-video.json","zh/api-manual/video-series/wan-2-6.json","zh/api-manual/video-series/wan-2-7-video.json","zh/api-manual/video-series/wan-3-0-video.json","zh/api-manual/video-series/wan-3-0-video-prime.json","zh/api-manual/video-series/kling-1-6.json","zh/api-manual/video-series/kling-2-1.json","zh/api-manual/video-series/kling-2-6.json","zh/api-manual/video-series/kling-2.6-motion-control.json","zh/api-manual/video-series/kling-3-0-motion-control.json","zh/api-manual/video-series/kling-2-5-turbo-pro.json","zh/api-manual/video-series/kling-3-0.json","zh/api-manual/video-series/kling-3-0-turbo.json","zh/api-manual/video-series/kling-3-0-4k.json","zh/api-manual/video-series/kling-4-0.json","zh/api-manual/video-series/kling-avatar-2-0.json","zh/api-manual/video-series/kling-o3.json","zh/api-manual/video-series/kling-o3-4k.json","zh/api-manual/video-series/grok-imagine.json","zh/api-manual/video-series/grok-imagine-video-1-5.json","zh/api-manual/video-series/omni-flash.json","zh/api-manual/video-series/gemini-omni-1.1-flash.json","zh/api-manual/video-series/hailuo-02.json","zh/api-manual/video-series/hailuo-2-3.json","zh/api-manual/video-series/hailuo-03.json","zh/api-manual/video-series/h3-max.json","zh/api-manual/video-series/h3-max-turbo.json","zh/api-manual/video-series/seedance-1.0-pro.json","zh/api-manual/video-series/seedance-1-5-pro.json","zh/api-manual/video-series/seedance-2.json","zh/api-manual/video-series/seedance-2.5.json","zh/api-manual/video-series/seedance-2-mini.json","zh/api-manual/video-series/happy-horse.json","zh/api-manual/video-series/happy-horse-1-1.json","zh/api-manual/video-series/runway-gen-4-5.json","zh/api-manual/video-series/vidu-q4.json","zh/api-manual/video-series/omnihuman-2-0.json","zh/api-manual/video-series/pixverse-v6-max.json","zh/api-manual/task-management/3d-status.json","zh/api-manual/task-management/image-status.json","zh/api-manual/task-management/video-status.json","zh/api-manual/3d-series/meshy-6-3d.json","zh/api-manual/3d-series/hunyuan-3d-3-1.json","zh/api-manual/3d-series/tripo-h31-3d.json","zh/api-manual/3d-series/tripo-p1-3d.json","zh/api-manual/music-series/generate-music.json","zh/api-manual/music-series/generate-mashup.json","zh/api-manual/music-series/generate-sounds.json","zh/api-manual/music-series/minimax-music-2.6.json","zh/api-manual/music-series/elevenlabs-music.json","zh/api-manual/music-series/elevenlabs-v3-tts.json","zh/api-manual/music-series/elevenlabs-tts-turbo-2-5.json","zh/api-manual/music-series/gemini-3-1-flash-tts.json","zh/api-manual/music-series/xai-tts-1.json","zh/api-manual/music-series/extend-music.json","zh/api-manual/music-series/upload-and-cover-audio.json","zh/api-manual/music-series/upload-and-extend-audio.json","zh/api-manual/music-series/add-instrumental.json","zh/api-manual/music-series/add-vocals.json","zh/api-manual/music-series/get-timestamped-lyrics.json","zh/api-manual/music-series/boost-music-style.json","zh/api-manual/music-series/generate-music-cover.json","zh/api-manual/music-series/replace-section.json","zh/api-manual/music-series/generate-persona.json","zh/api-manual/music-series/generate-lyrics.json","zh/api-manual/music-series/convert-to-wav.json","zh/api-manual/music-series/vocal-remover/separate-vocals.json","zh/api-manual/music-series/vocal-remover/stem-split.json","zh/api-manual/music-series/vocal-remover/upload-and-separate-vocals.json","zh/api-manual/music-series/voice/validate.json","zh/api-manual/music-series/voice/generate.json","zh/api-manual/music-series/voice/regenerate.json","zh/api-manual/music-series/voice/check.json","zh/api-manual/music-series/create-music-video.json","zh/api-manual/music-series/query-music-detail.json","zh/api-manual/chat-series/chat-completions.json","zh/api-manual/chat-series/responses.json","zh/api-manual/chat-series/claude-messages.json","zh/api-manual/chat-series/gemini-native-format.json","zh/api-manual/chat-series/openai.json","zh/api-manual/chat-series/anthropic.json","zh/api-manual/chat-series/google.json","zh/api-manual/chat-series/deepseek.json","zh/api-manual/chat-series/xai.json","zh/api-manual/chat-series/moonshot.json","zh/api-manual/tools-series/image-translator.json","zh/api-manual/tools-series/video-translator.json","zh/api-manual/tools-series/video-background-removal.json","zh/api-manual/tools-series/video-upscaler.json","zh/api-manual/image-series/gpt-image-2-5-fixed.json","zh/api-manual/image-series/gpt-image-2-6-fixed.json","zh/api-manual/music-series/generate-midi.json","zh/api-manual/account-management/user-balance.json","zh/api-manual/file-series/upload-url.json","zh/api-manual/file-series/upload-base64.json","zh/api-manual/file-series/upload-stream.json"],"playground":{},"mdx":{"auth":{"method":"key","name":"x-api-key"},"server":"https://api.poyo.ai"}},"background":{"color":{"light":"#FFFFFF","dark":"#0B0B0F"}},"navbar":{"links":[{"icon":"discord","href":"https://discord.gg/F8JNuUPB3j","label":"Discord"}],"primary":{"type":"button","label":"Market","href":"https://poyo.ai/models"}},"fonts":{"family":"Geist"},"styling":{"codeblocks":"dark","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{},"languages":[{"language":"en","href":""},{"language":"zh","href":"zh"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"goseallc","hasAudioNarration":false,"actualSubdomain":"goseallc","customDomains":["docs.poyo.ai"],"gitSource":{"type":"github","owner":"coolhackboy","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec58778c2847cc731f0b3e","collectionId":"466d8b0b-04c1-4c69-8704-21171f2d2922","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec58778c2847cc731f0b3e"},"entitlements":{},"buildId":"6aec58778c2847cc731f0b3e","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"en","tag":"Video Models","count":94},{"language":"zh","tag":"视频模型","count":94},{"language":"en","tag":"Music Models","count":72},{"language":"zh","tag":"音乐模型","count":72},{"language":"en","tag":"Image Models","count":70},{"language":"zh","tag":"图像模型","count":70},{"language":"en","tag":"Suno AI","count":25},{"language":"zh","tag":"Suno AI","count":25},{"language":"en","tag":"LLM Models","count":22},{"language":"zh","tag":"LLM 模型","count":22},{"language":"en","tag":"Platform","count":18},{"language":"zh","tag":"平台","count":18},{"language":"en","tag":"Kling","count":15},{"language":"zh","tag":"Kling","count":15},{"language":"en","tag":"AI Agents","count":13},{"language":"zh","tag":"AI Agent","count":13},{"language":"en","tag":"3D Models","count":12},{"language":"en","tag":"Google","count":12},{"language":"zh","tag":"3D 模型","count":12},{"language":"zh","tag":"Google","count":12}]},"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},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":""}],"page":{"pagePath":"api-manual/chat-series/chat-completions","slug":"/api-manual/chat-series/chat-completions","pageMetadata":{"title":"Chat Completions","description":"The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.","icon":"comments","openapi":"api-manual/chat-series/chat-completions.json POST /v1/chat/completions","href":"/api-manual/chat-series/chat-completions"},"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: \"The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Unified chat API interface for most LLMs; see `,_jsx(_components.a,{href:`/api-manual/chat-series/overview`,children:`LLM Models`}),` for which models support it`]}),`\n`,_jsx(_components.li,{children:`Select different AI models via the model parameter`}),`\n`,_jsx(_components.li,{children:`Compatible with OpenAI Chat Completions API format`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`usage-examples`,children:`Usage Examples`}),`\n`,_jsx(Heading,{level:`3`,id:`basic-conversation`,children:`Basic Conversation`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-5.2\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"messages\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Explain vector databases in one sentence.\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`system-prompt`,children:`System Prompt`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"claude-sonnet-4-5-20250929\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"messages\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"system\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"You are a technical editor. Improve clarity of product copy.\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Rewrite the button text 'Submission failed' to be friendly and actionable.\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`multi-turn-conversation`,children:`Multi-turn Conversation`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"gemini-3-flash-preview\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"messages\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Give me 3 customer support bot names.\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"assistant\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"1) HelpWave 2) CarePilot 3) SwiftSupport\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Add one style tag for each name.\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`streaming-output`,children:`Streaming Output`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-5.2\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"messages\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Generate 5 short titles (max 6 words) about AI video generation.\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"stream\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`notes`,children:`Notes`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`stream: true`}),` for SSE streaming responses.`]}),`\n`,_jsx(_components.li,{children:`Different models may support different context lengths, output limits, and optional parameters.`}),`\n`,_jsx(_components.li,{children:`For new OpenAI-compatible workflows that need tools or multimodal structured input, use the Responses API.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Non-streaming requests return the Chat Completions object directly, without a `,_jsx(_components.code,{children:`code`}),` / `,_jsx(_components.code,{children:`data`}),` wrapper. Reasoning models such as DeepSeek also return their reasoning text in `,_jsx(_components.code,{children:`choices[].message.reasoning_content`}),`, and count it in `,_jsx(_components.code,{children:`usage.completion_tokens_details.reasoning_tokens`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`streaming`,children:`Streaming`}),`\n`,_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`\"stream\": true`}),`, the response is `,_jsx(_components.code,{children:`text/event-stream`}),`. Each event is a `,_jsx(_components.code,{children:`data:`}),` line with a `,_jsx(_components.code,{children:`chat.completion.chunk`}),` object, and the stream ends with `,_jsx(_components.code,{children:`data: [DONE]`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"id\":\"...\",\"object\":\"chat.completion.chunk\",\"model\":\"deepseek-v4-flash\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\"}}]}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"id\":\"...\",\"object\":\"chat.completion.chunk\",\"model\":\"deepseek-v4-flash\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"OK\"}}]}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"id\":\"...\",\"object\":\"chat.completion.chunk\",\"model\":\"deepseek-v4-flash\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\"},\"finish_reason\":\"stop\"}],\"usage\":{\"prompt_tokens\":36,\"completion_tokens\":16,\"total_tokens\":52}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: [DONE]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Text arrives in `,_jsx(_components.code,{children:`choices[0].delta.content`}),`. Reasoning models stream `,_jsx(_components.code,{children:`choices[0].delta.reasoning_content`}),` first.`]}),`\n`,_jsxs(_components.li,{children:[`The last chunk carries `,_jsx(_components.code,{children:`finish_reason`}),` and `,_jsx(_components.code,{children:`usage`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`401`}),`: missing or invalid API key.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`400`}),`: invalid parameters, or the model does not support Chat Completions (for example `,_jsx(_components.code,{children:`gpt-5-6-sol`}),`, which only supports Responses). The message lists the supported URIs.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`404`}),`: unknown model id.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/api-manual/error-codes#llm-endpoint-errors`,children:`Error Codes`}),` for example bodies, and `,_jsx(_components.a,{href:`/api-manual/chat-series/overview`,children:`LLM Models`}),` for which models support this format.`]})]})}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":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Chat Completions","description":"The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.","icon":"comments","openapi":"api-manual/chat-series/chat-completions.json POST /v1/chat/completions","href":"/api-manual/chat-series/chat-completions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Usage Examples","slug":"usage-examples","depth":2,"children":[{"title":"Basic Conversation","slug":"basic-conversation","depth":3,"children":[]},{"title":"System Prompt","slug":"system-prompt","depth":3,"children":[]},{"title":"Multi-turn Conversation","slug":"multi-turn-conversation","depth":3,"children":[]},{"title":"Streaming Output","slug":"streaming-output","depth":3,"children":[]}]},{"title":"Notes","slug":"notes","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Streaming","slug":"streaming","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"General Chat API","description":"The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.","operationId":"createChatCompletion","tags":["Text Series"],"requestBody":"7eac8fcf-6b34-445c-88c2-b686ecdae517","responses":{"200":"526a71ea-5bd2-4401-afc3-f87cd0f35fb6","400":"499bd3ae-72f4-43fb-9ef3-f654fa3f61f9","401":"cbd8b6b6-4660-48b7-8ab3-64d796435640","404":"0d16a7ef-b526-48c8-a7b6-75d3147856be"},"method":"post","type":"path","servers":["e1cafc93-2d8e-4431-98d2-1416d519456b"],"security":["51a3d4c4-d106-471b-9ee8-d8598b0f535c"],"path":"/v1/chat/completions","baseUrlOptions":["https://api.poyo.ai"],"title":"General Chat API","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","messages"],"properties":{"model":{"type":"string","description":"Model name. Example: `gpt-5.2`, `claude-sonnet-4-5-20250929`, `gemini-3-flash-preview`.","example":"gpt-5.2","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"messages":{"type":"array","description":"List of conversation messages. Each message contains a `role` and `content`. Use `system` to define model behavior, `user` for user input, and `assistant` for previous model responses in multi-turn conversations. Example: [{\"role\": \"user\", \"content\": \"Explain vector databases in one sentence.\"}].","items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["system","user","assistant"],"description":"Message role. `user` is user input, `assistant` is previous model output for multi-turn conversations, and `system` is the system prompt. Default is `user`.","default":"user","example":"user","isRequired":true,"uniqueKey":"messages.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"content":{"type":"string","description":"Message content, question, or instruction.","example":"Explain vector databases in one sentence.","isRequired":true,"uniqueKey":"messages.items.[INDEX].content","typeLabel":"string"}},"uniqueKey":"messages.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"messages","typeLabel":"object[]"},"temperature":{"type":"number","minimum":0,"maximum":2,"description":"Controls output randomness, range 0-2. Lower values such as 0.2 make output more deterministic. Higher values such as 1.8 make output more random. Default: 1.0.","example":1,"uniqueKey":"temperature","typeLabel":"number"},"max_tokens":{"type":"integer","minimum":1,"description":"Maximum number of tokens to generate. Different models have different maximum limits.","example":256,"uniqueKey":"max_tokens","typeLabel":"integer"},"stream":{"type":"boolean","description":"Whether to use streaming output. `true` returns a streaming response in SSE format. `false` returns the complete response at once. Default: false.","example":false,"uniqueKey":"stream","typeLabel":"boolean"},"top_p":{"type":"number","minimum":0,"maximum":1,"description":"Nucleus sampling parameter, range 0-1. Controls diversity of generated text. We recommend using either `top_p` or `temperature`, not both. Default: 1.0.","example":1,"uniqueKey":"top_p","typeLabel":"number"},"frequency_penalty":{"type":"number","minimum":-2,"maximum":2,"description":"Frequency penalty, range -2.0 to 2.0. Positive values reduce the likelihood of repeating the same words. Default: 0.","example":0,"uniqueKey":"frequency_penalty","typeLabel":"number"},"presence_penalty":{"type":"number","minimum":-2,"maximum":2,"description":"Presence penalty, range -2.0 to 2.0. Positive values increase the likelihood of talking about new topics. Default: 0.","example":0,"uniqueKey":"presence_penalty","typeLabel":"number"},"stop":{"oneOf":[{"type":"string","description":"Stop sequences. Up to 4 sequences where generation will stop when encountered.","example":"\n\nHuman:","uniqueKey":"stop.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"stop.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Stop sequences. Up to 4 sequences where generation will stop when encountered.","uniqueKey":"stop.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"stop","typeLabel":"string | string[]"},"n":{"type":"integer","minimum":1,"description":"Number of completions to generate. Default: 1. Must be a plain number such as `1`; do not use quotes.","example":1,"uniqueKey":"n","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"basic":{"title":"basic","value":{"model":"gpt-5.2","messages":[{"role":"system","content":"You are a structured output assistant. Reply with JSON only."},{"role":"user","content":"Generate a paginated list response example with fields items, page, page_size, total and sample values."}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"526a71ea-5bd2-4401-afc3-f87cd0f35fb6":{"description":"Completion created","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the response.","example":"chatcmpl-9876543210","uniqueKey":"id","typeLabel":"string"},"object":{"type":"string","description":"Object type.","example":"chat.completion","uniqueKey":"object","typeLabel":"string"},"created":{"type":"integer","description":"Creation timestamp.","example":1677652288,"uniqueKey":"created","typeLabel":"integer"},"model":{"type":"string","description":"The actual model name used.","example":"gpt-5.2","uniqueKey":"model","typeLabel":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","example":0,"uniqueKey":"choices.items.[INDEX].index","typeLabel":"integer"},"message":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["system","user","assistant"],"description":"Message role. `user` is user input, `assistant` is previous model output for multi-turn conversations, and `system` is the system prompt. Default is `user`.","default":"user","example":"user","isRequired":true,"uniqueKey":"choices.items.[INDEX].message.role","typeLabel":"enum\u003cstring>"},"content":{"type":"string","description":"Message content, question, or instruction.","example":"Explain vector databases in one sentence.","isRequired":true,"uniqueKey":"choices.items.[INDEX].message.content","typeLabel":"string"}},"uniqueKey":"choices.items.[INDEX].message","typeLabel":"object"},"finish_reason":{"type":"string","description":"Reason for completion.","enum":["stop","length","content_filter","function_call"],"example":"stop","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","description":"Number of tokens in the input messages.","example":28,"uniqueKey":"usage.prompt_tokens","typeLabel":"integer"},"completion_tokens":{"type":"integer","description":"Number of tokens in the generated content.","example":320,"uniqueKey":"usage.completion_tokens","typeLabel":"integer"},"total_tokens":{"type":"integer","description":"Total number of tokens.","example":348,"uniqueKey":"usage.total_tokens","typeLabel":"integer"}},"uniqueKey":"usage","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"success":{"title":"success","value":{"id":"chatcmpl-9876543210","object":"chat.completion","created":1677652288,"model":"gpt-5.2","choices":[{"index":0,"message":{"role":"assistant","content":"The history of artificial intelligence (AI) dates back to the 1950s..."},"finish_reason":"stop"}],"usage":{"prompt_tokens":28,"completion_tokens":320,"total_tokens":348}}}},"exampleType":"examples"}},"exampleType":"examples"},"499bd3ae-72f4-43fb-9ef3-f654fa3f61f9":{"description":"Invalid request parameters, or the model does not support this API format","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"enum":[200,400,401,402,403,404,408,429,500,502,503],"description":"Business status code. `200` means success; any other value means the request failed. Always check this field: some validation errors return HTTP 200 with `code: 400` in the body.\n\n- `200`: Success\n- `400`: Invalid request parameters\n- `401`: Missing or invalid API key\n- `402`: Insufficient credits\n- `403`: Permission denied\n- `404`: Resource not found\n- `408`: Request timeout\n- `429`: Rate limit exceeded\n- `500`: Internal server error\n- `502`: Upstream service error\n- `503`: Service unavailable\n\nSee [Error Codes](/api-manual/error-codes) for details.","uniqueKey":"code","typeLabel":"enum\u003cinteger>"},"error":{"type":"object","properties":{"message":{"type":"string","example":"Invalid request parameters: messages: Field required","uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","example":"validation_error","uniqueKey":"error.type","typeLabel":"string"},"details":{"type":"object","description":"Field-level validation errors when available.","uniqueKey":"error.details","typeLabel":"object"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":400,"error":{"message":"Invalid request parameters: messages: Field required","type":"validation_error","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"cbd8b6b6-4660-48b7-8ab3-64d796435640":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":401,"enum":[200,400,401,402,403,404,408,429,500,502,503],"description":"Business status code. `200` means success; any other value means the request failed. Always check this field: some validation errors return HTTP 200 with `code: 400` in the body.\n\n- `200`: Success\n- `400`: Invalid request parameters\n- `401`: Missing or invalid API key\n- `402`: Insufficient credits\n- `403`: Permission denied\n- `404`: Resource not found\n- `408`: Request timeout\n- `429`: Rate limit exceeded\n- `500`: Internal server error\n- `502`: Upstream service error\n- `503`: Service unavailable\n\nSee [Error Codes](/api-manual/error-codes) for details.","uniqueKey":"code","typeLabel":"enum\u003cinteger>"},"error":{"type":"object","properties":{"message":{"type":"string","example":"Invalid API key","uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","example":"authentication_error","uniqueKey":"error.type","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":401,"error":{"message":"Invalid API key","type":"authentication_error"}}}},"exampleType":"generated"}},"exampleType":"generated"},"0d16a7ef-b526-48c8-a7b6-75d3147856be":{"description":"Unknown model id","content":{"application/json":{"schema":{"type":"object","description":"Error returned when the model or request is rejected for this API format.","properties":{"error":{"type":"object","properties":{"message":{"type":"string","example":"Model not found: no-such-model","uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","example":"invalid_request_error","uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","example":"model_not_found","uniqueKey":"error.code","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Model not found: no-such-model","type":"invalid_request_error","code":"model_not_found"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Model not found: no-such-model","type":"invalid_request_error","code":"model_not_found"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"51a3d4c4-d106-471b-9ee8-d8598b0f535c":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"All API endpoints require Bearer Token authentication.\n\nCreate an API key: sign in to PoYo, open **Dashboard → API Key** at [poyo.ai/dashboard/api-key](https://poyo.ai/dashboard/api-key), and click to create a key.\n\nAdd it to the request header:\n\n```\nAuthorization: Bearer YOUR_API_KEY\n```","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"e1cafc93-2d8e-4431-98d2-1416d519456b":{"url":"https://api.poyo.ai","description":"Production server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"All API endpoints require Bearer Token authentication.\n\nCreate an API key: sign in to PoYo, open **Dashboard → API Key** at [poyo.ai/dashboard/api-key](https://poyo.ai/dashboard/api-key), and click to create a key.\n\nAdd it to the request header:\n\n```\nAuthorization: Bearer YOUR_API_KEY\n```","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"All API endpoints require Bearer Token authentication.\n\nCreate an API key: sign in to PoYo, open **Dashboard → API Key** at [poyo.ai/dashboard/api-key](https://poyo.ai/dashboard/api-key), and click to create a key.\n\nAdd it to the request header:\n\n```\nAuthorization: Bearer YOUR_API_KEY\n```","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-manual/chat-series/chat-completions.json"},"subdomain":"goseallc","siteName":"PoYo AI","title":"Chat Completions - PoYo AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-manual/chat-series/chat-completions","matchLevel":0},"zh":{"href":"/zh/api-manual/chat-series/chat-completions","matchLevel":1}}},"lastModified":"2026-10-29T03:42:42.813Z","originalFileLocation":"api-manual/chat-series/chat-completions.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=\"The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.\">\u003cmeta data-mint-head name=\"application-name\" content=\"PoYo AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/goseallc/_txJMi_sP9EUfefV/_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/goseallc/_txJMi_sP9EUfefV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/goseallc/_txJMi_sP9EUfefV/_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/goseallc/_txJMi_sP9EUfefV/_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/goseallc/_txJMi_sP9EUfefV/_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/goseallc/_txJMi_sP9EUfefV/_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/goseallc/_txJMi_sP9EUfefV/_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/goseallc/_txJMi_sP9EUfefV/_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/goseallc/_txJMi_sP9EUfefV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Chat Completions - PoYo AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PoYo AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.poyo.ai/api-manual/chat-series/chat-completions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://goseallc.mintlify.app/_mintlify/api/og/v2?division=API+Formats\u0026amp;title=Chat+Completions\u0026amp;description=The+General+Chat+API+is+a+model-agnostic+endpoint+compatible+with+the+OpenAI+Chat+Completions+request+shape.+Send+a+model+id+and+messages%2C+and+optionally+reques\u0026amp;theme=ecc0b2c14fb9965076e6096c\u0026amp;signature=ed6400dad1790a8c2d56a1c9cf150d0cea6810238be9248a438e1f544850a403\">\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=\"Chat Completions - PoYo AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://goseallc.mintlify.app/_mintlify/api/og/v2?division=API+Formats\u0026amp;title=Chat+Completions\u0026amp;description=The+General+Chat+API+is+a+model-agnostic+endpoint+compatible+with+the+OpenAI+Chat+Completions+request+shape.+Send+a+model+id+and+messages%2C+and+optionally+reques\u0026amp;theme=ecc0b2c14fb9965076e6096c\u0026amp;signature=ed6400dad1790a8c2d56a1c9cf150d0cea6810238be9248a438e1f544850a403\">\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/goseallc/_txJMi_sP9EUfefV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PoYo AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4F46E5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.poyo.ai/api-manual/chat-series/chat-completions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-manual/chat-series/chat-completions.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.poyo.ai/api-manual/chat-series/chat-completions\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.poyo.ai/zh/api-manual/chat-series/chat-completions\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.poyo.ai/api-manual/chat-series/chat-completions\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.poyo.ai/#organization\",\"name\":\"PoYo AI\",\"url\":\"https://docs.poyo.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/goseallc/29Q_kJZSXJtvfdJH/logo/light.svg?fit=max\u0026auto=format\u0026n=29Q_kJZSXJtvfdJH\u0026q=85\u0026s=8af87ad322e9698952f9066b10b97f41\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.poyo.ai#website\",\"name\":\"PoYo AI\",\"url\":\"https://docs.poyo.ai\",\"publisher\":{\"@id\":\"https://docs.poyo.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.poyo.ai/api-manual/chat-series/chat-completions#webpage\",\"url\":\"https://docs.poyo.ai/api-manual/chat-series/chat-completions\",\"name\":\"Chat Completions\",\"description\":\"The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.\",\"dateModified\":\"2026-10-29T03:42:42.813Z\",\"isPartOf\":{\"@id\":\"https://docs.poyo.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.poyo.ai/api-manual/chat-series/chat-completions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.poyo.ai/api-manual/chat-series/chat-completions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"LLM Models\",\"item\":\"https://docs.poyo.ai/api-manual/chat-series/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Chat Completions\",\"item\":\"https://docs.poyo.ai/api-manual/chat-series/chat-completions\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.poyo.ai/api-manual/chat-series/chat-completions#apireference\",\"headline\":\"Chat Completions\",\"name\":\"Chat Completions\",\"description\":\"The General Chat API is a model-agnostic endpoint compatible with the OpenAI Chat Completions request shape. Send a model id and messages, and optionally request a server-sent event stream.\",\"url\":\"https://docs.poyo.ai/api-manual/chat-series/chat-completions\",\"mainEntityOfPage\":{\"@id\":\"https://docs.poyo.ai/api-manual/chat-series/chat-completions#webpage\"},\"dateModified\":\"2026-10-29T03:42:42.813Z\",\"publisher\":{\"@id\":\"https://docs.poyo.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.poyo.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PoYo AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"PoYo AI","nav":{"global":{},"languages":[{"language":"en","tabs":[{"tab":"Platform","pages":[{"title":"Platform","href":""}]},{"tab":"Image Models","pages":[{"title":"Image Models","href":"/api-manual/image-series/overview"}]},{"tab":"Video Models","pages":[{"title":"Video Models","href":"/api-manual/video-series/overview"}]},{"tab":"LLM Models","groups":[{"group":"LLM Models","pages":[{"title":"LLM Models","description":"All large language models available on PoYo, with the API formats each model supports.","icon":"list","href":"/api-manual/chat-series/overview"},{"group":"API Formats","pages":[{"title":"Chat Completions","icon":"comments","openapi":"api-manual/chat-series/chat-completions.json POST /v1/chat/completions","href":"/api-manual/chat-series/chat-completions"},{"title":"Responses","description":"The Responses API is an OpenAI-compatible endpoint for plain text or structured image input. Tool calls and server-sent event streaming are available when the selected model supports them.","icon":"comments","openapi":"api-manual/chat-series/responses.json POST /v1/responses","href":"/api-manual/chat-series/responses"},{"title":"Anthropic Messages","icon":"comments","openapi":"api-manual/chat-series/claude-messages.json POST /v1/messages","href":"/api-manual/chat-series/claude-messages"},{"title":"Gemini Native","icon":"comments","openapi":"api-manual/chat-series/gemini-native-format.json POST /v1beta/models/{model}:{method}","href":"/api-manual/chat-series/gemini-native-format"}]},{"group":"Models","pages":[{"title":"OpenAI","icon":"comments","openapi":"api-manual/chat-series/openai.json POST /v1/responses","href":"/api-manual/chat-series/openai"},{"title":"Anthropic","icon":"comments","openapi":"api-manual/chat-series/anthropic.json POST /v1/messages","href":"/api-manual/chat-series/anthropic"},{"title":"Google","icon":"comments","openapi":"api-manual/chat-series/google.json POST /v1beta/models/{model}:{method}","href":"/api-manual/chat-series/google"},{"title":"DeepSeek","icon":"comments","openapi":"api-manual/chat-series/deepseek.json POST /v1/chat/completions","href":"/api-manual/chat-series/deepseek"},{"title":"xAI","icon":"comments","openapi":"api-manual/chat-series/xai.json POST /v1/chat/completions","href":"/api-manual/chat-series/xai"},{"title":"Moonshot AI","icon":"comments","openapi":"api-manual/chat-series/moonshot.json POST /v1/chat/completions","href":"/api-manual/chat-series/moonshot"}]}]}]},{"tab":"3D Models","pages":[{"title":"3D Models","href":"/api-manual/3d-series/overview"}]},{"tab":"Music Models","pages":[{"title":"Music Models","href":"/api-manual/music-series/overview"}]},{"tab":"AI Tools","pages":[{"title":"AI Tools","href":"/api-manual/tools-series/overview"}]},{"tab":"AI Agents","pages":[{"title":"AI Agents","href":"/integrations/overview"}]}]},{"language":"zh","pages":[{"title":"zh","href":"/zh/api-manual/chat-series/chat-completions"}]}]},"basePath":"","title":"Chat Completions - PoYo AI","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B5zPa4Vr.js","utils-CVjrr8Yd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DTgURWzl.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DxTHtkdZ.js","snippetPresets-Cx47o5Vx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-4Fr6y9N_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dq2ElbEk.js","shallow-BfYl9r69.js","getApiPlaygroundDisplay-Ch3xc7i1.js","CodeSnippet-BsBxuJ1v.js","CodeSnippets-CetzeDL8.js","Page-CYZot51e.js","getPastedJson-BxPKFSJx.js","icon-o0J1Ochb.js","MethodPill-Du3usO5m.js","DuplicateIcon-DJypyMzl.js","createIcon-YMA6N8KJ.js","DynamicMarkdown-CWvhfcZc.js","SectionHeading-BdLVaXCd.js","axios-vUo_bRtp.js","Markdown-C4Ez6OeV.js","clsx-DptzKFCt.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Dt1IougW.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CZ6Wt2Vb.js"]}