curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-video-o1",
"prompt": "讓<<<image_1>>>中的人物向鏡頭揮手",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9",
"metadata": {
"image_list": [{"image_url": "https://example.com/portrait.jpg"}]
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "kling-video-o1",
"prompt": "讓<<<image_1>>>中的人物向鏡頭揮手",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9",
"metadata": {
"image_list": [{"image_url": "https://example.com/portrait.jpg"}],
},
}
)
task = response.json()
print(f"任務 ID: {task['id']}")
print(f"狀態: {task['status']}")
const response = await fetch('https://toapis.com/v1/videos/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'kling-video-o1',
prompt: '讓<<<image_1>>>中的人物向鏡頭揮手',
mode: 'std',
duration: 5,
aspect_ratio: '16:9',
metadata: {
image_list: [{ image_url: 'https://example.com/portrait.jpg' }]
}
})
});
const task = await response.json();
console.log(`任務 ID: ${task.id}`);
console.log(`狀態: ${task.status}`);
{
"id": "video_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ",
"object": "generation.task",
"model": "kling-video-o1",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
Kling Video O1
Kling Video O1 視頻生成
使用可靈 Kling Video O1 推理增強模型生成最高質量視頻
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-video-o1",
"prompt": "讓<<<image_1>>>中的人物向鏡頭揮手",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9",
"metadata": {
"image_list": [{"image_url": "https://example.com/portrait.jpg"}]
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "kling-video-o1",
"prompt": "讓<<<image_1>>>中的人物向鏡頭揮手",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9",
"metadata": {
"image_list": [{"image_url": "https://example.com/portrait.jpg"}],
},
}
)
task = response.json()
print(f"任務 ID: {task['id']}")
print(f"狀態: {task['status']}")
const response = await fetch('https://toapis.com/v1/videos/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'kling-video-o1',
prompt: '讓<<<image_1>>>中的人物向鏡頭揮手',
mode: 'std',
duration: 5,
aspect_ratio: '16:9',
metadata: {
image_list: [{ image_url: 'https://example.com/portrait.jpg' }]
}
})
});
const task = await response.json();
console.log(`任務 ID: ${task.id}`);
console.log(`狀態: ${task.status}`);
{
"id": "video_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ",
"object": "generation.task",
"model": "kling-video-o1",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
中國大陸用戶請注意: 中國大陸用戶請使用
https://toapis.cn 作為接口地址(Base URL)。文檔示例中的 https://toapis.com 請替換為 https://toapis.cn。- 異步處理模式,返回任務 ID 供後續查詢
- 推理增強模型,生成最高質量視頻
- 使用官方 Omni 引用結構,支持
image_list、video_list、element_list - 支持標準模式(720P)和專業模式(1080P)
- 支持參考視頻編輯和特徵參考
請傳入公網可訪問的圖片或視頻 URL。不要直接傳 base64 圖片數據;本地圖片請先使用 上傳圖片接口 獲取 URL。
認證
string
必填
所有接口均需要使用 Bearer Token 進行認證獲取 API Key:訪問 API Key 管理頁面 獲取您的 API Key使用時在請求頭中添加:
Authorization: Bearer YOUR_API_KEY
請求參數
string
必填
視頻生成模型名稱,固定爲
kling-video-o1string
必填
文字提示詞,支持官方 Omni 佔位符,編號從 1 開始:
<<<image_N>>>引用metadata.image_list<<<video_N>>>引用video_list<<<element_N>>>引用metadata.element_list
"讓<<<image_1>>>中的人物向鏡頭揮手"引用列表順序必須與 prompt 中對應占位符順序一致;系統不會自動補首幀或自動插入佔位符。
string
客戶側業務 ID,例如訂單號、流水號或您系統內的任務 ID。提交後會隨任務保存,後續可用該 ID 查詢狀態:
GET /v1/videos/generations/{client_business_id}。也兼容放在 metadata.client_business_id 中,但推薦使用頂層字段。string
預設值:"std"
生成模式可選值:
std- 標準模式(720P)pro- 專業模式(1080P)
stdinteger
預設值:"5"
視頻時長(秒)可選值:
3、4、5、6、7、8、9、10默認值:5string
預設值:"16:9"
視頻寬高比可選值:
16:9- 橫屏(默認)9:16- 豎屏1:1- 方形
16:9object[]
參考視頻列表,最多 1 段視頻每個對象包含以下字段:
顯示 顯示 video_list 對象字段
顯示 顯示 video_list 對象字段
video_url不能爲空,且視頻 URL 需可訪問- 當
refer_type=base時:不能定義視頻首尾幀;參考視頻需 3–10 秒;生成視頻時長以上傳視頻爲準 - 有視頻參考時不要同時開啓
audio/sound
object
擴展參數
顯示 顯示 metadata 字段
顯示 顯示 metadata 字段
object[]
object[]
boolean
是否添加水印
Omni 引用語法
Video O1 使用官方 Omni 佔位符引用輸入素材:| 語法 | 說明 |
|---|---|
<<<image_1>>> | 引用 metadata.image_list 第 1 張圖片 |
<<<video_1>>> | 引用 video_list 第 1 段視頻 |
<<<element_1>>> | 引用 metadata.element_list 第 1 個主體/角色 |
image_list、video_list、element_list 的順序必須分別與 prompt 中對應占位符的順序一致。響應
string
任務唯一標識符,用於查詢任務狀態
string
客戶側業務 ID。僅當請求中傳入
client_business_id 時返回。string
對象類型,固定爲
generation.taskstring
使用的模型名稱
string
任務狀態
queued- 排隊等待處理in_progress- 處理中completed- 成功完成failed- 失敗
integer
任務進度百分比(0-100)
integer
任務創建時間戳(Unix 時間戳)
object
任務元數據
使用場景
場景 1:文生視頻(最高質量)
{
"model": "kling-video-o1",
"client_business_id": "order_20260428_001",
"prompt": "黃金時刻的城市天際線,電影質感鏡頭",
"mode": "pro",
"duration": 5,
"aspect_ratio": "16:9"
}
場景 2:圖片引用(單張)
{
"model": "kling-video-o1",
"prompt": "讓<<<image_1>>>中的人物向鏡頭揮手",
"mode": "pro",
"duration": 5,
"metadata": {
"image_list": [
{
"image_url": "https://example.com/portrait.jpg"
}
]
}
}
場景 3:多圖片引用
{
"model": "kling-video-o1",
"prompt": "<<<image_1>>>中的角色走向<<<image_2>>>中的場景",
"mode": "pro",
"duration": 5,
"metadata": {
"image_list": [
{"image_url": "https://example.com/character.jpg"},
{"image_url": "https://example.com/scene.jpg"}
]
}
}
場景 4:參考視頻編輯(video_list - base)
{
"model": "kling-video-o1",
"prompt": "將視頻中的背景替換爲海邊日落",
"video_list": [
{
"video_url": "https://example.com/source-video.mp4",
"refer_type": "base",
"keep_original_sound": "no"
}
]
}
場景 5:特徵參考視頻(video_list - feature)
{
"model": "kling-video-o1",
"prompt": "<<<element_1>>>中的人物模仿<<<video_1>>>中的動作",
"video_list": [
{
"video_url": "https://example.com/dance-reference.mp4",
"refer_type": "feature",
"keep_original_sound": "no"
}
],
"mode": "std",
"duration": 5,
"metadata": {
"element_list": [
{
"url": "https://example.com/character.jpg",
"type": "image",
"role": "subject"
}
]
}
}
查詢任務結果視頻生成爲異步任務,提交後會返回任務 ID。使用 獲取任務狀態 接口查詢生成進度和結果。
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-video-o1",
"prompt": "讓<<<image_1>>>中的人物向鏡頭揮手",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9",
"metadata": {
"image_list": [{"image_url": "https://example.com/portrait.jpg"}]
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "kling-video-o1",
"prompt": "讓<<<image_1>>>中的人物向鏡頭揮手",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9",
"metadata": {
"image_list": [{"image_url": "https://example.com/portrait.jpg"}],
},
}
)
task = response.json()
print(f"任務 ID: {task['id']}")
print(f"狀態: {task['status']}")
const response = await fetch('https://toapis.com/v1/videos/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'kling-video-o1',
prompt: '讓<<<image_1>>>中的人物向鏡頭揮手',
mode: 'std',
duration: 5,
aspect_ratio: '16:9',
metadata: {
image_list: [{ image_url: 'https://example.com/portrait.jpg' }]
}
})
});
const task = await response.json();
console.log(`任務 ID: ${task.id}`);
console.log(`狀態: ${task.status}`);
{
"id": "video_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ",
"object": "generation.task",
"model": "kling-video-o1",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}