跳转到主要内容
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": "videoretalk",
  "video_url": "https://example.com/speaker.mp4",
  "audio_url": "https://example.com/target-speech.wav"
}
'
{
  "created": 1775200000,
  "id": "task-unified-1775200000-xyz12345",
  "model": "videoretalk",
  "object": "video.generation.task",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": false,
    "estimated_time": 90,
    "video_duration": 0
  },
  "type": "video",
  "usage": {
    "billing_rule": "per_second",
    "credits_reserved": 480,
    "user_group": "default"
  }
}

授权

Authorization
string
header
必填

##所有接口均需要使用Bearer Token进行认证##

获取 API Key:

访问 API Key 管理页面 获取您的 API Key

使用时在请求头中添加:

Authorization: Bearer YOUR_API_KEY

请求体

application/json
model
enum<string>
默认值:videoretalk
必填

模型名称

可用选项:
videoretalk
示例:

"videoretalk"

video_url
string<uri>
必填

输入视频URL,包含需要替换口型的人物

要求:

  • 公网可访问的视频URL
  • 格式:MP4、MOV 等常见格式
  • 视频中需包含清晰可见的人脸
  • 建议时长:2 ~ 300
示例:

"https://example.com/speaker.mp4"

audio_url
string<uri>
必填

目标音频URL,视频人物将按此音频说话

要求:

  • 公网可访问的音频URL
  • 格式:WAV、MP3、M4A 等常见格式
  • 建议为人声说话内容
示例:

"https://example.com/target-speech.wav"

ref_image_url
string<uri>

人脸参考图URL

视频中有多张人脸时,用此图指定要替换口型的目标人脸

要求:

  • 图片应包含目标人物的正脸
  • 仅在视频中有多张人脸时需要
示例:

"https://example.com/target-person-face.jpg"

video_extension
boolean
默认值:false

当音频时长 > 视频时长时,是否自动扩展视频到音频长度

  • true:输出时长 = 音频时长(视频自动扩展)
  • false:输出时长 = min(视频时长, 音频时长)
示例:

false

query_face_threshold
integer
默认值:170

人脸匹配置信度阈值

  • 范围:120 ~ 200
  • 值越低越容易匹配(可能误匹配)
  • 值越高越严格(可能匹配不到)
  • 如果报「未找到匹配人脸」,可适当降低(如 140
  • 如果匹配到错误人脸,可适当提高(如 190
必填范围: 120 <= x <= 200
示例:

170

callback_url
string<uri>

任务完成后的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"

响应

声动人像视频生成任务创建成功

created
integer

任务创建时间戳

示例:

1775200000

id
string

任务ID

示例:

"task-unified-1775200000-xyz12345"

model
string

实际使用的模型名称

示例:

"videoretalk"

object
enum<string>

任务的具体类型

可用选项:
video.generation.task
progress
integer

任务进度百分比 (0-100)

必填范围: 0 <= x <= 100
示例:

0

status
enum<string>

任务状态

状态progress说明
pending0~10等待处理
processing10~80处理中
completed100完成
failed0失败
可用选项:
pending,
processing,
completed,
failed
示例:

"pending"

task_info
object

视频任务详细信息

type
enum<string>

任务的输出类型

可用选项:
video
示例:

"video"

usage
object

使用量和计费信息