Files
WebAI2API/dist/api/chat.html
T
2025-12-20 20:33:15 +08:00

109 lines
38 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Chat Completions | WebAI2API</title>
<meta name="description" content="网页版 AI 服务转 OpenAI 兼容 API">
<meta name="generator" content="VitePress v2.0.0-alpha.15">
<link rel="preload stylesheet" href="/assets/style.BZs0Eodj.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.D6bDUwdY.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.f90DuY8d.js">
<link rel="modulepreload" href="/assets/chunks/framework.BJEpWshW.js">
<link rel="modulepreload" href="/assets/api_chat.md.CVfvhFz2.lean.js">
<link rel="icon" href="/favicon.png">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-170c53fe><!--[--><!--]--><!--[--><span tabindex="-1" data-v-451012a8></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-451012a8>Skip to content</a><!--]--><!----><header class="VPNav" data-v-170c53fe data-v-21e98c69><div class="VPNavBar" data-v-21e98c69 data-v-edbf9404><div class="wrapper" data-v-edbf9404><div class="container" data-v-edbf9404><div class="title" data-v-edbf9404><div class="VPNavBarTitle has-sidebar" data-v-edbf9404 data-v-16a8c3d8><a class="title" href="/" data-v-16a8c3d8><!--[--><!--]--><!----><span data-v-16a8c3d8>WebAI2API</span><!--[--><!--]--></a></div></div><div class="content" data-v-edbf9404><div class="content-body" data-v-edbf9404><!--[--><!--]--><div class="VPNavBarSearch search" data-v-edbf9404><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-edbf9404 data-v-138a1628><span id="main-nav-aria-label" class="visually-hidden" data-v-138a1628> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-138a1628 data-v-1494679c><!--[--><span data-v-1494679c>首页</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide/requirements.html" tabindex="0" data-v-138a1628 data-v-1494679c><!--[--><span data-v-1494679c>入门指南</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/api/overview.html" tabindex="0" data-v-138a1628 data-v-1494679c><!--[--><span data-v-1494679c>API 参考</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-edbf9404 data-v-9cde98c8><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-9cde98c8 data-v-c6d441d6 data-v-54855812><span class="check" data-v-54855812><span class="icon" data-v-54855812><!--[--><span class="vpi-sun sun" data-v-c6d441d6></span><span class="vpi-moon moon" data-v-c6d441d6></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-edbf9404 data-v-a0cc7756 data-v-6e5e7bc9><!--[--><a class="VPSocialLink no-icon" href="https://github.com/foxhui/WebAI2API" aria-label="github" target="_blank" rel="me noopener" data-v-6e5e7bc9 data-v-9015c34a><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-edbf9404 data-v-392c0efd data-v-6d4d2382><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-6d4d2382><span class="vpi-more-horizontal icon" data-v-6d4d2382></span></button><div class="menu" data-v-6d4d2382><div class="VPMenu" data-v-6d4d2382 data-v-76c0c713><!----><!--[--><!--[--><!----><div class="group" data-v-392c0efd><div class="item appearance" data-v-392c0efd><p class="label" data-v-392c0efd>Appearance</p><div class="appearance-action" data-v-392c0efd><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-392c0efd data-v-c6d441d6 data-v-54855812><span class="check" data-v-54855812><span class="icon" data-v-54855812><!--[--><span class="vpi-sun sun" data-v-c6d441d6></span><span class="vpi-moon moon" data-v-c6d441d6></span><!--]--></span></span></button></div></div></div><div class="group" data-v-392c0efd><div class="item social-links" data-v-392c0efd><div class="VPSocialLinks social-links-list" data-v-392c0efd data-v-6e5e7bc9><!--[--><a class="VPSocialLink no-icon" href="https://github.com/foxhui/WebAI2API" aria-label="github" target="_blank" rel="me noopener" data-v-6e5e7bc9 data-v-9015c34a><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-edbf9404 data-v-6ffe035d><span class="container" data-v-6ffe035d><span class="top" data-v-6ffe035d></span><span class="middle" data-v-6ffe035d></span><span class="bottom" data-v-6ffe035d></span></span></button></div></div></div></div><div class="divider" data-v-edbf9404><div class="divider-line" data-v-edbf9404></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-170c53fe data-v-1924e3fd><div class="container" data-v-1924e3fd><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-1924e3fd><span class="vpi-align-left menu-icon" data-v-1924e3fd></span><span class="menu-text" data-v-1924e3fd>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-1924e3fd data-v-85ddaa89><button data-v-85ddaa89>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-170c53fe data-v-01266c03><div class="curtain" data-v-01266c03></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-01266c03><span class="visually-hidden" id="sidebar-aria-label" data-v-01266c03> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c8cf511c><section class="VPSidebarItem level-0" data-v-c8cf511c data-v-15093875><div class="item" role="button" tabindex="0" data-v-15093875><div class="indicator" data-v-15093875></div><h2 class="text" data-v-15093875>入门指南</h2><!----></div><div class="items" data-v-15093875><!--[--><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/guide/introduction.html" data-v-15093875><!--[--><p class="text" data-v-15093875>项目介绍</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/guide/requirements.html" data-v-15093875><!--[--><p class="text" data-v-15093875>环境要求</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/guide/deployment.html" data-v-15093875><!--[--><p class="text" data-v-15093875>快速部署</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/guide/first-use.html" data-v-15093875><!--[--><p class="text" data-v-15093875>首次使用</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c8cf511c><section class="VPSidebarItem level-0" data-v-c8cf511c data-v-15093875><div class="item" role="button" tabindex="0" data-v-15093875><div class="indicator" data-v-15093875></div><h2 class="text" data-v-15093875>配置说明</h2><!----></div><div class="items" data-v-15093875><!--[--><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/config/overview.html" data-v-15093875><!--[--><p class="text" data-v-15093875>配置概览</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/config/instances.html" data-v-15093875><!--[--><p class="text" data-v-15093875>实例配置</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/config/proxy.html" data-v-15093875><!--[--><p class="text" data-v-15093875>代理设置</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c8cf511c><section class="VPSidebarItem level-0 has-active" data-v-c8cf511c data-v-15093875><div class="item" role="button" tabindex="0" data-v-15093875><div class="indicator" data-v-15093875></div><h2 class="text" data-v-15093875>API 参考</h2><!----></div><div class="items" data-v-15093875><!--[--><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/api/overview.html" data-v-15093875><!--[--><p class="text" data-v-15093875>接口概览</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/api/chat.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Chat Completions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/api/models.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Models</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/api/cookies.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Cookies</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c8cf511c><section class="VPSidebarItem level-0" data-v-c8cf511c data-v-15093875><div class="item" role="button" tabindex="0" data-v-15093875><div class="indicator" data-v-15093875></div><h2 class="text" data-v-15093875>运维管理</h2><!----></div><div class="items" data-v-15093875><!--[--><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/admin/webui.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Web 管理界面</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/admin/linux.html" data-v-15093875><!--[--><p class="text" data-v-15093875>Linux 部署</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-15093875 data-v-15093875><div class="item" data-v-15093875><div class="indicator" data-v-15093875></div><a class="VPLink link link" href="/admin/troubleshooting.html" data-v-15093875><!--[--><p class="text" data-v-15093875>故障排查</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-170c53fe data-v-f1c8b00b><div class="VPDoc has-sidebar has-aside" data-v-f1c8b00b data-v-9a3aec1d><!--[--><!--]--><div class="container" data-v-9a3aec1d><div class="aside" data-v-9a3aec1d><div class="aside-curtain" data-v-9a3aec1d></div><div class="aside-container" data-v-9a3aec1d><div class="aside-content" data-v-9a3aec1d><div class="VPDocAside" data-v-9a3aec1d data-v-21b7d62c><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-21b7d62c data-v-3dd37849><div class="content" data-v-3dd37849><div class="outline-marker" data-v-3dd37849></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-3dd37849>页面导航</div><ul class="VPDocOutlineItem root" data-v-3dd37849 data-v-24ee4c62><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-21b7d62c></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-9a3aec1d><div class="content-container" data-v-9a3aec1d><!--[--><!--]--><main class="main" data-v-9a3aec1d><div style="position:relative;" class="vp-doc _api_chat" data-v-9a3aec1d><div><h1 id="chat-completions" tabindex="-1">Chat Completions <a class="header-anchor" href="#chat-completions" aria-label="Permalink to “Chat Completions”"></a></h1><p>对话生成接口,兼容 OpenAI Chat Completions API。</p><h2 id="端点" tabindex="-1">端点 <a class="header-anchor" href="#端点" aria-label="Permalink to “端点”"></a></h2><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>POST /v1/chat/completions</span></span></code></pre></div><h2 id="请求参数" tabindex="-1">请求参数 <a class="header-anchor" href="#请求参数" aria-label="Permalink to “请求参数”"></a></h2><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td><code>model</code></td><td>string</td><td></td><td>模型名称</td></tr><tr><td><code>messages</code></td><td>array</td><td></td><td>消息列表</td></tr><tr><td><code>stream</code></td><td>boolean</td><td></td><td>是否启用流式响应(推荐开启)</td></tr></tbody></table><h3 id="messages-格式" tabindex="-1">messages 格式 <a class="header-anchor" href="#messages-格式" aria-label="Permalink to “messages 格式”"></a></h3><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;messages&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;role&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;user&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;content&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;生成一只可爱的猫&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h3 id="多模态请求-图生图" tabindex="-1">多模态请求(图生图) <a class="header-anchor" href="#多模态请求-图生图" aria-label="Permalink to “多模态请求(图生图)”"></a></h3><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;messages&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;role&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;user&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;content&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;type&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;text&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;text&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;让这张图片更加鲜艳&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;type&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;image_url&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;image_url&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;url&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;data:image/jpeg;base64,/9j/4AAQ...&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="图片限制" tabindex="-1">图片限制 <a class="header-anchor" href="#图片限制" aria-label="Permalink to “图片限制”"></a></h2><table tabindex="0"><thead><tr><th>限制项</th><th>说明</th></tr></thead><tbody><tr><td>支持格式</td><td>PNG, JPEG, GIF, WebP</td></tr><tr><td>数量限制</td><td>默认 5 张,最大 10 张</td></tr><tr><td>数据格式</td><td>Base64 Data URL (<code>data:image/jpeg;base64,...</code>)</td></tr><tr><td>自动转换</td><td>服务器会自动转换为 JPG 格式</td></tr></tbody></table><h2 id="非流式响应" tabindex="-1">非流式响应 <a class="header-anchor" href="#非流式响应" aria-label="Permalink to “非流式响应”"></a></h2><h3 id="请求示例" tabindex="-1">请求示例 <a class="header-anchor" href="#请求示例" aria-label="Permalink to “请求示例”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -X</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> POST</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://localhost:3000/v1/chat/completions</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -H</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;Content-Type: application/json&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -H</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;Authorization: Bearer sk-your-key&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;{</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;model&quot;: &quot;gemini-3-pro-image-preview&quot;,</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;messages&quot;: [</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;role&quot;: &quot;user&quot;,</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;content&quot;: &quot;generate a cat&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> }</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ]</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> }&#39;</span></span></code></pre></div><h3 id="响应示例" tabindex="-1">响应示例 <a class="header-anchor" href="#响应示例" aria-label="Permalink to “响应示例”"></a></h3><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;id&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;chatcmpl-1732374740123&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;object&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;chat.completion&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;created&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1732374740</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;model&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;gemini-3-pro-image-preview&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;choices&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;index&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;message&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;role&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;assistant&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;content&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;![generated](data:image/jpeg;base64,/9j/4AAQ...)&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;finish_reason&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;stop&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="流式响应" tabindex="-1">流式响应 <a class="header-anchor" href="#流式响应" aria-label="Permalink to “流式响应”"></a></h2><div class="tip custom-block"><p class="custom-block-title">推荐使用</p><p>流式模式包含心跳保活机制,可以避免长时间生成导致的连接超时。</p></div><h3 id="请求示例-1" tabindex="-1">请求示例 <a class="header-anchor" href="#请求示例-1" aria-label="Permalink to “请求示例”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -X</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> POST</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://localhost:3000/v1/chat/completions</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -H</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;Content-Type: application/json&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -H</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;Authorization: Bearer sk-your-key&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;{</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;model&quot;: &quot;gemini-3-pro-image-preview&quot;,</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;stream&quot;: true,</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;messages&quot;: [</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;role&quot;: &quot;user&quot;,</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;content&quot;: &quot;generate a cat&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> }</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ]</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> }&#39;</span></span></code></pre></div><h3 id="响应示例-1" tabindex="-1">响应示例 <a class="header-anchor" href="#响应示例-1" aria-label="Permalink to “响应示例”"></a></h3><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>data: {&quot;id&quot;:&quot;chatcmpl-123&quot;,&quot;object&quot;:&quot;chat.completion.chunk&quot;,&quot;created&quot;:1732374740,&quot;model&quot;:&quot;gemini-3-pro-image-preview&quot;,&quot;choices&quot;:[{&quot;index&quot;:0,&quot;delta&quot;:{&quot;role&quot;:&quot;assistant&quot;,&quot;content&quot;:&quot;&quot;},&quot;finish_reason&quot;:null}]}</span></span>
<span class="line"><span></span></span>
<span class="line"><span>: keep-alive</span></span>
<span class="line"><span></span></span>
<span class="line"><span>: keep-alive</span></span>
<span class="line"><span></span></span>
<span class="line"><span>data: {&quot;id&quot;:&quot;chatcmpl-123&quot;,&quot;object&quot;:&quot;chat.completion.chunk&quot;,&quot;created&quot;:1732374740,&quot;model&quot;:&quot;gemini-3-pro-image-preview&quot;,&quot;choices&quot;:[{&quot;index&quot;:0,&quot;delta&quot;:{&quot;content&quot;:&quot;![generated](data:image/jpeg;base64,/9j/4AAQ...)&quot;},&quot;finish_reason&quot;:&quot;stop&quot;}]}</span></span>
<span class="line"><span></span></span>
<span class="line"><span>data: [DONE]</span></span></code></pre></div><h2 id="错误处理" tabindex="-1">错误处理 <a class="header-anchor" href="#错误处理" aria-label="Permalink to “错误处理”"></a></h2><h3 id="队列已满-429" tabindex="-1">队列已满 (429) <a class="header-anchor" href="#队列已满-429" aria-label="Permalink to “队列已满 (429)”"></a></h3><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;error&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;message&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;队列已满&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;type&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;rate_limit_exceeded&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;code&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;QUEUE_FULL&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">解决方案</p><p>启用流式模式 (<code>stream: true</code>) 可以无限排队,避免 429 错误。</p></div><h3 id="模型不支持-400" tabindex="-1">模型不支持 (400) <a class="header-anchor" href="#模型不支持-400" aria-label="Permalink to “模型不支持 (400)”"></a></h3><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;error&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;message&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;没有 Worker 支持模型: invalid-model&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;type&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;invalid_request_error&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;code&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;MODEL_NOT_FOUND&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-9a3aec1d data-v-84b12b97><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-84b12b97><span class="visually-hidden" id="doc-footer-aria-label" data-v-84b12b97>Pager</span><div class="pager" data-v-84b12b97><a class="VPLink link pager-link prev" href="/api/overview.html" data-v-84b12b97><!--[--><span class="desc" data-v-84b12b97>上一页</span><span class="title" data-v-84b12b97>接口概览</span><!--]--></a></div><div class="pager" data-v-84b12b97><a class="VPLink link pager-link next" href="/api/models.html" data-v-84b12b97><!--[--><span class="desc" data-v-84b12b97>下一页</span><span class="title" data-v-84b12b97>Models</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"admin_linux.md\":\"C4pirr1w\",\"admin_troubleshooting.md\":\"BdBPvYAx\",\"admin_webui.md\":\"C6OfyL7c\",\"api_chat.md\":\"CVfvhFz2\",\"api_cookies.md\":\"BngFs3oo\",\"api_models.md\":\"BmD2H_2d\",\"api_overview.md\":\"BJJapNOd\",\"config_instances.md\":\"CvnejDKP\",\"config_overview.md\":\"-rOn3l_p\",\"config_proxy.md\":\"B7kjsU6e\",\"guide_deployment.md\":\"Browh70b\",\"guide_first-use.md\":\"C0Hv5lBx\",\"guide_introduction.md\":\"D7_DJb6Y\",\"guide_requirements.md\":\"ettCHBZs\",\"index.md\":\"C3b48Ls9\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"WebAI2API\",\"description\":\"网页版 AI 服务转 OpenAI 兼容 API\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"入门指南\",\"link\":\"/guide/requirements\"},{\"text\":\"API 参考\",\"link\":\"/api/overview\"}],\"sidebar\":[{\"text\":\"入门指南\",\"items\":[{\"text\":\"项目介绍\",\"link\":\"/guide/introduction\"},{\"text\":\"环境要求\",\"link\":\"/guide/requirements\"},{\"text\":\"快速部署\",\"link\":\"/guide/deployment\"},{\"text\":\"首次使用\",\"link\":\"/guide/first-use\"}]},{\"text\":\"配置说明\",\"items\":[{\"text\":\"配置概览\",\"link\":\"/config/overview\"},{\"text\":\"实例配置\",\"link\":\"/config/instances\"},{\"text\":\"代理设置\",\"link\":\"/config/proxy\"}]},{\"text\":\"API 参考\",\"items\":[{\"text\":\"接口概览\",\"link\":\"/api/overview\"},{\"text\":\"Chat Completions\",\"link\":\"/api/chat\"},{\"text\":\"Models\",\"link\":\"/api/models\"},{\"text\":\"Cookies\",\"link\":\"/api/cookies\"}]},{\"text\":\"运维管理\",\"items\":[{\"text\":\"Web 管理界面\",\"link\":\"/admin/webui\"},{\"text\":\"Linux 部署\",\"link\":\"/admin/linux\"},{\"text\":\"故障排查\",\"link\":\"/admin/troubleshooting\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/foxhui/WebAI2API\"}],\"outline\":{\"label\":\"页面导航\"},\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false,\"additionalConfig\":{}}");</script>
</body>
</html>