灵动中转站 API 文档
灵动中转站提供统一的 OpenAI 兼容 API 接口,聚合 GPT-5、Claude 4、Gemini 3、Grok 4、Sora 2、Kling 等最新主流 AI 模型。一个 API Key,即可访问全部模型,按量计费,人民币结算。
https://lingdongapi.com |
注册 / 充值:https://lingdongapi.com
快速接入
灵动中转站完全兼容 OpenAI SDK,只需将 base_url 改为 https://lingdongapi.com/v1,并替换为您的 API Key 即可。
Python
# pip install openai
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxx",
base_url="https://lingdongapi.com/v1"
)
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": "你好!"}]
)
print(response.choices[0].message.content)
Node.js
// npm install openai
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-xxxxxxxxxxxxxxxxxxxxxxxx',
baseURL: 'https://lingdongapi.com/v1',
});
const res = await client.chat.completions.create({
model: 'gpt-5.4',
messages: [{ role: 'user', content: '你好!' }],
});
console.log(res.choices[0].message.content);
curl
curl https://lingdongapi.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx" \
-d '{
"model": "gpt-5.4",
"messages": [{"role": "user", "content": "你好!"}]
}'
鉴权方式
所有请求需在 HTTP Header 中携带 API Key:
Authorization: Bearer YOUR_API_KEY
对话补全
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名称,如 gpt-5.4 |
messages | array | 是 | 对话消息列表,每条含 role 和 content |
stream | boolean | 否 | 是否流式输出,默认 false |
temperature | number | 否 | 采样温度 0-2,默认 1 |
max_tokens | integer | 否 | 最大输出 token 数 |
top_p | number | 否 | 核采样概率,默认 1 |
请求示例
{
"model": "claude-sonnet-4-6",
"messages": [
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "用 Python 写一个快速排序算法"}
],
"temperature": 0.7,
"stream": false
}
响应示例
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1715000000,
"model": "claude-sonnet-4-6",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "def quick_sort(arr):\n ..."
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 28,
"completion_tokens": 156,
"total_tokens": 184
}
}
流式输出示例(stream: true)
# Python 流式示例
stream = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": "讲个故事"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
图像生成
支持模型:gpt-image-2(¥0.045/次)、gpt-image-2pro(¥0.300/次)、gemini-3-pro-image-preview(¥0.300/次)、sd-2(¥3.500/次)、sd-2-vip(¥4.000/次)
请求示例
{
"model": "gpt-image-2",
"prompt": "一只在星空下奔跑的白色独角兽,梦幻风格,高清",
"n": 1,
"size": "1024x1024"
}
Python 示例
response = client.images.generate(
model="gpt-image-2",
prompt="一只在星空下奔跑的白色独角兽",
n=1,
size="1024x1024"
)
print(response.data[0].url)
视频生成
① 提交任务 → 获取
task_id →
② 轮询状态 → 等待 status 变为 SUCCESS →
③ 获取视频 → 使用 result_url 直接播放或下载
支持模型:sora-2(¥1.800/次)、sora-2-vvip(¥1.500/次)、kling-v3(¥1.800/次)、sd-2(¥3.500/次)、sd-2-vip(¥4.000/次)
模型能力对比
| 模型 | 支持时长 | 图片参考 | 视频参考 | 横竖屏 | 素材引用 | 提示词上限 |
|---|---|---|---|---|---|---|
sora-2 |
4 / 8 / 12 秒 | 最多 1 张 | 不支持 | landscape / portrait | 不支持 @1 @2 | 5000 字 |
sora-2-vvip |
4 / 8 / 12 秒 | 最多 1 张 | 不支持 | landscape / portrait | 不支持 @1 @2 | 5000 字(优先通道) |
kling-v3 |
3 ~ 15 秒 | 最多 2 张 | 不支持 | landscape / portrait | 不支持 @1 @2 | 2500 字 |
sd-2 |
5 ~ 15 秒 | 最多 4 张 | 最多 3 条 | landscape / portrait | 支持 @图片1 @视频2 | 1500 字 |
sd-2-vip |
5 ~ 15 秒 | 最多 4 张 | 最多 3 条 | landscape / portrait | 支持 @图片1 @视频2 | 1500 字(优先通道) |
landscape 表示横屏 16:9,portrait 表示竖屏 9:16。sora-2 / kling-v3 不支持视频参考,也不支持在提示词中使用 @1 @2 引用素材。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名称,如 sora-2、kling-v3、sd-2 等 |
prompt | string | 是 | 视频内容描述。sd-2 / sd-2-vip 支持在提示词中用 @图片1、@视频2 引用素材 |
duration | integer | 是 | 视频时长(秒)。sora-2:4/8/12;kling-v3:3~15;sd-2:5~15 |
orientation | string | 是 | 画面方向:landscape(横屏 16:9)或 portrait(竖屏 9:16) |
images | array | 否 | 参考图片 URL 列表。sora-2 最多 1 张;kling-v3 最多 2 张;sd-2 最多 4 张 |
videos | array | 否 | 参考视频 URL 列表,仅 sd-2 / sd-2-vip 支持,最多 3 条 |
watermark | boolean | 否 | 是否添加水印,默认 false |
orientation 控制画面方向,不支持 size 参数。
请求示例 1:sora-2 文生视频(curl)
curl https://lingdongapi.com/v1/videos/generations \
-H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "一只小猫站在雨夜霓虹街头,电影感镜头推进",
"duration": 8,
"orientation": "portrait",
"watermark": false
}'
请求示例 2:kling-v3 单图参考
curl https://lingdongapi.com/v1/videos/generations \
-H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3",
"prompt": "镜头缓缓拉远,展现城市全景",
"duration": 5,
"orientation": "landscape",
"images": ["https://example.com/reference.jpg"]
}'
请求示例 3:sd-2 多素材引用
curl https://lingdongapi.com/v1/videos/generations \
-H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "sd-2",
"prompt": "@图片1 的风格,配合@视频2 的动作,生成一段流畅的转场动画",
"duration": 8,
"orientation": "landscape",
"images": ["https://example.com/style.jpg"],
"videos": ["https://example.com/motion.mp4"]
}' 响应示例(任务已提交)
{
"code": "success",
"data": {
"task_id": "task_abc123xyz",
"status": "NOT_START",
"progress": "0%"
}
}
保存返回的 task_id,用于后续查询任务状态。
查询视频任务状态
请求示例
curl https://lingdongapi.com/v1/video/generations/task_abc123xyz \
-H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx"
响应字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
data.task_id | string | 任务 ID |
data.status | string | 任务状态,见下表 |
data.progress | string | 生成进度,如 "30%" |
data.result_url | string | 视频访问地址,任务完成后可用(状态为 SUCCESS 时有效) |
data.fail_reason | string | 失败原因(状态为 FAILURE 时有值) |
任务状态说明
| status 值 | 含义 | 建议操作 |
|---|---|---|
NOT_START | 任务已提交,等待开始 | 继续轮询 |
IN_PROGRESS | 正在生成中 | 继续轮询 |
SUCCESS | 生成成功 | 读取 result_url |
FAILURE | 生成失败 | 读取 fail_reason |
响应示例(生成中)
{
"code": "success",
"data": {
"task_id": "task_abc123xyz",
"status": "IN_PROGRESS",
"progress": "60%",
"result_url": ""
}
}
响应示例(生成成功)
{
"code": "success",
"data": {
"task_id": "task_abc123xyz",
"status": "SUCCESS",
"progress": "100%",
"result_url": "https://lingdongapi.com/v1/videos/task_abc123xyz/content"
}
}
获取视频文件
当任务状态为 SUCCESS 后,访问 result_url 即可获取视频。该接口会自动 302 重定向到实际的 MP4 文件地址,浏览器和播放器均可直接使用。
/v1/videos/{task_id}/content)不需要携带 Authorization 头,可直接在浏览器中打开、嵌入 <video> 标签或传给下载工具。
在网页中嵌入播放
<!-- 直接使用 result_url 作为视频源 -->
<video controls width="720">
<source src="https://lingdongapi.com/v1/videos/task_abc123xyz/content" type="video/mp4">
</video>
curl 下载视频
# -L 跟随重定向,直接下载 MP4 文件
curl -L "https://lingdongapi.com/v1/videos/task_abc123xyz/content" \
-o output.mp4
完整代码示例
以下示例演示从提交任务到获取视频 URL 的完整流程,包含轮询逻辑。
Python 完整示例
import time
import requests
API_KEY = "sk-xxxxxxxxxxxxxxxxxxxxxxxx"
BASE_URL = "https://lingdongapi.com/v1"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# 第一步:提交视频生成任务
resp = requests.post(
f"{BASE_URL}/videos/generations",
headers=HEADERS,
json={
"model": "sora-2",
"prompt": "A golden retriever running on the beach at sunset, cinematic 4K",
"duration": 5,
"orientation": "landscape"
}
)
task_id = resp.json()["data"]["task_id"]
print(f"任务已提交,task_id: {task_id}")
# 第二步:轮询任务状态(每 10 秒查询一次,最多等待 10 分钟)
for i in range(60):
time.sleep(10)
query = requests.get(
f"{BASE_URL}/video/generations/{task_id}",
headers=HEADERS
).json()
status = query["data"]["status"]
progress = query["data"].get("progress", "0%")
print(f"[{i+1}] 状态: {status},进度: {progress}")
if status == "SUCCESS":
video_url = query["data"]["result_url"]
print(f"✅ 视频生成成功!\n播放地址: {video_url}")
break
elif status == "FAILURE":
print(f"❌ 生成失败: {query['data'].get('fail_reason', '未知原因')}")
break
else:
print("⏱ 超时,请稍后手动查询任务状态")
Node.js 完整示例
const API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxx';
const BASE_URL = 'https://lingdongapi.com/v1';
const headers = {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
};
// 第一步:提交任务
const submitRes = await fetch(`${BASE_URL}/videos/generations`, {
method: 'POST',
headers,
body: JSON.stringify({
model: 'sora-2',
prompt: 'A golden retriever running on the beach at sunset, cinematic 4K',
duration: 5,
orientation: 'landscape',
}),
});
const { data: { task_id } } = await submitRes.json();
console.log(`任务已提交,task_id: ${task_id}`);
// 第二步:轮询状态
const poll = async () => {
for (let i = 0; i < 60; i++) {
await new Promise(r => setTimeout(r, 10000));
const res = await fetch(`${BASE_URL}/video/generations/${task_id}`, { headers });
const { data } = await res.json();
console.log(`[${i+1}] 状态: ${data.status},进度: ${data.progress}`);
if (data.status === 'SUCCESS') {
console.log(`✅ 视频生成成功!\n播放地址: ${data.result_url}`);
return data.result_url;
}
if (data.status === 'FAILURE') {
console.error(`❌ 生成失败: ${data.fail_reason}`);
return null;
}
}
console.warn('⏱ 超时');
};
const videoUrl = await poll();
模型列表接口
curl https://lingdongapi.com/v1/models \
-H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx"
模型与定价
以下为当前全部可用模型及价格,所有价格以 人民币(¥) 计算。
文本对话模型(按 Token 计费)
| 模型 | 输入价格 | 输出价格 | 说明 |
|---|---|---|---|
gpt-5.4 |
¥2.4000 / 1M Tokens |
¥14.2500 / 1M Tokens |
OpenAI 最新旗舰模型 |
claude-sonnet-4-6 |
¥2.7000 / 1M Tokens |
¥13.5000 / 1M Tokens |
Anthropic 高性能模型 |
claude-opus-4-6 |
¥7.5000 / 1M Tokens |
¥37.5000 / 1M Tokens |
Anthropic 最强旗舰模型 |
claude-haiku-4-5-20251001 |
¥0.9000 / 1M Tokens |
¥4.5000 / 1M Tokens |
Anthropic 快速经济模型 |
grok-4.20-auto |
¥0.7500 / 1M Tokens |
¥3.7500 / 1M Tokens |
xAI Grok 4 自动模式 |
grok-4.20-expert |
¥0.7500 / 1M Tokens |
¥3.7500 / 1M Tokens |
xAI Grok 4 专家模式 |
图像生成模型(按次计费)
| 模型 | 价格 | 说明 |
|---|---|---|
gpt-image-2 |
¥0.045 / 次 | GPT Image 2 标准版 |
gpt-image-2pro |
¥0.300 / 次 | GPT Image 2 Pro 高清版 |
gemini-3-pro-image-preview |
¥0.300 / 次 | Gemini 3 Pro 图像生成 |
sd-2 |
¥3.500 / 次 | Stable Diffusion 2 标准版 |
sd-2-vip |
¥4.000 / 次 | Stable Diffusion 2 VIP 优先版 |
视频生成模型(按次计费)
| 模型 | 价格 | 说明 |
|---|---|---|
sora-2 |
¥1.800 / 次 | 灵动自研视频生成模型,横/竖屏均支持 |
sora-2-vvip |
¥1.500 / 次 | VVIP 优先通道,生成速度更快 |
kling-v3 |
¥1.800 / 次 | 可灵 Kling v3 视频生成 |
错误码
| HTTP 状态码 | 错误类型 | 说明 |
|---|---|---|
| 400 | invalid_request_error | 请求参数错误,检查 model 名称和参数格式 |
| 401 | authentication_error | API Key 无效或未提供 |
| 403 | permission_error | 账户余额不足或无权访问该模型 |
| 429 | rate_limit_error | 请求频率超限,稍后重试 |
| 500 | server_error | 服务器内部错误,请联系客服 |
| 503 | service_unavailable | 服务暂时不可用,稍后重试 |
常见问题
如何获取 API Key?
注册账号后,进入「令牌管理」页面,点击「创建令牌」即可生成 API Key。建议为不同项目创建独立的 Key,方便管理和追踪用量。
如何充值?
登录后进入「钱包管理」,支持支付宝、微信等方式充值,充值比例 1:1(1 元 = 1 额度),充值后立即到账。
支持流式输出(Stream)吗?
对话补全接口支持。在请求体中设置 "stream": true 即可启用 SSE 流式输出。视频生成为异步任务,不支持流式。
视频生成需要等待多久?
视频生成通常需要 30 秒至 5 分钟不等,取决于服务器负载和视频时长。建议每隔 10 秒轮询一次任务状态,不要频繁请求以免触发限速。
视频链接可以直接在浏览器播放吗?
可以。任务完成后返回的 result_url 可直接在浏览器中打开播放,也可嵌入 HTML <video> 标签,或使用 curl -L 下载。无需额外认证。
如何查看用量和消费记录?
登录控制台后,在「日志」页面可查看每次调用的详细记录,包括模型、消费金额等。
联系客服
如有问题,请通过以下方式联系我们:
网站:https://lingdongapi.com
© 2025–2026 灵动中转站 | lingdongapi.com