mirror of
https://github.com/foxhui/WebAI2API.git
synced 2026-06-16 21:03:59 +08:00
109 lines
38 KiB
HTML
109 lines
38 KiB
HTML
<!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;"> "messages"</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;"> "role"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"user"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "content"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"生成一只可爱的猫"</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;"> "messages"</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;"> "role"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"user"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "content"</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;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"text"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "text"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"让这张图片更加鲜艳"</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;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"image_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "image_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"data:image/jpeg;base64,/9j/4AAQ..."</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;"> "Content-Type: application/json"</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;"> "Authorization: Bearer sk-your-key"</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;"> '{</span></span>
|
||
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "model": "gemini-3-pro-image-preview",</span></span>
|
||
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "messages": [</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;"> "role": "user",</span></span>
|
||
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "content": "generate a cat"</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;"> }'</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;"> "id"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"chatcmpl-1732374740123"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "object"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"chat.completion"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "created"</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;"> "model"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"gemini-3-pro-image-preview"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "choices"</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;"> "index"</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;"> "message"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "role"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"assistant"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "content"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">""</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;"> "finish_reason"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"stop"</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;"> "Content-Type: application/json"</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;"> "Authorization: Bearer sk-your-key"</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;"> '{</span></span>
|
||
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "model": "gemini-3-pro-image-preview",</span></span>
|
||
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "stream": true,</span></span>
|
||
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "messages": [</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;"> "role": "user",</span></span>
|
||
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "content": "generate a cat"</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;"> }'</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: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1732374740,"model":"gemini-3-pro-image-preview","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":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: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1732374740,"model":"gemini-3-pro-image-preview","choices":[{"index":0,"delta":{"content":""},"finish_reason":"stop"}]}</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;"> "error"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "message"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"队列已满"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"rate_limit_exceeded"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "code"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"QUEUE_FULL"</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;"> "error"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "message"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"没有 Worker 支持模型: invalid-model"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"invalid_request_error"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "code"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"MODEL_NOT_FOUND"</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> |