curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "happyhorse-1.0-reference-to-video",
"prompt": "身着红色旗袍的女性 character1,镜头先以侧面中景勾勒旗袍修身剪裁,随即切换至低角度仰拍,捕捉她轻抬玉手展开折扇 character2 时流苏耳坠 character3 随头部转动轻盈摆动的细节。",
"image_urls": [
"https://cdn.example.com/girl.jpg",
"https://cdn.example.com/folding-fan.jpg",
"https://cdn.example.com/earrings.jpg"
],
"quality": "720p",
"aspect_ratio": "16:9",
"duration": 5
}
'{
"created": 1761313744,
"id": "task-unified-1761313744-h1r2vef0",
"model": "happyhorse-1.0-reference-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 2400,
"video_duration": 5
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 607500,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: happyhorse-1.0-reference-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}HappyHorse 1.0
HappyHorse 1.0 Reference-to-Video 参考生视频
- HappyHorse 1.0 参考生视频,支持 1~9 张参考图 + 文本提示词
- 角色引用约定:在
prompt中通过character1、character2、character3… 关键字按顺序引用image_urls数组中的参考图 - 异步处理模式,使用返回的任务ID 进行查询
- 生成的视频链接,有效期为24小时,请尽快保存
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "happyhorse-1.0-reference-to-video",
"prompt": "身着红色旗袍的女性 character1,镜头先以侧面中景勾勒旗袍修身剪裁,随即切换至低角度仰拍,捕捉她轻抬玉手展开折扇 character2 时流苏耳坠 character3 随头部转动轻盈摆动的细节。",
"image_urls": [
"https://cdn.example.com/girl.jpg",
"https://cdn.example.com/folding-fan.jpg",
"https://cdn.example.com/earrings.jpg"
],
"quality": "720p",
"aspect_ratio": "16:9",
"duration": 5
}
'{
"created": 1761313744,
"id": "task-unified-1761313744-h1r2vef0",
"model": "happyhorse-1.0-reference-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 2400,
"video_duration": 5
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 607500,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: happyhorse-1.0-reference-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}授权
##所有接口均需要使用Bearer Token进行认证##
获取 API Key:
访问 API Key 管理页面 获取您的 API Key
使用时在请求头中添加:
Authorization: Bearer YOUR_API_KEY
请求体
application/json
视频生成模型名称
可用选项:
happyhorse-1.0-reference-to-video 示例:
"happyhorse-1.0-reference-to-video"
文本提示词,必填
长度限制:
- 中文:最多
2500个字符 - 非中文:最多
5000个字符 - 超长部分将被自动截断
角色引用约定(重要):
- 在 prompt 中必须显式使用
character1、character2、character3... 关键字按顺序引用image_urls数组中的参考图 - 第 1 张对应
character1,第 2 张对应character2,以此类推 - 缺少显式引用可能导致角色错乱
示例:
"身着红色旗袍的女性 character1,镜头先以侧面中景勾勒旗袍修身剪裁,随即切换至低角度仰拍,捕捉她轻抬玉手展开折扇 character2 时流苏耳坠 character3 随头部转动轻盈摆动的细节。"
参考图像 URL 数组,必填,1 ~ 9 张
输入图片要求:
- 支持格式:JPEG、JPG、PNG、WEBP
- 分辨率:短边 ≥
400像素,推荐 720P 及以上清晰图(避免极小、模糊或压缩严重的图) - 宽高比建议:图片短边 / 长边 ≥
0.4,且多张图比例一致(与目标视频比例接近) - 单张大小:≤
10MB - 图像 URL 必须公网可访问(HTTP 或 HTTPS),不支持私有 OSS、内网或需要鉴权的链接
顺序: 数组顺序对应 prompt 中的 character1、character2 ... 引用
Required array length:
1 - 9 elements示例:
[
"https://cdn.example.com/girl.jpg",
"https://cdn.example.com/folding-fan.jpg",
"https://cdn.example.com/earrings.jpg"
]
视频分辨率档位,默认为 720p
可选值:
720p:标准清晰度,此为默认值1080p:高清清晰度
计费提示: 分辨率档位直接影响计费,详见模型计费规则
可用选项:
720p, 1080p 示例:
"720p"
视频宽高比,默认为 16:9
可选值:
16:9(横屏)9:16(竖屏)1:1(方形)4:33:44:55:49:2121:9
可用选项:
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 示例:
"16:9"
视频时长(秒),默认为 5 秒
取值范围:
- 整数
3~15 - 时长与计费直接相关
必填范围:
3 <= x <= 15示例:
5
随机种子,默认随机
说明:
- 取值范围:
1~2147483647 - 固定 seed 可在调试 prompt 时降低参数变化的干扰,提升结果可复现性
必填范围:
1 <= x <= 2147483647示例:
42
任务完成后的 HTTPS 回调地址
回调时机:
- 任务完成(completed)、失败(failed)或取消(cancelled)时触发
- 在计费确认完成后发送
安全限制:
- 仅支持 HTTPS 协议
- 禁止回调到内网 IP 地址(127.0.0.1、10.x.x.x、172.16-31.x.x、192.168.x.x 等)
- URL 长度不超过
2048字符
回调机制:
- 超时时间:
10秒 - 失败后最多重试
3次(分别在失败后1/2/4秒重试) - 回调响应体格式与任务查询接口返回格式一致
- 返回 2xx 状态码视为成功,其他状态码触发重试
示例:
"https://your-domain.com/webhooks/video-task-completed"
响应
视频生成任务创建成功
任务创建时间戳
示例:
1761313744
任务ID
示例:
"task-unified-1761313744-h1r2vef0"
实际使用的模型名称
示例:
"happyhorse-1.0-reference-to-video"
任务的具体类型
可用选项:
video.generation.task 任务进度百分比 (0-100)
必填范围:
0 <= x <= 100示例:
0
任务状态
可用选项:
pending, processing, completed, failed, cancelled 示例:
"pending"
视频任务详细信息
Show child attributes
Show child attributes
任务的输出类型
可用选项:
text, image, audio, video 示例:
"video"
使用量和计费信息
Show child attributes
Show child attributes