API 接口文档
万事答 API 提供文本生成、图片生成、视频生成等多种 AI 能力,支持 OpenAI 兼容格式和 Anthropic 原生格式。
所有接口均使用 HTTP 协议,基础地址为 http://api.gs-vip.cn。
文本生成
三种协议:OpenAI Chat Completions、Responses API、Anthropic Messages
图片生成
GptImage-2 和 NanoBanana 两种模型格式
视频生成
Seedance-2-0 视频生成模型
认证方式
所有 API 请求需要在 HTTP Header 中携带用户身份标识:
| Header 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
x-api-key |
string | 是 | API Key,在后台 API Keys 中配置 |
Content-Type |
string | 是 | 请求内容类型,通常为 application/json |
taskId,再轮询任务状态获取结果。
大模型接入说明
不同大模型对应的接口协议不同,请根据所选模型使用对应的请求地址:
文本统一请求地址
| 大模型 | 请求接口 | 请求地址 |
|---|---|---|
gpt-5.2 |
v1/chat/completions | http://api.gs-vip.cn/v1/chat/completions |
gpt-5.4 |
v1/chat/completions | http://api.gs-vip.cn/v1/chat/completions |
gpt-5.4-pro |
v1/responses | http://api.gs-vip.cn/v1/responses |
gpt-5.1-codex |
v1/responses | http://api.gs-vip.cn/v1/responses |
gpt-5.3-codex |
v1/responses | http://api.gs-vip.cn/v1/responses |
claude-opus-4-7 |
v1/messages | http://api.gs-vip.cn/v1/messages |
claude-opus-4-8 |
v1/messages | http://api.gs-vip.cn/v1/messages |
glm-5.1 |
v1/chat/completions | http://api.gs-vip.cn/v1/chat/completions |
deepseek-v4-pro |
v1/chat/completions | http://api.gs-vip.cn/v1/chat/completions |
qwen3.7-max |
v1/chat/completions | http://api.gs-vip.cn/v1/chat/completions |
kimi-k2.6 |
v1/chat/completions | http://api.gs-vip.cn/v1/chat/completions |
文本生成 — v1/chat/completions
OpenAI 兼容的 Chat Completions 接口,采用标准 messages 数组格式,支持多轮对话和图像输入。
适用于 GPT、DeepSeek、GLM、Qwen、Kimi 等模型。
请求地址
请求 Headers
| Header 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
Content-Type |
string | 是 | 固定值 application/json |
x-api-key |
string | 是 | API Key,在后台 API Keys 中配置 |
标准模型 — 发送到 AI 服务的 JSON
系统将用户请求转换为标准 OpenAI Chat Completions 格式后发送到后端 AI 服务。
{
"model": "gpt-4o",
"messages": [
{ "role": "system", "content": "你是一个有用的AI助手..." },
{ "role": "user", "content": "你好,请介绍一下自己" }
],
"stream": true
}
{
"model": "gpt-4o",
"messages": [
{ "role": "system", "content": "你是一个有用的AI助手..." },
{ "role": "user", "content": "你好,请介绍一下自己" }
],
"stream": false,
"temperature": 0.7,
"max_tokens": 4096
}
多模态消息 — 图文混合
{
"model": "gpt-4o",
"messages": [
{ "role": "system", "content": "你是一个有用的AI助手" },
{
"role": "user",
"content": [
{ "type": "text", "text": "请描述这张图片" },
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
}
]
}
],
"stream": true
}
DeepSeek 模型 — 请求格式
使用 DeepSeek 模型(如 deepseek-v4-pro)时,系统额外注入 extra_body 启用深度思考:
{
"model": "deepseek-v4-pro",
"messages": [
{ "role": "system", "content": "你是一个深度推理助手" },
{ "role": "user", "content": "请证明勾股定理" }
],
"stream": true,
"extra_body": {
"thinking": { "type": "enabled" },
"reasoning_effort": "high"
}
}
GPT-5.2 / GPT-5.4 — 请求格式
GPT-5.2 / GPT-5.4 额外注入 stream_options 在流式响应中返回 token 用量:
{
"model": "gpt-5.2",
"messages": [
{ "role": "system", "content": "你是一个有用的AI助手" },
{ "role": "user", "content": "写一个快速排序算法" }
],
"stream": true,
"stream_options": { "include_usage": true }
}
响应格式
非流式响应(stream: false)
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1717200000,
"model": "gpt-4o",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是AI助手,很高兴为你服务。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 18,
"total_tokens": 43
}
}
流式响应 — 标准 OpenAI SSE 格式
AI 服务返回的标准 OpenAI 流式 SSE 事件:
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"你好"},"finish_reason":null}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"我是"},"finish_reason":null}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":{"prompt_tokens":25,"completion_tokens":18,"total_tokens":43}}
data: [DONE]
模型特定参数汇总
| 模型 | 额外参数 | 效果 |
|---|---|---|
| DeepSeek | extra_body: { thinking: { type: "enabled" }, reasoning_effort: "high" } |
启用深度思考,返回推理过程(t=r 事件) |
| GPT-5.2 / GPT-5.4 | stream_options: { include_usage: true } |
在流式最后一条 chunk 中包含 token 用量 |
文本生成 — v1/responses
OpenAI Responses API 格式接口,采用 input 字段替代 messages 数组,
通过 previous_response_id 维护对话状态。适用于 GPT-5.1、GPT-5.3-codex、GPT-5.4-pro 等模型。
请求地址
请求 Headers
| Header 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
Content-Type |
string | 是 | 固定值 application/json |
x-api-key |
string | 是 | API Key,在后台 API Keys 中配置 |
发送到 AI 服务的 JSON — 首次消息(无 previous_response_id)
{
"model": "gpt-5.4-pro",
"input": "你好,请介绍一下自己",
"stream": true,
"instructions": "你是一个有用的AI助手。请遵循以下格式规范:..."
}
{
"model": "gpt-5.4-pro",
"input": "你好,请介绍一下自己",
"stream": false,
"instructions": "你是一个有用的AI助手..."
}
发送到 AI 服务的 JSON — 后续消息(有 previous_response_id)
{
"model": "gpt-5.4-pro",
"input": "刚才说的不对,请重新解释",
"stream": true,
"previous_response_id": "resp_abc123xyz"
}
多模态 input — 图文混合
{
"model": "gpt-5.4-pro",
"input": [
{ "type": "input_text", "text": "描述这张图片" },
{
"type": "input_image",
"image_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
],
"stream": true,
"previous_response_id": "resp_abc123xyz"
}
•
input 替代 messages,不需要 role 字段• 通过
previous_response_id 维持对话状态,无需客户端管理历史•
instructions 仅在首次消息时发送,后续消息只传 previous_response_id
Responses API 字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
model |
string | 模型名称 |
input |
string / array | 输入内容。纯文本为字符串,多模态为 input_text + input_image 数组 |
stream |
bool | 是否流式输出 |
instructions |
string | 系统指令,仅首次消息时发送 |
previous_response_id |
string | 上一条响应的 ID,后续消息必需 |
temperature |
float | 采样温度(可选) |
max_output_tokens |
int | 最大输出 token 数(可选) |
响应格式
非流式响应(stream: false)
{
"id": "resp_abc123xyz",
"object": "response",
"created_at": 1717200000,
"status": "completed",
"model": "gpt-5.4-pro",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "你好!我是AI助手,很高兴为你服务。",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 150,
"output_tokens": 80,
"total_tokens": 230
}
}
流式响应 — SSE 格式
event: response.created
data: {"type":"response.created","response":{"id":"resp_abc123xyz","status":"in_progress",...}}
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":"你好"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":"!"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":"我是AI助手..."}
event: response.reasoning_text.delta
data: {"type":"response.reasoning_text.delta","delta":"我需要先理解用户的问题..."}
event: response.completed
data: {"type":"response.completed","response":{"id":"resp_abc123xyz","status":"completed","usage":{"input_tokens":150,"output_tokens":80,"total_tokens":230}}}
Responses API SSE 原生事件类型
| 事件类型 | 方向 | 说明 |
|---|---|---|
response.created |
AI → 系统 | 响应已创建,包含 response.id |
response.in_progress |
AI → 系统 | 模型开始生成 |
response.output_text.delta |
AI → 系统 | 输出文本增量,delta 为新增文本 |
response.reasoning_text.delta |
AI → 系统 | 推理过程增量(模型思考内容) |
response.completed |
AI → 系统 | 响应完成,包含 response.id 和 usage |
文本生成 — v1/messages
Anthropic Claude Messages API 兼容接口,采用 system 独立字段和 content 块(ContentBlock)数组格式。
适用于 Claude 系列模型。
请求地址
请求 Headers
| Header 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
Content-Type |
string | 是 | 固定值 application/json |
x-api-key |
string | 是 | API Key,在后台 API Keys 中配置 |
x-api-format |
string | 是 | 固定值 anthropic,标识使用 Anthropic 格式 |
实际发送到 AI 服务的格式(Anthropic 原生)
{
"model": "claude-sonnet-4-6",
"system": "你是一个有用的AI助手...",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "你好,请介绍一下自己" },
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUg..."
}
}
]
},
{
"role": "assistant",
"content": [
{ "type": "text", "text": "你好!我是 Claude..." }
]
}
],
"max_tokens": 100000,
"stream": true
}
{
"model": "claude-sonnet-4-6",
"system": "你是一个有用的AI助手...",
"messages": [
{ "role": "user", "content": "你好,请介绍一下自己" }
],
"max_tokens": 100000,
"stream": false,
"temperature": 0.7,
"top_p": 0.9
}
ContentBlock 类型说明
| 类型 | type 值 | 字段 | 说明 |
|---|---|---|---|
| 文本块 | text |
text: string |
纯文本消息内容 |
| 图片块 | image |
source: { type, media_type, data } |
Base64 编码的图片,支持 png/jpeg/gif/webp |
| 工具调用 | tool_use |
id, name, input |
模型发起的工具调用请求 |
| 工具结果 | tool_result |
tool_use_id, content, is_error |
工具调用的返回结果 |
max_tokens、media_type、tool_use_id),与 OpenAI 的 camelCase 不同。
响应格式
非流式响应(stream: false)
{
"id": "msg_abc123xyz",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4-6",
"content": [
{
"type": "text",
"text": "你好!我是 Claude,很高兴为你服务。"
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 50,
"output_tokens": 30
}
}
流式响应 — Anthropic 原生 SSE 格式
event: message_start
data: {"type":"message_start","message":{"id":"msg_abc123xyz","type":"message","role":"assistant","model":"claude-sonnet-4-6","content":[],"usage":{"input_tokens":50}}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"你好"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!我是"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Claude,"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":"我应该用中文回复用户的问候..."}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":30}}
Anthropic SSE 原生事件类型
| 事件类型 | 方向 | delta.type | 说明 |
|---|---|---|---|
message_start |
AI → 系统 | - | 消息开始,包含 usage.input_tokens |
content_block_start |
AI → 系统 | - | 内容块开始,标记新的 text/thinking 块 |
content_block_delta |
AI → 系统 | text_delta |
文本增量,delta.text 为新增内容 |
content_block_delta |
AI → 系统 | thinking_delta |
推理过程增量,delta.thinking 为推理内容 |
content_block_stop |
AI → 系统 | - | 内容块结束 |
message_delta |
AI → 系统 | - | 消息结束,包含 usage.output_tokens 和 stop_reason |
event: + data: 双行格式,而 OpenAI 只使用 data: 单行。
系统会统一转换为 gs-vip.cn 的 {"t":"...","c":"..."} 格式返回给客户端。
图片生成 — GptImage-2
GptImage-2 模型支持文本生成图片,可选参考图引导和遮罩编辑。 支持 JSON 和 Multipart 两种提交格式。
请求地址
请求 Headers
| Header 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
Content-Type |
string | 是 | application/json(纯文本)或 multipart/form-data(含参考图) |
x-api-key |
string | 是 | API Key,在后台 API Keys 中配置 |
格式一:JSON 请求(无参考图)
{
"modelId": 3,
"modelName": "gpt-image-2-official",
"model": "gpt-image-2",
"prompt": "一只可爱的橘猫坐在窗台上看日落",
"n": 1,
"size": "1024x1024",
"quality": "hd",
"resolution": "high",
"background": "transparent",
"moderation": "active",
"outputFormat": "png",
"outputCompression": 0,
"conversationId": null,
"refImageUrls": null,
"maskImageUrl": null
}
格式二:Multipart 请求(含参考图)
model: gpt-image-2 (文本字段)
prompt: 基于参考图生成变体 (文本字段)
n: 2 (文本字段)
size: 1024x1024 (文本字段,可选)
quality: hd (文本字段,可选)
resolution: high (文本字段,可选)
background: #FFFFFF (文本字段,可选)
image: @ref_image_1.png (文件字段,可多个)
mask: @mask_image.png (文件字段,可选)
请求字段说明
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
modelId |
int | 是 | 模型ID(GptImage-2 对应值为 3) |
modelName |
string | 是 | 模型显示名称,如 gpt-image-2-official |
model |
string | 是 | 模型标识,固定 gpt-image-2 |
prompt |
string | 是 | 图片描述文本(提示词) |
n |
int | 否 | 生成图片数量,默认 1 |
size |
string | 否 | 图片尺寸,如 1024x1024、1792x1024 等 |
quality |
string | 否 | 图片质量,如 hd、standard |
resolution |
string | 否 | 分辨率级别,如 high、medium |
background |
string | 否 | 背景设置:transparent(透明)或颜色值如 #FFFFFF |
moderation |
string | 否 | 内容安全审核:active 或 passive |
outputFormat |
string | 否 | 输出格式,如 png、jpeg、webp |
outputCompression |
int | 否 | 输出压缩级别,0-100 |
conversationId |
string / null | 否 | 会话ID |
refImageUrls |
array / null | 否 | 参考图片URL列表。存在时自动切换为 multipart 格式 |
maskImageUrl |
string / null | 否 | 遮罩图片URL(用于局部编辑),仅 multipart 模式支持 |
任务提交响应
{
"code": 200,
"id": "task_abc123xyz"
}
任务状态轮询响应
{
"status": 3,
"data": [
{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." },
{ "b64_json": "..." }
],
"output_format": "png",
"usage": {
"input_tokens": 150,
"output_tokens": 2048
}
}
任务状态码
| 状态码 | 含义 |
|---|---|
| 1 | 等待处理(Pending) |
| 2 | 处理中(Processing) |
| 3 | 已完成(Completed),data 中包含 base64 图片 |
| 4 | 失败(Failed),msg 中包含错误描述 |
| 5 | 已取消(Cancelled) |
图片生成 — NanoBanana
NanoBanana 采用 Google Gemini 原生图片生成格式,使用 input + parameters 结构。
支持同时输出文本和图片(多模态响应)。
请求地址
请求 Headers
| Header 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
Content-Type |
string | 是 | 固定值 application/json |
x-api-key |
string | 是 | API Key,在后台 API Keys 中配置 |
请求体(JSON)—— 用户发送格式
{
"modelId": 10,
"modelName": "gemini-2.5-flash-image",
"model": "gpt-image-2",
"prompt": "生成一张赛博朋克风格的未来城市全景图",
"size": "16:9",
"resolution": "4K",
"conversationId": null,
"refImageUrls": [
"/files/ref_style.png"
]
}
实际发送到 AI 服务的格式(Gemini 原生)
{
"model": "gemini-2.5-flash-image",
"input": {
"prompt": "生成一张赛博朋克风格的未来城市全景图",
"images": [
"data:image/png;base64,iVBORw0KGgo..."
]
},
"parameters": {
"temperature": 1,
"maxOutputTokens": 32768,
"responseModalities": ["TEXT", "IMAGE"],
"topP": 0.95,
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "4K"
}
}
}
参数字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
temperature |
float | 采样温度,固定为 1 |
maxOutputTokens |
int | 最大输出 Token 数,固定为 32768 |
responseModalities |
string[] | 响应模态,固定为 ["TEXT", "IMAGE"],同时返回文本和图片 |
topP |
float | 核采样参数,固定为 0.95 |
imageConfig.aspectRatio |
string | 宽高比,映射自用户请求的 size 字段,如 1:1、16:9 |
imageConfig.imageSize |
string | 图片尺寸,映射自用户请求的 resolution 字段,如 1K、2K、4K |
data:image/...;base64,... 格式内嵌在 input.images 数组中。
任务状态响应
{
"status": 3,
"data": [
{ "base64": "data:image/png;base64,iVBORw0KGgo..." }
],
"usage": {
"input_total_tokens": 200,
"output_total_tokens": 4096
}
}
base64(可能包含 data URI 前缀),且 usage 中的字段名为 input_total_tokens 和 output_total_tokens,与 GptImage-2 的命名略有不同。
视频生成 — Seedance-2-0
Seedance-2-0 视频生成模型,支持文本生成视频、图片转视频、音频配合等功能。
使用统一的 input + parameters 结构提交任务。
请求地址
请求 Headers
| Header 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
Content-Type |
string | 是 | 固定值 application/json |
x-api-key |
string | 是 | API Key,在后台 API Keys 中配置 |
请求体(JSON)
{
"modelId": 5,
"modelName": "seedance-2-0",
"prompt": "一个女孩在樱花树下跳舞,花瓣随风飘落",
"duration": 5,
"resolution": "1080p",
"ratio": "16:9",
"generateAudio": 1,
"conversationId": null,
"refImageUrls": null,
"firstFrameUrl": null,
"lastFrameUrl": null,
"refAudioUrl": null,
"refVideoUrl": null
}
请求字段说明
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
modelId |
int | 是 | 模型ID |
modelName |
string | 是 | 模型名称,如 seedance-2-0 |
prompt |
string | 是 | 视频描述文本(提示词) |
duration |
int | 否 | 视频时长(秒),默认 5 |
resolution |
string | 否 | 视频分辨率,如 1080p、720p、4K |
ratio |
string | 否 | 画面比例,如 16:9、9:16、1:1 |
generateAudio |
int | 否 | 是否生成音频:1=是,0=否 |
conversationId |
string / null | 否 | 会话ID |
refImageUrls |
array / null | 否 | 参考图片URL列表。可上传多张,以 base64 data URI 形式发送 |
firstFrameUrl |
string / null | 否 | 首帧图片URL,用于视频起始画面引导 |
lastFrameUrl |
string / null | 否 | 末帧图片URL,用于视频结束画面引导 |
refAudioUrl |
string / null | 否 | 参考音频URL(支持 mp3、wav),以 base64 data URI 形式发送 |
refVideoUrl |
string / null | 否 | 参考视频URL(支持 mp4、mov、avi、webm、mkv),直接传递原始URL |
实际发送到 AI 服务的格式
{
"model": "seedance-2-0",
"input": {
"prompt": "一个女孩在樱花树下跳舞,花瓣随风飘落",
"first_frame_url": "data:image/png;base64,...",
"last_frame_url": "data:image/png;base64,...",
"images": [
"data:image/png;base64,iVBORw0KGgo..."
],
"audio_url": "data:audio/mpeg;base64,...",
"reference_urls": [
"/files/ref_video.mp4"
]
},
"parameters": {
"duration": 5,
"resolution": "1080p",
"ratio": "16:9",
"generate_audio": true
}
}
• 图片文件(参考图、首帧、末帧):转换为
data:{mime};base64,... 格式内嵌• 音频文件:转换为
data:audio/mpeg;base64,... 格式内嵌• 视频文件:直接传递原始URL路径
• 所有文件需先通过上传接口上传获取URL
文件上传接口
视频生成所需的图片、音频、视频参考文件需通过以下接口预先上传:
| 接口 | 方法 | 限制 | 支持格式 |
|---|---|---|---|
/api/video/v1/image |
POST | 20MB | jpg, jpeg, png, gif, webp, bmp |
/api/video/v1/audio |
POST | 50MB | mp3, wav |
/api/video/v1/video |
POST | 50MB | mp4, mov, avi, webm, mkv |
上传成功后返回:{"fileId": "...", "fileName": "...", "fileSize": 12345, "localPath": "/files/xxx.png"},将其中的 localPath 作为参考URL传入生成请求。
任务提交响应
{
"code": 200,
"data": {
"task_id": "video_task_abc123xyz"
}
}
任务状态轮询响应
{
"status": 4,
"data": {
"url": [
"http://cdn.example.com/output/video_001.mp4"
]
},
"message": "",
"usage": {
"input_tokens": 300,
"output_tokens": 5000
}
}
视频任务状态码
| 状态码 | 含义 |
|---|---|
| 1 | 等待处理(Pending) |
| 2 | 处理中(Processing) |
| 3 | 已提交(Submitted) |
| 4 | 已完成(Completed),data.url 包含视频下载链接 |
| 5 | 失败(Failed),message 包含错误描述 |
| 6 | 已取消(Cancelled) |