1. 快速开始
Vx API 提供 OpenAI 兼容 API 和 Claude/API 直连风格入口。使用前请先登录后台创建 API Key。
打开 API 密钥页面
打开模型价格页面
把 Base URL 和 API Key 填入你的客户端或 SDK。
打开使用日志页面
2. API 地址
适合 Codex CLI、OpenAI SDK、OpenAI 兼容客户端。
https://la-api.vxvxvx.top/v1
适合需要填写 Claude/API 根地址的客户端。
https://la-api.vxvxvx.top
https://la-api.vxvxvx.top/v1。3. Codex / OpenAI 兼容配置
| 配置项 | 填写内容 |
|---|---|
| Base URL | https://la-api.vxvxvx.top/v1 |
| API Key | 在 API 密钥页面 创建并复制 |
| 模型名称 | 以你后台可用模型列表为准 |
curl https://la-api.vxvxvx.top/v1/models \
-H "Authorization: Bearer sk-你的密钥"
CC Switch 配置 Codex 视频
4. Claude 客户端配置
| 配置项 | 填写内容 |
|---|---|
| API 地址 / Base URL | https://la-api.vxvxvx.top |
| API Key | 在 Vx API 后台创建的密钥 |
| 模型名称 | 以客户端和后台支持的模型为准 |
Claude CLI 命令行接入
先在终端设置下面两个环境变量,再运行 claude。Claude CLI 使用根地址,地址末尾不要添加 /v1。
Windows PowerShell(当前终端会话)
$env:ANTHROPIC_BASE_URL="https://la-api.vxvxvx.top"
$env:ANTHROPIC_AUTH_TOKEN="sk-你的密钥"
macOS / Linux(当前终端会话)
export ANTHROPIC_BASE_URL="https://la-api.vxvxvx.top"
export ANTHROPIC_AUTH_TOKEN="sk-你的密钥"
/model 菜单没有列出某个模型,可以直接输入完整模型名,例如:/model claude-fable-5。https://la-api.vxvxvx.top/v1。CC Switch 配置 Claude 视频
5. 调用示例(文本/对话)
curl 聊天补全
curl https://la-api.vxvxvx.top/v1/chat/completions \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "请替换为你的模型名",
"messages": [
{"role": "user", "content": "你好"}
],
"stream": true
}'
Python 示例
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://la-api.vxvxvx.top/v1",
)
response = client.chat.completions.create(
model="请替换为你的模型名",
messages=[{"role": "user", "content": "你好"}],
)
print(response.choices[0].message.content)
Node.js 示例
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-你的密钥",
baseURL: "https://la-api.vxvxvx.top/v1",
});
const response = await client.chat.completions.create({
model: "请替换为你的模型名",
messages: [{ role: "user", content: "你好" }],
});
console.log(response.choices[0].message.content);
6. GPT Image 2 系列图像生成
本站当前推荐使用 gpt-image-2.5 和 gpt-image-2.5-pro 两个图像模型。两者使用同一套 JSON 接口和参数;建议先用最小请求确认接入,再按需要增加尺寸、宽高比、参考图、流式或异步参数。
-ref 后缀的上游参考图模型支持本地参考图。本站收到游乐场的本地上传时,会在不改变本站公开模型名和计费记录的前提下,自动使用对应的上游参考图能力;本地文件使用 multipart/form-data,参考图字段名为可重复提交的 images,接口仍为 POST /v1/images/generations。本地源码回归和 mock 上游实测均已确认请求路径、字段名及文件内容保持正确;本次未主动调用付费上游。gpt-image-2.5 与 gpt-image-2.5-pro 均已通过本站 API 实际生成图像并返回 HTTP 200。下表是已验证示例,不表示所有参数组合都逐一调用。| 模型与方式 | 本站实际请求 | 实际结果 |
|---|---|---|
gpt-image-2.5 同步 JSON | 1024x1024 + standard + stream:false | HTTP 200,返回图片 URL |
gpt-image-2.5-pro 同步 JSON | 1024x1024 + standard + stream:false | HTTP 200,返回图片 URL |
POST /v1/images/generations 并在 JSON 中设置 "async": true,轮询 GET /v1/status/{task_id};ComfyUI 自定义节点也可直接提交 POST /v1/images/generations/async,再轮询 GET /v1/images/tasks/{task_id}。两套地址进入同一套异步任务和计费逻辑,请勿对同一需求重复提交。接口与鉴权
| 用途 | 方法与地址 | 说明 |
|---|---|---|
| 生成图像 | POST https://la-api.vxvxvx.top/v1/images/generations | 通过请求体中的 stream、async 选择同步 JSON、SSE 流式或异步任务 |
| 标准异步提交 | POST https://la-api.vxvxvx.top/v1/images/generations | 请求体设置 "async": true,推荐通用 SDK 使用 |
| 标准任务查询 | GET https://la-api.vxvxvx.top/v1/status/{task_id} | 将提交响应中的 id 放到路径中 |
| ComfyUI 兼容异步提交 | POST https://la-api.vxvxvx.top/v1/images/generations/async | 本站自动启用异步;请求体仍建议显式保留 "async": true |
| ComfyUI 兼容任务查询 | GET https://la-api.vxvxvx.top/v1/images/tasks/{task_id} | 与标准任务查询返回相同结构 |
所有客户请求都要携带:
Authorization: Bearer sk-你的密钥
Content-Type: application/json
两个模型怎么选
| 模型 ID | 已公布参数兼容性 | 不传 size 时 | 建议 |
|---|---|---|---|
gpt-image-2.5 |
支持本节列出的 GPT Image 2 系列参数 | 按模型侧默认值处理,当前接口文档默认 1K |
第一次接入可从此模型和最小请求开始 |
gpt-image-2.5-pro |
支持本节列出的 GPT Image 2 系列参数 | 按模型侧默认值处理,当前接口文档默认 1K |
需要切换档位时只改 model,其余参数可保持一致 |
1K、2K、4K,不要填写 1024x1024、1536x1024 等像素字符串,否则可能返回 400。具体价格以本站模型价格页为准,实际效果和耗时会随提示词及服务负载变化。
完整参数表
| 字段 | 类型 | 必填 | 允许值 / 限制 | 说明 |
|---|---|---|---|---|
model | string | 是 | gpt-image-2.5 / gpt-image-2.5-pro | 模型名必须完整、区分字符,不要写页面显示名称;本站本地上传会自动使用上游对应的 -ref 参考图能力 |
prompt | string | 是 | 非空,当前文档限制不超过 1024 个字符 | 图像描述;建议写清主体、场景、风格、光线、构图和需要避免的内容 |
size | string | 否 | 1K / 2K / 4K | 分辨率档位;越高通常耗时越长,建议显式填写 |
aspect_ratio | string | 否 | auto / 1:1 / 3:2 / 2:3 | 宽高比。为保证结果可预期,建议显式填写,不依赖默认值 |
images | array | 否 | 参考图 URL 数组,最多 14 张 | 用于参考生图或图像编辑;URL 应可被公网访问,推荐 HTTPS |
quality | string | 否 | auto / low / medium / high | 质量档位;当前文档默认 auto |
stream | boolean | 否 | true / false | 当前接口文档默认 true。普通 JSON 客户端请显式传 false;true 时返回 SSE |
async | boolean | 否 | true / false | 默认 false。true 时立即返回任务对象,之后轮询状态或等待 webhook |
webhook | string | 否 | 可公网访问的回调 URL,推荐 HTTPS | 只建议与 async: true 一起使用;任务完成后本站 POST 最终结果 |
metadata | object | 否 | 任意有效、轻量的 JSON 对象 | 用于订单号、trace ID 等业务关联,会出现在本站发给客户的最终 webhook 中;不要放 API Key 等敏感信息 |
n、response_format、background、output_format、output_compression、moderation、partial_images、mask、input_fidelity 等字段不在当前两个模型的接口参数表中。即使某些通用客户端能发送,也不代表一定生效;生产接入请不要依赖这些字段。需要多张图时,建议独立提交多次请求并分别处理失败重试。
最小可用请求(推荐先测试这一段)
curl https://la-api.vxvxvx.top/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的密钥" \
-d '{
"model": "gpt-image-2.5",
"prompt": "一只橘猫坐在阳光照亮的窗台上,写实摄影风格",
"size": "1K",
"aspect_ratio": "1:1",
"quality": "auto",
"stream": false,
"async": false
}'
两个模型的 cURL 示例
GPT Image 2.5(1K 方图)
curl https://la-api.vxvxvx.top/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的密钥" \
-d '{
"model": "gpt-image-2.5",
"prompt": "白色背景上的红苹果,商品摄影,柔和棚拍光线",
"size": "1K",
"aspect_ratio": "1:1",
"quality": "auto",
"stream": false
}'
GPT Image 2.5 Pro(2K 横图)
curl https://la-api.vxvxvx.top/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的密钥" \
-d '{
"model": "gpt-image-2.5-pro",
"prompt": "黄昏时的未来城市电影海报,霓虹灯,广角构图,无文字",
"size": "2K",
"aspect_ratio": "3:2",
"quality": "high",
"stream": false
}'
参考图 / 图像编辑示例
curl https://la-api.vxvxvx.top/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的密钥" \
-d '{
"model": "gpt-image-2.5-pro",
"prompt": "保留产品外形,把背景改成浅灰色摄影棚,并增加柔和阴影",
"images": [
"https://example.com/public/product-front.png",
"https://example.com/public/style-reference.png"
],
"size": "2K",
"aspect_ratio": "1:1",
"quality": "high",
"stream": false
}'
本地参考图(-ref 模型)
本地文件与 URL 数组是两种不同的输入方式。使用本地参考图时不要把文件放进 JSON,也不要把请求发到 /v1/images/edits;应使用 multipart/form-data、POST /v1/images/generations,并为每张图片重复使用字段 images。本站游乐场已为图像模型做好该兼容转换。
curl https://la-api.vxvxvx.top/v1/images/generations \
-H "Authorization: Bearer sk-你的密钥" \
-F "model=gpt-image-2.5" \
-F "prompt=保留主体外形,把背景改成浅灰色摄影棚,并增加柔和阴影" \
-F "size=1K" \
-F "aspect_ratio=1:1" \
-F "quality=auto" \
-F "images=@./reference.png"
# 第二张参考图继续使用同名字段:
# -F "images=@./style-reference.png"
-ref 后缀的是上游参考图模型能力;本站公开文档和计费模型以页面列出的模型 ID 为准。直接提交本地文件时,必须保留 multipart 的文件类型和 images 字段,不能改成 OpenAI 编辑接口常见的 image 字段。Python 示例(requests)
import requests
url = "https://la-api.vxvxvx.top/v1/images/generations"
headers = {
"Authorization": "Bearer sk-你的密钥",
"Content-Type": "application/json",
}
payload = {
"model": "gpt-image-2.5-pro",
"prompt": "一只戴着蓝色围巾的柴犬,雪地,写实摄影",
"size": "2K",
"aspect_ratio": "3:2",
"quality": "high",
"stream": False,
"async": False,
}
response = requests.post(url, headers=headers, json=payload, timeout=300)
response.raise_for_status()
result = response.json()
print(result)
print(result["data"][0]["url"])
JavaScript / Node.js 示例
const response = await fetch("https://la-api.vxvxvx.top/v1/images/generations", {
method: "POST",
headers: {
"Authorization": "Bearer sk-你的密钥",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "gpt-image-2.5-pro",
prompt: "现代建筑室内设计,落地窗,自然光,杂志摄影",
size: "2K",
aspect_ratio: "3:2",
quality: "high",
stream: false,
async: false
})
});
if (!response.ok) {
throw new Error(`${response.status}: ${await response.text()}`);
}
const result = await response.json();
console.log(result.data[0].url);
同步 JSON 响应
当 stream: false 且 async: false 时,成功后一次性返回 JSON。实际响应可能包含更多字段,客户程序应忽略不认识的附加字段。
{
"created": 1784825309,
"progress": 100,
"status": "succeeded",
"data": [
{
"url": "https://example.com/generated.png",
"revised_prompt": "模型优化后的提示词(如有)"
}
],
"error": "",
"failure_reason": ""
}
SSE 流式返回
需要实时接收时显式传 "stream": true。响应类型为 text/event-stream,客户端要逐行处理 event: / data:,直到收到 data: [DONE]。如果你的 SDK 只会解析普通 JSON,请使用 stream: false。
异步任务、状态查询和 webhook
长时间任务建议使用异步方式,提交后立即获得任务 ID,再轮询状态,避免客户端保持两分钟左右的同步连接。通用 SDK 推荐标准路径 /v1/images/generations 加 "async": true;ComfyUI 自定义节点可使用兼容路径 /v1/images/generations/async。
curl https://la-api.vxvxvx.top/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的密钥" \
-d '{
"model": "gpt-image-2.5-pro",
"prompt": "未来城市的电影海报,黄昏,霓虹灯,无文字",
"size": "2K",
"aspect_ratio": "2:3",
"quality": "high",
"stream": false,
"async": true,
"webhook": "https://your-domain.example/api/image-finished",
"metadata": {
"order_id": "A123",
"client_trace_id": "trace-001"
}
}'
提交后保存响应中的 id,标准方式查询:
curl "https://la-api.vxvxvx.top/v1/status/任务ID" \
-H "Authorization: Bearer sk-你的密钥"
ComfyUI 直接下载照搬
- 把节点 ZIP 解压到
ComfyUI\custom_nodes,解压后应看到vx_image2和vx_image2_configurable两个文件夹。 - 完全关闭并重新启动 ComfyUI。
- 把工作流 JSON 拖进 ComfyUI 页面。
- 在“图像中转 API 配置”节点填写自己的 Key;Base URL 保持
https://la-api.vxvxvx.top/v1。 - 选择
gpt-image-2.5或gpt-image-2.5-pro,填写提示词后运行。
/v1,不要填完整的 /v1/images/generations。同一个任务排队或运行时不要重复点击运行。Codex / Codex++ 使用 vx-image2 Skill
- 把 ZIP 解压到
$CODEX_HOME/skills;未设置CODEX_HOME时放到~/.codex/skills。 - 重启 Codex 或 Codex++。
- 确保 Codex 已配置本站 API Key 与
https://la-api.vxvxvx.top/v1。 - 直接复制下面一句,替换冒号后的图片描述:
使用 vx-image2,通过 gpt-image-2.5 生成一张 1K、1:1 的图片:一只橘猫坐在阳光照亮的窗台上,写实摄影风格
免费检查鉴权和模型列表(不会生成图片):
python scripts/generate_image2.py --check --model gpt-image-2.5
ComfyUI / 自定义客户端的兼容地址
ComfyUI 自定义节点建议把 Base URL 设置为 https://la-api.vxvxvx.top/v1。不要把完整生成地址当作 Base URL,否则节点再次拼接接口路径时会形成错误地址。
# 1. 异步提交
POST https://la-api.vxvxvx.top/v1/images/generations/async
Authorization: Bearer sk-你的密钥
Content-Type: application/json
{
"model": "gpt-image-2.5",
"prompt": "按 Codex 整理后的最终绘图需求",
"size": "1K",
"aspect_ratio": "1:1",
"quality": "auto",
"stream": false,
"async": true
}
# 2. 从提交响应保存 id,然后轮询
GET https://la-api.vxvxvx.top/v1/images/tasks/任务ID
Authorization: Bearer sk-你的密钥
建议轮询间隔 2~5 秒;收到 queued 或 running 时继续等待,收到 succeeded 后保存 data[0].url 或 results[0].url。不要因单次任务仍在运行就重复发起新的付费生成。
任务状态统一为:
| status | 含义 | 客户端处理 |
|---|---|---|
queued | 排队中 | 稍后继续轮询 |
running | 生成中 | 读取 progress,不要高频轮询 |
succeeded | 成功 | 从 data[0].url 或 results[0].url 读取结果 |
failed | 失败 | 读取 error / failure_reason,按业务决定是否重试 |
使用 webhook 时,回调地址必须可公网访问。收到回调后应尽快返回 HTTP 2xx,并按任务 id 做幂等处理;不要只依赖 webhook,也应保留状态查询作为补偿机制。
常见错误与排查
| 状态码 / 现象 | 常见原因 | 处理方法 |
|---|---|---|
400 | prompt 为空或过长;size、aspect_ratio、quality 不在允许值中;参考图过多;webhook 不合法 | 对照参数表逐项检查。两个模型的 size 都不要使用像素格式 |
401 | API Key 无效,或缺少 Bearer 前缀 | 重新复制本站后台创建的 Key |
402 | 余额不足 | 充值后重试,并先确认本站价格 |
403 | Key、分组或模型权限不足 | 检查 Key 的模型和分组权限 |
404 | 模型名、任务 ID 或 Base URL 错误;节点把完整生成地址当成 Base URL 后又拼接了 /v1/models | Base URL 使用 https://la-api.vxvxvx.top 或节点要求的 https://la-api.vxvxvx.top/v1;任务只能由创建它的 Key 查询 |
429 | 请求频率或并发过高 | 降低并发,使用指数退避重试 |
500 / 502 | 本站或模型服务临时故障 | 保存请求 ID,稍后重试;持续失败时联系客服 |
| 客户端 JSON 解析失败 | 接口默认可能为 SSE 流式,而客户端按 JSON 解析 | 在请求中显式加入 "stream": false |
| 等待时间较长 | 2K / 4K、复杂提示词或排队会增加耗时 | 改用异步任务;不要因为暂时无响应就重复提交相同付费请求 |
1K + 1:1 + quality:auto + stream:false 跑通最小请求;再逐步增加 2K/4K、参考图、流式或异步。这样最容易定位是鉴权、参数、客户端解析还是任务回调问题。7. 常见问题
401 Unauthorized
通常是 API Key 错误、没有填写 Bearer 前缀、密钥被禁用或余额不足。请重新复制后台密钥。
404 Not Found
通常是 Base URL 填错。OpenAI 兼容客户端一般使用 https://la-api.vxvxvx.top/v1,不要漏掉 /v1。
429、502、524 或请求超时
可能是上游繁忙、模型排队、请求上下文过大、网络链路不稳定或客户端主动断开。大 token 任务建议降低并发、减少上下文、开启流式输出。
client_gone / context canceled / 错误的流状态
多数情况下是客户端、浏览器、代理或网络中途断开连接。长任务建议保持客户端在线,避免频繁切换 VPN 或网络。
首 token 很慢
首 token 主要受模型排队、上游线路、上下文长度、渠道质量和网络链路影响。短问题通常更容易判断线路质量,大 token 任务耗时会明显增加。
需要人工协助
请联系官方微信:vxvxvxtop,并提供使用时间、模型名称、请求 ID、报错截图和使用日志截图。