curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.5",
"prompt": "参考图片中的人物外观和服装,人物自然走向镜头并回头微笑,镜头缓慢前推,保持真实光影和竖屏构图",
"seconds": "30",
"ratio": "9:16",
"images": [
"https://example.com/assets/person.png",
"https://example.com/assets/street.png"
]
}'
import requests
resp = requests.post(
"https://www.geeknow.top/v1/videos",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "manxue-2.5",
"prompt": "参考产品图保持产品外观一致,生成一段镜头环绕产品的广告视频",
"seconds": "30",
"ratio": "16:9",
"images": [
"https://example.com/assets/product-front.png",
"https://example.com/assets/product-side.png",
],
},
timeout=120,
)
print(resp.json())
const response = await fetch("https://www.geeknow.top/v1/videos", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "manxue-2.5",
prompt: "参考图片中的角色外观,生成一段自然行走的电影感视频",
seconds: "30",
ratio: "16:9",
images: ["https://example.com/assets/character.png"],
}),
});
console.log(await response.json());
{
"id": "manxue-2.5_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"task_id": "manxue-2.5_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"object": "video",
"model": "manxue-2.5",
"status": "queued",
"progress": 0,
"created_at": 1782690295,
"completed_at": null,
"seconds": "30",
"url": null,
"video_url": null,
"metadata": {},
"error": null
}
{
"error": {
"message": "images is required for reference video generation",
"type": "invalid_request_error",
"param": "images",
"code": "invalid_request_error"
}
}
{
"error": {
"message": "seconds must be 30",
"type": "invalid_request_error",
"param": "seconds",
"code": "invalid_request_error"
}
}
{
"error": {
"message": "invalid token",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
manxue-2.5
manxue-2.5 参考生视频
使用 JSON 请求调用 manxue-2.5 提交参考生视频任务。
POST
https://www.geeknow.top
/
v1
/
videos
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.5",
"prompt": "参考图片中的人物外观和服装,人物自然走向镜头并回头微笑,镜头缓慢前推,保持真实光影和竖屏构图",
"seconds": "30",
"ratio": "9:16",
"images": [
"https://example.com/assets/person.png",
"https://example.com/assets/street.png"
]
}'
import requests
resp = requests.post(
"https://www.geeknow.top/v1/videos",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "manxue-2.5",
"prompt": "参考产品图保持产品外观一致,生成一段镜头环绕产品的广告视频",
"seconds": "30",
"ratio": "16:9",
"images": [
"https://example.com/assets/product-front.png",
"https://example.com/assets/product-side.png",
],
},
timeout=120,
)
print(resp.json())
const response = await fetch("https://www.geeknow.top/v1/videos", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "manxue-2.5",
prompt: "参考图片中的角色外观,生成一段自然行走的电影感视频",
seconds: "30",
ratio: "16:9",
images: ["https://example.com/assets/character.png"],
}),
});
console.log(await response.json());
{
"id": "manxue-2.5_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"task_id": "manxue-2.5_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"object": "video",
"model": "manxue-2.5",
"status": "queued",
"progress": 0,
"created_at": 1782690295,
"completed_at": null,
"seconds": "30",
"url": null,
"video_url": null,
"metadata": {},
"error": null
}
{
"error": {
"message": "images is required for reference video generation",
"type": "invalid_request_error",
"param": "images",
"code": "invalid_request_error"
}
}
{
"error": {
"message": "seconds must be 30",
"type": "invalid_request_error",
"param": "seconds",
"code": "invalid_request_error"
}
}
{
"error": {
"message": "invalid token",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
manxue-2.5 参考生视频
manxue-2.5 目前只支持参考生视频。请求必须在 images 中提供至少一张参考图,不能只传文字提示词。服务会返回异步任务 ID,后续通过查询接口获取视频结果。
模型规格
| 项目 | 说明 |
|---|---|
model | 固定传 manxue-2.5 |
| 请求格式 | application/json |
| 时长 | seconds 仅支持 30 秒 |
| 画幅 | ratio 支持 1:1、3:4、4:3、9:16、16:9、21:9 |
| 参考图 | images 必填,支持 1 到 30 张 |
方法与路径
POST /v1/videos
请求示例
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.5",
"prompt": "参考图片中的人物外观和服装,人物自然走向镜头并回头微笑,镜头缓慢前推,保持真实光影和竖屏构图",
"seconds": "30",
"ratio": "9:16",
"images": [
"https://example.com/assets/person.png",
"https://example.com/assets/street.png"
]
}'
import requests
resp = requests.post(
"https://www.geeknow.top/v1/videos",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "manxue-2.5",
"prompt": "参考产品图保持产品外观一致,生成一段镜头环绕产品的广告视频",
"seconds": "30",
"ratio": "16:9",
"images": [
"https://example.com/assets/product-front.png",
"https://example.com/assets/product-side.png",
],
},
timeout=120,
)
print(resp.json())
const response = await fetch("https://www.geeknow.top/v1/videos", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "manxue-2.5",
prompt: "参考图片中的角色外观,生成一段自然行走的电影感视频",
seconds: "30",
ratio: "16:9",
images: ["https://example.com/assets/character.png"],
}),
});
console.log(await response.json());
响应示例
{
"id": "manxue-2.5_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"task_id": "manxue-2.5_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"object": "video",
"model": "manxue-2.5",
"status": "queued",
"progress": 0,
"created_at": 1782690295,
"completed_at": null,
"seconds": "30",
"url": null,
"video_url": null,
"metadata": {},
"error": null
}
{
"error": {
"message": "images is required for reference video generation",
"type": "invalid_request_error",
"param": "images",
"code": "invalid_request_error"
}
}
{
"error": {
"message": "seconds must be 30",
"type": "invalid_request_error",
"param": "seconds",
"code": "invalid_request_error"
}
}
{
"error": {
"message": "invalid token",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
认证
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Body
string
required
模型名称。固定传
manxue-2.5。string
required
视频生成提示词。描述参考图中的主体、动作、镜头和风格;不要把它当作文生视频请求使用。
string
required
输出视频时长,单位为秒。仅支持
30,建议按字符串传入:"30"。string
required
画幅比例。支持
1:1、3:4、4:3、9:16、16:9、21:9。array<string>
required
参考图片数组。至少传入 1 张,最多 30 张;每一项可以是公网图片 URL 或纯 Base64 字符串。不要传 data URI。
参考图使用规则
images是参考生视频的必填字段,不能省略或传空数组。- 多张图片用于共同约束人物、产品、场景或风格,不表示首帧和尾帧。
- 接口不接受
first_image、last_image、referenceVideos或referenceAudios字段。 - 使用本地图片时,客户端需要先转换为纯 Base64 字符串;公网 URL 可直接放入数组。
注意事项
- 请求格式必须是
application/json。 seconds只能使用30,不要传其它时长。images数量不能超过30张,且图片需要可被服务端读取。- 提交成功后读取响应中的
id或task_id,不要重复提交同一个任务。