Vel 哇浪 AI
OpenAI 兼容 API 文档
快速接入
一个站点地址,按任务选择接口。先跑通最小请求,再添加模型参数。
- 创建令牌在控制台「令牌」页创建 API Key,确认余额与模型分组。
- 选择模型与协议用同一令牌查询
GET /v1/models,确认完整模型 ID 与可见性,端点按下方实际渠道协议对照选择。 - 发送最小请求按下方任务入口选择示例,成功后再加入工具、多模态或质量参数。
| 配置项 | 填写值 | 使用场景 |
|---|---|---|
| API 根地址 | https://api.velapi.cc | 直接 HTTP 请求;HTTPS 默认端口 443 |
| OpenAI SDK Base URL | https://api.velapi.cc/v1 | SDK 自动拼接 Chat Completions / Responses 路径 |
| 通用鉴权 | Authorization: Bearer <你的令牌> | OpenAI 兼容接口;原生协议专用头见对话适配 |
| JSON 请求 | Content-Type: application/json | 本文 JSON 示例 |
如何查询当前令牌可用的模型
curl https://api.velapi.cc/v1/models \
-H "Authorization: Bearer $VELAPI_API_KEY"
模型 ID 在 data[].id;supported_endpoint_types 是目录展示标签,可能遗漏网关转换或上游实际支持的端点。协议选择以渠道适配说明与请求验证为准。示例结构如下:
{
"object": "list",
"data": [{
"id": "grok-4.6",
"object": "model",
"supported_endpoint_types": ["openai", "openai-response"]
}]
}
目录与权限可能更新。公开文档列常用模型;实际可调用清单以你的令牌返回为准。
对话模型 · 标准端点适配
先选择模型支持的协议,再填写地址与请求字段。OpenAI Chat Completions 是常用兼容方式;原生接口和转换接口按实际渠道协议选择。
渠道协议与端点对照
端点支持依据实际启用渠道的协议、适配器转换和请求结果整理。GET /v1/models 用于确认模型 ID 与令牌可见性;前端标签及 supported_endpoint_types 是展示信息,可能遗漏支持的端点。
| 模型系列 | 实际渠道协议 | 标准接入端点 | 适配条件 |
|---|---|---|---|
| GPT | OpenAI 兼容 | POST /v1/chat/completionsPOST /v1/responses | Chat 与 Responses 分别转发对应上游端点;具体模型需由上游提供该接口。目录只显示 Chat 时,也应按渠道核对 Responses。 |
| Grok | xAI / OpenAI 兼容 | POST /v1/chat/completionsPOST /v1/responses | 使用对应的 OpenAI 标准请求与返回格式;Responses 已验证流式事件。 |
| Claude | Anthropic Messages | POST /v1/messagesPOST /v1/chat/completionsPOST /v1/responses | Messages 为渠道原生协议;Chat 与 Responses 由网关转换为 Messages,再转换返回格式。 |
| Gemini | Gemini generateContent | POST /v1beta/models/{model}:generateContentPOST /v1beta/models/{model}:streamGenerateContent?alt=ssePOST /v1/chat/completionsPOST /v1/responses | 原生请求直接适配 Gemini;Chat 与 Responses 经网关转换。当前基础请求存在 500,协议适配与服务可用性分别判断。 |
最近验证 · 2026-10-08
gpt-5.6-luna:Chat Completions 返回 200;Responses 流式也返回 200、预期文本和response.completed终态。目录标签仅有 Chat,实际支持 Responses。claude-sonnet-5-5:Messages 和 Responses 基础文本请求均返回 200,并返回预期文本;Responses 由网关转换到 Messages。grok-4.6:Responses 流式请求返回 200,响应类型为text/event-stream,包含response.created等标准事件。- Gemini:实际渠道使用 Gemini 原生协议,Chat 经网关转换;本次两个路径的基础请求均返回 500(
do_request_failed),使用前先确认模型服务恢复。
以上验证覆盖基础文本请求;工具调用、多模态、结构化输出和会话续接需按具体模型能力单独确认。
当前公开对话模型
这里列出核对时的公开模型名称。请求中的 model 应使用完整 ID,保持大小写与标点一致。
GPT
Grok
Claude
Gemini
OpenAI Chat Completions
POST https://api.velapi.cc/v1/chat/completions。必填 model 和 messages;请求头使用 Authorization: Bearer <令牌>。
最小请求 · curl(Bash / macOS / Linux)
示例从环境变量 VELAPI_API_KEY 读取你的令牌。
curl https://api.velapi.cc/v1/chat/completions \
-H "Authorization: Bearer $VELAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-luna",
"messages": [{"role": "user", "content": "用一句话解释 API"}],
"stream": false
}'
非流式文本读取 choices[0].message.content;用量读取 usage。连续对话由客户端把历史 user/assistant 消息一并放入 messages。
流式请求与解析
改为 "stream": true,curl 添加 -N 关闭输出缓冲。逐个 SSE 事件读取 choices[0].delta.content,收到 [DONE] 后结束;用量事件可能只有 usage。
data: {"choices":[{"delta":{"content":"API 是"}}]}
data: {"choices":[{"delta":{"content":"程序之间的接口。"}}]}
data: {"choices":[{"delta":{},"finish_reason":"stop"}]}
data: [DONE]
展开常用字段与工具调用约定
| 字段 | 用途 | 适配条件 |
|---|---|---|
model / messages | 模型 ID / 对话历史 | 必填。文本消息使用 {"role":"user","content":"..."} |
stream / stream_options | SSE / 流末尾用量 | 模型支持时可传 {"include_usage":true} |
max_tokens / max_completion_tokens | 生成长度上限 | 按模型选择其接受的字段,避免同时设置。推理模型的上限可能包含推理 token |
temperature / top_p | 采样参数 | 按模型支持范围设置;收到参数错误时先用最小请求确认 |
tools / tool_choice | 工具定义 / 选择策略 | 模型须支持工具调用;Chat Completions 使用嵌套 function 定义 |
response_format | JSON / 结构化输出 | 仅在模型支持该格式时设置 |
reasoning_effort | 推理强度 | 仅适用于接受该字段的推理模型;允许值以具体模型为准 |
多模态 content | 文本与图片等内容块 | 取决于模型能力;纯文本成功不代表多模态已验证 |
工具结果由客户端执行后以 role: "tool" 和对应 tool_call_id 回传,再发起下一轮请求。工具定义与回传格式随协议不同,请按当前端点组装。
Python SDK 的 extra_body 是向请求 JSON 添加字段的 SDK 参数,HTTP 请求中应直接放入这些字段。参数通过网关接收仍可能被具体模型忽略或校验。
OpenAI Responses
POST https://api.velapi.cc/v1/responses。GPT 的 OpenAI 兼容渠道与 Grok 的 xAI 渠道可转发 Responses;Claude 与 Gemini 渠道通过适配器转换。已实测 GPT、Grok 与 Claude 基础请求;Gemini 当前服务异常。目录缺少 openai-response 标签并不代表该接口未被支持。
curl -N https://api.velapi.cc/v1/responses \
-H "Authorization: Bearer $VELAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.6",
"input": "用一句话解释 API",
"max_output_tokens": 128,
"stream": true
}'
| 项目 | Responses 约定 |
|---|---|
| 输入 / 指令 | input 可为文本或标准输入项数组;系统指令使用 instructions |
| 生成长度 | max_output_tokens |
| 非流式文本 | output[] 中消息的 content[] 文本项;OpenAI SDK 可读取 output_text |
| 流式文本 | response.output_text.delta 事件的 delta |
| 结束 / 失败 | 处理 response.completed、response.failed、response.incomplete 等终态 |
Responses 使用带事件名的 SSE。解析器应按完整事件处理;previous_response_id、持久化、后台任务和工具能力需按模型服务确认,首次接入建议采用自包含输入。
Anthropic Messages
POST https://api.velapi.cc/v1/messages。标准鉴权使用 x-api-key,并带 anthropic-version: 2023-06-01。
curl https://api.velapi.cc/v1/messages \
-H "x-api-key: $VELAPI_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 128,
"messages": [{"role": "user", "content": "用一句话解释 API"}]
}'
max_tokens 必填;系统指令放在顶层 system。返回文本读取 content[] 中 type: "text" 的 text。
流式添加 "stream": true,处理 message_start、content_block_delta、message_delta、message_stop;文本增量通常在 delta.text。工具采用 input_schema、tool_use 和 tool_result 的 Messages 格式。
Gemini 原生接口
500 / do_request_failed。下面展示标准请求格式,成功调用需等待模型服务恢复后再验证。模型 ID 放在 URL 中;正文使用 contents 和 parts。标准鉴权为 x-goog-api-key。
curl 'https://api.velapi.cc/v1beta/models/gemini-3.8-flash:generateContent' \
-H "x-goog-api-key: $VELAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"role": "user", "parts": [{"text": "用一句话解释 API"}]}],
"generationConfig": {"maxOutputTokens": 128}
}'
非流式返回读取 candidates[].content.parts[].text。连续对话中助手角色为 model;系统指令使用 systemInstruction。
原生流式 URL 使用 :streamGenerateContent?alt=sse,逐个 SSE 数据对象读取候选文本。选择 OpenAI 兼容客户端时,请改用 Chat Completions 的字段与地址;原生 contents 与 Chat 的 messages 分别属于不同协议。
SDK 与客户端地址怎么填
站点通过 HTTPS 的标准端口 443 提供服务,地址中可省略端口号。SDK 通常会自动拼接端点,请按配置项的含义填写。
| 配置类型 | 填写值 | 说明 |
|---|---|---|
OpenAI SDK 的 base_url | https://api.velapi.cc/v1 | 用于 Chat Completions;Responses 按实际渠道协议与上游支持情况选择模型 |
Anthropic SDK 的 base_url | https://api.velapi.cc | SDK 自动拼接 /v1/messages |
| 客户端的站点 / API 根地址 | https://api.velapi.cc | 当客户端自动附加 /v1 时填写根地址 |
| 客户端要求完整 URL | 填写所选协议的完整端点 | 如 https://api.velapi.cc/v1/chat/completions |
| API Key / 模型 | 你的 VelAPI 令牌 / 完整模型 ID | 令牌放在客户端的密钥配置项中 |
/v1/chat/completions,Responses 为 /v1/responses,Messages 为 /v1/messages。出现 /v1/v1/ 时调整 Base URL;模型存在但调用失败时,核对协议、权限与服务状态。Python · OpenAI SDK
安装依赖:pip install -U openai。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["VELAPI_API_KEY"],
base_url="https://api.velapi.cc/v1",
)
reply = client.chat.completions.create(
model="gpt-5.6-luna",
messages=[{"role": "user", "content": "用一句话解释 API"}],
)
print(reply.choices[0].message.content)
# 按实际渠道协议选择 Responses 模型
response = client.responses.create(model="grok-4.6", input="用一句话解释 API")
print(response.output_text)
JavaScript · OpenAI SDK
安装依赖:npm install openai;使用 Node.js 的 ES Module 运行示例。
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.VELAPI_API_KEY,
baseURL: "https://api.velapi.cc/v1",
});
const stream = await client.chat.completions.create({
model: "gpt-5.6-luna",
messages: [{ role: "user", content: "用一句话解释 API" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
Python · Anthropic SDK
安装依赖:pip install -U anthropic。
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["VELAPI_API_KEY"],
base_url="https://api.velapi.cc",
)
reply = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=128,
messages=[{"role": "user", "content": "用一句话解释 API"}],
)
print("".join(block.text for block in reply.content if block.type == "text"))
Windows · PowerShell 最小请求
$headers = @{ Authorization = "Bearer $env:VELAPI_API_KEY" }
$body = @{
model = "gpt-5.6-luna"
messages = @(@{ role = "user"; content = "用一句话解释 API" })
} | ConvertTo-Json -Depth 6
$reply = Invoke-RestMethod `
-Uri "https://api.velapi.cc/v1/chat/completions" `
-Method Post -Headers $headers -ContentType "application/json; charset=utf-8" -Body $body
$reply.choices[0].message.content
接入失败时按什么顺序排查
- 使用同一个令牌请求
GET /v1/models,确认模型 ID 与权限;端点按实际渠道协议核对,目录标签仅作参考。 - 核对最终 URL、协议专用鉴权头及请求体字段。
- 先用本文最小文本请求,成功后再添加采样、工具、多模态和推理参数。
- 流式请求返回 200 后仍需检查错误事件与终态;按请求时间和错误中的 request ID 定位服务错误。
生图模型 · 按场景选择接口
接口总览
| 场景 | 接口 | 模型区别 |
|---|---|---|
| 文生图 | POST /v1/images/generations | GPT 与 Google 系列均使用此 OpenAI 接口 |
| 图生图 / 图片编辑 | POST /v1/images/edits | GPT 与 Google 系列均使用;image + prompt,mask 可选 |
/v1/images/generations;带参考图的图生图/编辑走 /v1/images/edits,请求字段为 model、image、prompt,mask 可选。Nano-Banana-2 / nano-banana-2-2k / nano-banana-2-2k-sp;Nano Banana Pro:Nano-Banana-pro / nano-banana-pro-2k / nano-banana-pro-2k-sp;模型名与大小写以 GET /v1/models 为准。| 模型名 | 说明 | 计费规则 |
|---|---|---|
gpt-image2 / gpt-image2-c | GPT Image 标准与渠道变体 | 按质量/分辨率档位计费 |
gpt-image-2.5-c / gpt-image-2.5-flare / gpt-image-2.5-sunburst | GPT Image 2.5 系列 | 以实际扣费为准 |
Nano-Banana-2 | Nano Banana 2 | 按张 + 参数计费 |
Nano-Banana-pro | Nano Banana Pro | 按张 + 参数计费 |
nano-banana-2-2k / nano-banana-2-2k-sp | Nano Banana 2 Google 系列 2K 变体 | 按张 + 参数计费 |
nano-banana-pro-2k / nano-banana-pro-2k-sp | Nano Banana Pro Google 系列 2K 变体 | 按张 + 参数计费 |
grok-imagine-image / -2.0 / -edit / -quality | Grok Imagine 生图系 | 按张 + 参数计费 |
size / quality 参数自动匹配档位;未传 quality 按 LOW 档。完整模型清单以 GET /v1/models 返回为准。展开请求字段参考
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
model | 是 | string | 模型名,如 gpt-image2 / Nano-Banana-2 / nano-banana-2-2k / grok-imagine-image 等,以 GET /v1/models 为准 |
prompt | 是 | string | 图片描述 |
n | 否 | int | 一次生成张数,上限按模型与令牌限制确定 |
size | 否 | string | 如 1024x1024、2048x864;不填用模型默认 |
quality | 否 | string | LOW / MEDIUM / HIGH,不填默认 LOW |
response_format | 否 | string | url(默认,返回下载地址)或 b64_json |
style | 否 | string | 风格参数(厂商可选) |
images | 否 | array | 图生图/改图的输入图片 |
image | 否 | string | 单张输入图(URL/Base64) |
mask | 否 | string | 局部重绘蒙版 |
input_fidelity | 否 | string | 输入一致性强度(改图时) |
partial_images | 否 | array | 局部参考图 |
background | 否 | string | 背景(厂商扩展) |
moderation | 否 | string | 内容审核(厂商扩展) |
output_format | 否 | string | 输出格式(如 png/jpeg) |
output_compression | 否 | int | 输出压缩比(0–100) |
stream | 否 | bool | 是否流式返回 |
watermark | 否 | bool | 是否加水印 |
watermark_enabled | 否 | bool | 水印开关(部分模型) |
user | 否 | string | 调用方标识 |
user_id | 否 | string | 用户 ID(部分模型) |
extra_fields | 否 | object | 厂商扩展字段透传 |
扩展参数需按具体模型能力与实际响应确认。gpt-image2 / gpt-image2-c / gpt-image-2.5-c 的图生图 / 编辑走 POST /v1/images/edits(image 参考图 + prompt,mask 可选局部重绘)。
POST /v1/images/generations;图生图/编辑与 GPT 相同,走 POST /v1/images/edits,使用 image + prompt,mask 可选。比例用 size(任意 WxH 就近匹配),分辨率用 quality 或模型名变体;均为标准 OpenAI 字段,无需透传。请求示例 · curl
curl https://api.velapi.cc/v1/images/generations \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image2",
"prompt": "a cat on the moon",
"size": "2048x864",
"quality": "MEDIUM",
"n": 1
}'
请求示例 · Python(OpenAI SDK)
from openai import OpenAI
client = OpenAI(base_url="https://api.velapi.cc/v1",
api_key="sk-你的令牌")
resp = client.images.generate(
model="gpt-image2", prompt="a cat on the moon",
size="2048x864", quality="MEDIUM", n=1,
)
响应示例
{
"created": 1787030000,
"data": [
{ "url": "https://.../xxx.png" }
]
}
视频模型 · POST /v1/video/generations
| 模型名 | 计费规则 |
|---|---|
veo-3.1-flash / veo-3.1-flash-sp | 按条计费 |
veo-3.1-lite-sp | 按条计费 |
veo-3.1-pro / veo-3.1-pro-sp | 按条计费 |
omni-flash / omni-flash-sp | 按「分辨率 × 时长」计费 |
kling-video-o-3-c | 按「分辨率 × 时长」计费 |
grok-imagine-video | 按「分辨率 × 时长」计费 |
模型输入支持矩阵
✓ 支持 ✗ 不支持 — 以模型实际返回为准;数量为单次生成可传上限
| 模型 | 时长范围(默认) | 首帧 | 尾帧 | 参考图 | 参考视频 | 音频输出 | 音频参考 | seed |
|---|---|---|---|---|---|---|---|---|
veo-3.1-flash / veo-3.1-flash-sp | 默认8s(以模型为准) | ✓×1 | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ |
veo-3.1-lite-sp | 4–8s(8s) | ✓×1 | ✓×1 | ✗ | ✗ | ✓ | ✗ | ✓ |
veo-3.1-pro / veo-3.1-pro-sp | 默认8s(以模型为准) | ✓×1 | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ |
omni-flash / omni-flash-sp | 3–10s(5s) | ✗ | ✗ | ✓≤5 | ✗ | ✗ | ✗ | ✗ |
kling-video-o-3-c | 3–15s(3s) | ✓×1 | ✓×1 | ✓ | ✓ | ✓ | ✗ | — |
grok-imagine-video | 以模型为准 | — | — | — | — | — | — | — |
kling-video-o-3-c 支持参考图、首尾帧和参考视频;veo 系列的变体能力可能随渠道不同,请按对应模型名调用并以实际返回为准。GET /v1/models 为准。展开请求字段参考
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
model | 是 | string | 如 veo-3.1-lite-sp / omni-flash / kling-video-o-3-c 等,以 GET /v1/models 为准 |
prompt | 是 | string | 视频内容描述 |
image | 否 | string | 首帧输入图(图生视频),URL/Base64 |
images | 否 | array | 多图:第 1 张为首帧、第 2 张为尾帧(首尾帧生视频) |
input_reference | 否 | string | 参考输入图(参考图生视频,部分模型) |
duration_seconds | 否 | int | 时长,默认 8s(等价别名 duration / seconds) |
resolution | 否 | string | 分辨率,随模型而异:720p/1080p、768p/2k/4k 等 |
size | 否 | string | 宽高,如 1280x720;未给 resolution 时按此推导 |
width / height | 否 | int | 像素宽高(部分模型) |
fps | 否 | int | 帧率(部分模型) |
seed | 否 | int | 随机种子,可复现 |
n | 否 | int | 一次生成视频数量 |
response_format | 否 | string | 返回格式,默认 url |
user | 否 | string | 调用方标识 |
metadata | 否 | object | 厂商扩展参数(见下) |
参考输入参数全集
invalid image_url: image url returned 404)。客户端也可用顶层 image(首帧)、images(首帧/尾帧)、input_reference(参考图);多参考图、参考视频、音频参考用下表字段或 metadata。| 类别 | 字段 | 格式 |
|---|---|---|
| 参考图 | image_url | 单张图 URL |
| 参考图 | image_urls | 多张 ["url", ...] |
| 参考图 | image_reference / image_guidance | [{"image":{"id"或"url","type":"UPLOADED"},"strength":"MID"}](guidance 为兼容别名) |
| 参考视频 | video_url | 单条视频 URL |
| 参考视频 | video_reference | [{"id"或"url","type":"UPLOADED","duration":3}](duration 可选,提示截取时长) |
| 首帧 | start_image_url / start_frame | 首帧图 URL 或资源 ID |
| 尾帧 | end_image_url / end_frame | 尾帧图 URL 或 ID |
| 音频参考 | audio_url | 音频 URL |
| 音频参考 | audio_reference | [{"audio":{"id"或"url","type"},"duration":x}] |
image_url 对 sora2 自动当作首帧;非 sora 模型(如 wan-3.0)作为 image_reference(STRENGTH=MID)。首帧必填的模型(RequiresStartFrame)不传首帧返回 400(xxx requires start_frame);模型不支持某类参考输入同样返回 400(xx does not support ...)。首帧 / 尾帧 / 参考图 / 参考视频
- 首帧(图生视频):顶层
image或images[0]传首帧图; - 尾帧(首尾帧生视频):
images[1]传尾帧图; - 参考图:顶层
input_reference传参考输入图;角色/风格参考等走metadata透传(键名随模型); - 参考视频 / 音频及其它厂商参数:统一放
metadata透传,键名随模型(常见negative_prompt、style、quality_level、audio_url等);是否生效见上方模型输入支持矩阵。
时长超出上表范围返回 400;模型不支持的输入字段会被忽略或报错,以实际返回为准。
请求示例 · 文生视频
curl https://api.velapi.cc/v1/video/generations \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1-lite-sp",
"prompt": "city timelapse at night",
"resolution": "1080p",
"duration_seconds": 8,
"stream": true
}'
请求示例 · 首尾帧生视频
curl https://api.velapi.cc/v1/video/generations \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-video-o-3-c",
"prompt": "从清晨到黄昏,云在流动",
"images": [
"https://.../first.png",
"https://.../last.png"
],
"resolution": "1080p",
"duration_seconds": 5
}'
请求示例 · 参考图生视频
curl https://api.velapi.cc/v1/video/generations \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "omni-flash",
"prompt": "角色保持原样,从门口走向沙发",
"input_reference": "https://.../ref.png",
"metadata": {
"negative_prompt": "抖动、畸变",
"quality_level": "high"
},
"duration_seconds": 5
}'
响应示例(异步任务)
{
"task_id": "xxx",
"status": "pending"
}
视频为异步任务:提交后返回 task_id,轮询任务状态;status=completed 时携带成片地址。
HTTP_TIMEOUT=300(秒)配置;客户端请求超时请同步设为 ≥300s——这一行配置可解决大部分超时/中断问题。stream: true:客户端建议开启流式(SSE),服务端实时推送生成进度事件,体验最好且可显示进度;不传 stream 则返回 task_id 后自行轮询。generationConfig.videoDuration("4s" / "6s" / "8s");分辨率用模型名后缀 _1080p / _4k;横竖屏用后缀 _landscape / _portrait(不填默认横屏,带参考图按图比例推断)。均可选,模型名即可表达规格;具体规格名以模型目录为准。模型配置
视频配置参考保留 omni-flash、kling-video-o-3-c 与 veo-3.1-lite-sp。点开卡片查看参数并复制请求;模型是否可用以你的令牌目录为准。
视频模型
kling-video-o-3-c
3–15s · 16:9/9:16/1:1
全参考:图·首帧·尾帧·参考视频
音频输出 ✓
全参考:图·首帧·尾帧·参考视频
音频输出 ✓
能力总览
| 项目 | 支持值 |
|---|---|
model | kling-video-o-3-c(上游 kling-video-o-3,以 GET /v1/models 为准) |
| 模式 | 文生 / 图生(首帧)/ 首尾帧 / 参考图 / 参考视频 |
| 时长 | 3–15 秒,默认 3 |
| 比例 | 16:9(1920×1080)· 9:16(1080×1920)· 1:1(1440×1440) |
| 参考输入 | 首帧 ≤1 · 尾帧 ≤1 · 参考图 ✓ · 参考视频 ✓(数量以实际为准) |
| 音频 | 输出 ✓;音频参考 ✗ |
| seed | 以实际返回为准 |
| 计费 | 按「分辨率 × 时长」计费(以实际扣费为准) |
尺寸矩阵
| 比例 | 像素(宽×高) |
|---|---|
16:9 | 1920×1080 |
9:16 | 1080×1920 |
1:1 | 1440×1440 |
请求示例 · 图生视频(首帧)
curl https://api.velapi.cc/v1/video/generations \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-video-o-3-c",
"prompt": "花园里一台咖啡机缓缓旋转展示",
"image": "https://.../start.png",
"duration_seconds": 5,
"stream": true
}'
响应与查询、错误处理同 veo-3.1-lite 模板。
veo-3.1-lite-sp
视频生成
标准字段配置参考
标准字段配置参考
最小请求
使用目录中的完整模型名;时长、分辨率与参考输入需按实际模型能力设置。
curl https://api.velapi.cc/v1/video/generations \
-H "Authorization: Bearer $VELAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"veo-3.1-lite-sp","prompt":"city timelapse at night","stream":true}'更多输入字段与任务返回格式见视频接口。
omni-flash
Gemini Omni Flash
文生/参考图 · 3–10s(默认 5s)
720p · 仅参考图
含 -sp 特备变体
文生/参考图 · 3–10s(默认 5s)
720p · 仅参考图
含 -sp 特备变体
能力总览
| 项目 | 支持值 |
|---|---|
model | omni-flash / omni-flash-sp(Google 系列渠道) |
| 模式 | 文生 / 参考图 |
| 时长 | 3–10 秒,默认 5 |
| 分辨率 | 720p |
| 比例 | 16:9(1280×720)· 9:16(720×1280) |
| 参考输入 | 参考图 ≤5(image / images);首帧 ✗ · 尾帧 ✗ · 参考视频 ✗ |
| 音频 | 输出 ✗ · 音频参考 ✗ |
| seed / negative_prompt | ✗ / 以实际返回为准 |
| 计费 | 以实际扣费为准 |
输入字段
| 字段 | 类型 | 必填 | 默认 | 约束 |
|---|---|---|---|---|
model | string | 是 | — | omni-flash / omni-flash-sp |
prompt | string | 是 | — | 视频内容描述 |
duration_seconds | int | 否 | 5 | 3–10 |
resolution | string | 否 | 720p | 仅 720p |
size | string | 否 | — | 1280x720 / 720x1280 |
image / images | URL / URL[] | 参考图可选 | — | 参考图,不作为首帧;最多 5 张 |
metadata | object | 否 | — | 扩展字段,以模型实际返回为准 |
尺寸矩阵
| 分辨率 | 16:9 | 9:16 |
|---|---|---|
720p | 1280×720 | 720×1280 |
请求示例 · 参考图生视频
curl https://api.velapi.cc/v1/video/generations \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "omni-flash",
"prompt": "让参考图中的物体在镜头前缓慢移动",
"image": "https://.../reference.png",
"duration_seconds": 5,
"size": "1280x720",
"stream": true
}'
参考图是内容参考,不作为首帧;响应与查询、错误处理同 veo-3.1-lite 模板。
生图模型
gpt-image2
福利档
尺寸档 1024/2048/3808
文生 · 图生 · 改图
尺寸档 1024/2048/3808
文生 · 图生 · 改图
能力总览
| 项目 | 支持值 |
|---|---|
model | gpt-image2 |
| 模式 | 文生(/v1/images/generations)/ 图生·编辑(/v1/images/edits) |
| 尺寸档 | 1024 / 2048 / 3808 |
| 数量 | n,上限以模型为准 |
grok-imagine-image 系
文生 · 图生 · 编辑
image / 2.0 / edit / lite / quality
image / 2.0 / edit / lite / quality
能力总览
| 项目 | 支持值 |
|---|---|
| 模型 | grok-imagine-image / image-2.0 / image-edit / image-lite / image-quality |
| 模式 | 文生 / 图生 / 编辑(image-edit 需在消息中附参考图) |
| 计费 | 按张 + 参数 |
nano-banana-2 变体
2K 变体
文生 / 图生·编辑
含 -2k-sp
文生 / 图生·编辑
含 -2k-sp
能力总览
| 项目 | 支持值 |
|---|---|
| 模型 | nano-banana-2-2k / nano-banana-2-2k-sp(以 GET /v1/models 为准) |
| 图生接口 | 文生图:POST /v1/images/generations(纯 OpenAI size/quality);图生图 / 编辑:POST /v1/images/edits(与 GPT 相同,image + prompt,mask 可选);/v1/responses 暂不可用(400) |
| 模式 | 文生 / 图生 / 改图 |
| 尺寸档 | 2K(nano-banana-2-2k / -2k-sp),以模型实际返回为准 |
| 比例 | 用 size:任意 WxH(如 1792x1024=横屏、1024x1792=竖屏、1024x1024=方图),自动就近匹配 16:9 / 9:16 / 1:1 / 4:3 / 3:4 |
| 分辨率 | 用 quality:standard/low→1K、medium→2K、high/hd/ultra→4K;当前目录中的 -2k 变体为 2K 档 |
| 数量 | n(以模型实际为准) |
| 计费 | 以实际扣费为准 |
尺寸档(2K)
| 档位 | 说明 |
|---|---|
2K | 对应 -2k 模型(像素以模型实际返回为准) |
输入字段(文生图 /v1/images/generations;图生图/编辑 /v1/images/edits)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 如上模型名(2K 档) |
prompt | string | 是 | 图片描述 |
size | string | 否 | 任意 WxH 控比例(如 1792x1024),就近匹配 |
quality | string | 否 | standard/low→1K、medium→2K、high/hd/ultra→4K |
n | int | 否 | 一次生成张数 |
image | URL / Base64 | 图生图/编辑必填 | 参考图,走 /v1/images/edits |
mask | URL / Base64 | 否 | 局部重绘蒙版,走 /v1/images/edits |
response_format | string | 否 | url(默认)/ b64_json |
图生图 / 编辑:统一走 POST /v1/images/edits,使用 image + prompt,mask 可选;请求方式与 GPT 生图模型一致。文生图仍走 POST /v1/images/generations。
请求示例 · 文生图(/v1/images/generations)
curl https://api.velapi.cc/v1/images/generations \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2-2k",
"prompt": "超高清的雪山湖泊摄影",
"size": "1792x1024",
"quality": "hd",
"n": 1
}'
响应
{
"created": 1787853110,
"data": [
{ "url": "https://.../xxx_2K.jpg", "revised_prompt": "..." }
]
}
返回 data[].url 下载地址(文件名带 _1K/_2K/_4K 后缀标识分辨率档),以实际返回为准。
nano-banana-pro 变体
2K 变体
文生 / 图生·编辑
含 -2k-sp
文生 / 图生·编辑
含 -2k-sp
能力总览
| 项目 | 支持值 |
|---|---|
| 模型 | nano-banana-pro-2k / nano-banana-pro-2k-sp(以 GET /v1/models 为准) |
| 图生接口 | 文生图:POST /v1/images/generations(纯 OpenAI size/quality);图生图 / 编辑:POST /v1/images/edits(与 GPT 相同,image + prompt,mask 可选);/v1/responses 暂不可用(400) |
| 模式 | 文生 / 图生 / 改图 |
| 尺寸档 | 2K(nano-banana-pro-2k / -2k-sp),以模型实际返回为准 |
| 比例 | 用 size:任意 WxH(如 1792x1024=横屏、1024x1792=竖屏、1024x1024=方图),自动就近匹配 16:9 / 9:16 / 1:1 / 4:3 / 3:4 |
| 分辨率 | 用 quality:standard/low→1K、medium→2K、high/hd/ultra→4K;当前目录中的 -2k 变体为 2K 档 |
| 数量 | n(以模型实际为准) |
| 计费 | 以实际扣费为准 |
尺寸档(2K)
| 档位 | 说明 |
|---|---|
2K | 对应 -2k 模型(像素以模型实际返回为准) |
输入字段(文生图 /v1/images/generations;图生图/编辑 /v1/images/edits)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 如上模型名(2K 档) |
prompt | string | 是 | 图片描述 |
size | string | 否 | 任意 WxH 控比例(如 1792x1024),就近匹配 |
quality | string | 否 | standard/low→1K、medium→2K、high/hd/ultra→4K |
n | int | 否 | 一次生成张数 |
image | URL / Base64 | 图生图/编辑必填 | 参考图,走 /v1/images/edits |
mask | URL / Base64 | 否 | 局部重绘蒙版,走 /v1/images/edits |
response_format | string | 否 | url(默认)/ b64_json |
图生图 / 编辑:统一走 POST /v1/images/edits,使用 image + prompt,mask 可选;请求方式与 GPT 生图模型一致。文生图仍走 POST /v1/images/generations。
输入字段与 nano-banana-2 变体相同;请求示例同模板。
充值方式
- 控制台 → 钱包 → 选择 支付宝 / 微信(PayServer);
- 输入金额(元)→ 确认 → 弹出二维码 / 支付链接;
- 扫码支付 → 余额自动到账,弹「充值成功」;
- 到账 1:1:充多少到多少(如充值 ¥10 → 余额 +10)。
规范与限制
鉴权细节
- 令牌在控制台「令牌」页创建,以
sk-开头; - OpenAI 兼容接口使用
Authorization: Bearer <令牌>;Messages 与 Gemini 原生接口的专用请求头见对话适配。令牌可随时撤销。
返回格式
- 生图:
{created, data:[{ url | b64_json }]}; - 对话:按所选协议返回 Chat Completions、Responses、Messages 或 Gemini 标准结构,文本提取路径见对话适配;视频:任务信息 + 成片 URL。
错误码
| 码 | 含义 |
|---|---|
| 400 | 参数错误(模型名/尺寸/时长等不合法) |
| 401 | 令牌无效或已过期 |
| 403 | 余额/额度不足或权限不足 |
| 404 | 模型或资源不存在 |
| 429 | 触发限流,请稍后重试 |
| 5xx | 服务端异常,请稍后重试 |
限额与限流
- 图片:单次生成数量与并发额度取决于模型、令牌分组和当前限制。
- 视频:时长与参考输入数量按对应模型的支持范围设置;参数超限通常返回 400,触发限流返回 429。
文档更新日志
| 日期 | 文档变更 |
|---|---|
| 2026-10-08 | 修正端点依据为实际渠道协议,补入 GPT 与 Claude Responses 实测;优化阅读顺序、导航搜索和移动端布局;补充 Chat Completions / Responses / Messages / Gemini 标准端点、SDK 配置与验证状态;对话清单同步实时目录;页面与复制内容统一生成。 |
| 2026-09-18 | 同步公开模型目录,专属分组模型移出公开清单;模型可用性以令牌的实时目录为准。 |
| 2026-09-09 | 更新模型名称与独立配置卡,增加 Agent 适配包下载入口。 |
| 2026-08-18 | 整理图片与视频请求字段、参考输入支持矩阵及配置卡复制功能。 |
常见问题
对话客户端应该选择哪个协议?
通用客户端优先选择 Chat Completions。使用 Responses、Messages 或 Gemini 原生接口时,先确认所选模型实际命中的渠道协议及转换能力,再使用对应鉴权头与请求字段。前端端点标签仅作参考。对照表见对话适配。
Base URL 要加 /v1 吗?
OpenAI SDK 填 https://api.velapi.cc/v1;Anthropic SDK 填 https://api.velapi.cc。其它客户端根据其是否自动补路径填写;最终请求中 /v1 应只出现一次。详见SDK / 客户端配置。
为什么目录有模型,但调用仍然失败?
模型可见性、渠道协议适配和实时服务状态分别判断。先核对同一令牌返回的模型 ID 与权限,再核对实际渠道及端点,再用最小请求确认服务状态。错误中的 request ID 可帮助定位问题;本次协议验证记录见最近验证。
工具调用、多模态和 JSON 输出都支持吗?
这些能力随模型与协议变化。基础文本调用成功后,再分别验证 tools、多模态内容块和结构化输出参数。工具定义与结果回传也需使用所选协议的标准格式。
在哪里查看用量、实际扣费和余额?
每笔调用的用量与实际扣费在控制台 → 使用日志查看;余额与充值在控制台 → 钱包查看。文档介绍计费规则,实际金额以调用记录为准。
视频按条还是按时长计费?
veo 系列按条计费;其它视频模型按对应参数规则计费。详见视频模型,实际扣费以使用日志为准。
如何联系客服?
QQ:2357678297。反馈接口问题时附上模型 ID、端点、请求时间及 request ID。