top

中文 | English

飞影数字人 API V2

本文档适用于第三方系统接入飞影数字人的技术文档

通用

所有接口采用 Bearer Token 认证方式,需要在请求的 Header 中填入"Authorization":"Bearer ${token}",token 可以在个人中心->API 明细获取。

在调用接口时,如果 token 验证失败,会返回 401 状态,其他业务异常时会返回 200 状态,需要通过响应体中的 code 错误码来识别具体的异常原因。

接口列表

数字人克隆

创建视频数字人

  • 接口:

    POST /api/v2/hifly/avatar/create_by_video

  • 请求参数:

    参数 类型 描述
    title string 名称,默认"未命名"
    video_url url string 视频 URL 地址,与 file_id 二选一必填,支持 mp4、mov 格式且使用 h264 编码,500MB 以内,分辨率范围 360p ~ 4K,时长范围 5 秒~ 30 分钟。注意:相同 URL 视为同一个数字人。 字符长度不超过 500
    file_id string 文件 ID,与 video_url 二选一必填
    aigc_flag int 是否开启 AIGC 水印,0:跟随个人中心设置,1:开启,2:关闭,默认 0
  • 响应参数:

    参数 类型 描述
    message string 失败时返回错误信息
    code int 失败时错误码
    task_id string 任务 id
    request_id string 请求码
  • 请求示例:

    Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/avatar/create_by_video"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "title": "我的数字人",
    "video_url": "https://example.com/my_video.mp4"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/avatar/create_by_video" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"title": "我的数字人", "video_url": "https://example.com/my_video.mp4"}'
  • 返回示例:
{
  "code": 0,
  "message": "",
  "task_id": "1234567890123456",
  "request_id": "req123456789"
}

创建图片数字人

此接口会产生积分消耗。

  • 接口:

    POST /api/v2/hifly/avatar/create_by_image

  • 请求参数:

    参数 类型 描述
    title string 名称,默认"未命名"
    image_url url string 图片 URL 地址,与 file_id 二选一必填
    file_id string 文件 ID,与 image_url 二选一必填
    model int 模型类型, 1:视频 2.02:视频 2.1,默认 2
    aigc_flag int 是否开启 AIGC 水印,0:跟随个人中心设置,1:开启,2:关闭,默认 0
  • 响应参数:

    参数 类型 描述
    message string 失败时返回错误信息
    code int 失败时错误码
    task_id string 任务 id
    request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/avatar/create_by_image"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "title": "我的图片数字人",
    "image_url": "https://example.com/my_image.jpg",
    "model": 2
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/avatar/create_by_image" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"title": "我的图片数字人", "image_url": "https://example.com/my_image.jpg", "model": 2}'
  • 返回示例:
{
  "code": 0,
  "message": "",
  "task_id": "1234567890123456",
  "request_id": "req123456789"
}

查询任务状态

  • 接口:

    GET /api/v2/hifly/avatar/task

  • 请求参数:

    参数 类型 描述
    task_id string 任务 id ,必填
  • 响应参数:

    参数 类型 描述
    message string 失败时返回错误信息
    code int 失败时错误码
    status int 状态, 1:等待中 2:处理中 3:完成 4:失败
    avatar string 数字人标识
    request_id string 请求码
  • 请求示例:

Python 示例:

import requests

task_id = "1234567890123456"
url = f"https://hfw-api.hifly.cc/api/v2/hifly/avatar/task?task_id={task_id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}

response = requests.get(url, headers=headers)
print(response.json())

cURL 示例:

curl -X GET "https://hfw-api.hifly.cc/api/v2/hifly/avatar/task?task_id=1234567890123456" \
   -H "Authorization: Bearer YOUR_TOKEN"
  • 返回示例:
{
  "code": 0,
  "message": "",
  "status": 3,
  "avatar": "av_abc123xyz",
  "request_id": "req123456789"
}

查询数字人列表

查询自己的数字人或公共数字人

  • 接口地址

GET /api/v2/hifly/avatar/list

  • 请求参数
参数 类型 描述
page int 当前页,默认 1
size int 每页数量,默认 20
kind int 数字人分类,0:全部(自己的数字人排在前面),1:自己的数字人,2:公共数字人;不传默认 2
  • 响应参数
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
data array 数组
avatar string 数字人标识
kind int 数字人类型,1:自己的数字人,2:公共数字人
title string 数字人名称
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/avatar/list"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
params = {
    "page": 1,
    "size": 10,
    "kind": 0
}

response = requests.get(url, headers=headers, params=params)
print(response.json())

cURL 示例:

curl -X GET "https://hfw-api.hifly.cc/api/v2/hifly/avatar/list?page=1&size=10&kind=0" \
   -H "Authorization: Bearer YOUR_TOKEN"
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "data": [
        {
          "avatar": "avatar_abc123",
          "kind": 1,
          "title": "我的数字人1"
        },
        {
          "avatar": "avatar_def456",
          "kind": 2,
          "title": "公共数字人1"
        }
      ],
      "request_id": "req123456789"
    }
    

删除数字人

删除当前 token 用户自己的数字人

  • 接口地址

DELETE /api/v2/hifly/avatar

  • 请求参数
参数 类型 描述
avatar string 数字人标识,来自数字人列表接口或数字人任务查询接口返回的 avatar必填
  • 响应参数
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
request_id string 请求码
  • 说明

仅支持删除自己的数字人;公共数字人、其他用户的数字人或团队空间下的数字人不能通过该接口删除。

  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/avatar"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
params = {
    "avatar": "avatar_abc123"
}

response = requests.delete(url, headers=headers, params=params)
print(response.json())

cURL 示例:

curl -X DELETE "https://hfw-api.hifly.cc/api/v2/hifly/avatar?avatar=avatar_abc123" \
   -H "Authorization: Bearer YOUR_TOKEN"
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "request_id": "req123456789"
    }
    

声音克隆

创建声音

  • 接口地址

POST /api/v2/hifly/voice/create

  • 请求参数
参数 类型 描述
title string 声音名称,必填,不超过 20 个字
voice_type int 声音类型,必填,8:声音克隆基础版 v2,目前只支持 8
audio_url url string 声音训练的源文件 URL,支持 mp3、m4a、wav 格式,20M 以内,时长范围 5 秒~ 3 分钟。和 file_id 二选一必填
file_id string 音频文件 ID,和 audio_url 二选一必填
languages string 不填时默认普通话,字典如下
    'zh_cantonese': '粤语',
    'zh_sichuanese': '四川话',
    'zh_shanghainese': '上海话',
    'zh_tianjinese': '天津话',
    'zh_zhengzhounese': '郑州话',
    'zh_wuhanese': '武汉话',
    'zh': '普通话',
    'de': '德语',  # german
    'es': '西班牙语',
    'fr': '法语',
    'en': 'english',
    'jp': '日语',
    'ko': '韩语'                                                            |
  • 响应参数
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
task_id string 任务 id
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/voice/create"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "title": "我的声音",
    "voice_type": 8,
    "audio_url": "https://example.com/my_audio.mp3"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/voice/create" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"title": "我的声音", "voice_type": 8, "audio_url": "https://example.com/my_audio.mp3"}'
  • 返回示例:
{
  "code": 0,
  "message": "",
  "task_id": "1234567890123456",
  "request_id": "req123456789"
}

修改声音的参数

  • 接口地址

POST /api/v2/hifly/voice/edit

  • 请求参数
参数 类型 描述
voice string 声音标识,必填
rate string 语速,必填,值为 0.5 和 2.0 之间,默认 1.0,字符串格式
volume string 音量,必填,值为 0.1 和 2.0 之间,默认 1.0,字符串格式
pitch string 语调,必填,值为 0.1 和 2.0 之间,默认 1.0,字符串格式
  • 响应参数
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/voice/edit"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "voice": "voice_abc123",
    "rate": "1.2",
    "volume": "1.0",
    "pitch": "0.9"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/voice/edit" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"voice": "voice_abc123", "rate": "1.2", "volume": "1.0", "pitch": "0.9"}'
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "request_id": "req123456789"
    }
    

查询声音列表

查询已完成克隆的声音、以及公版声音

  • 接口地址

GET /api/v2/hifly/voice/list

  • 请求参数
参数 类型 描述
page int 当前页,默认 1
size int 每页数量,默认 20,最大 300
kind int 声音分类,1:自己克隆的,2:公共声音,默认 1
  • 响应参数
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
data array 声音数组
voice string 声音标识
type int 声音类型,10:公版声音, 20:高保真声音 V1,22:高保真声音 V2, 8:基础版声音 V2
title string 声音名称
rate string 语速
volume string 音量
pitch string 语调
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/voice/list"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
params = {
    "page": 1,
    "size": 10,
    "kind": 1
}

response = requests.get(url, headers=headers, params=params)
print(response.json())

cURL 示例:

curl -X GET "https://hfw-api.hifly.cc/api/v2/hifly/voice/list?page=1&size=10&kind=1" \
   -H "Authorization: Bearer YOUR_TOKEN"
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "data": [
        {
          "voice": "voice_abc123",
          "type": 20,
          "title": "我的声音",
          "rate": "1.0",
          "volume": "1.0",
          "pitch": "1.0"
        },
        {
          "voice": "voice_def456",
          "type": 10,
          "title": "公共声音1",
          "rate": "1.0",
          "volume": "1.0",
          "pitch": "1.0"
        }
      ],
      "request_id": "req123456789"
    }
    

查询任务状态

  • 接口:

    GET /api/v2/hifly/voice/task

  • 请求参数:

    参数 类型 描述
    task_id string 任务 id ,必填
  • 响应参数:

    参数 类型 描述
    message string 失败时返回错误信息
    code int 失败时错误码
    status int 状态, 1:等待中 2:处理中 3:完成 4:失败
    voice string 声音标识
    demo_url url string 试听声音文件地址
    request_id string 请求码
  • 请求示例:

Python 示例:

import requests

task_id = "1234567890123456"
url = f"https://hfw-api.hifly.cc/api/v2/hifly/voice/task?task_id={task_id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}

response = requests.get(url, headers=headers)
print(response.json())

cURL 示例:

curl -X GET "https://hfw-api.hifly.cc/api/v2/hifly/voice/task?task_id=1234567890123456" \
   -H "Authorization: Bearer YOUR_TOKEN"
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "status": 3,
      "voice": "voice_abc123",
      "demo_url": "https://example.com/demo_audio.mp3",
      "request_id": "req123456789"
    }
    

创作

视频创作(声音驱动)

此接口会产生积分消耗。 如果已经有音频文件,可以使用此接口快速创建视频。

  • 接口:

    POST /api/v2/hifly/video/create_by_audio

  • 请求参数

参数 类型 描述
audio_url url string 音频文件地址,支持 mp3、m4a、wav 等格式,100M 以内,时长范围 5 秒 ~ 30 分钟。与 file_id 二选一必填
file_id string 音频文件 ID。与 audio_url 二选一必填
avatar string 数字人标识;与 video_file_id 至少填写一个
video_file_id string 视频文件 ID,通过上传文件 获取,需为视频文件;与 avatar 至少填写一个。
title string 作品名称,默认"未命名",不超过 20 个字。
aigc_flag int 是否开启 AIGC 水印,0:跟随个人中心设置,1:开启,2:关闭,默认 0
video_start_msec int 从指定毫秒数开始驱动,默认不指定
  • 响应参数:
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
task_id string 任务 id
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_audio"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "title": "音频驱动视频",
    "audio_url": "https://example.com/my_audio.mp3",
    "avatar": "av_abc123xyz",
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_audio" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"title": "音频驱动视频", "audio_url": "https://example.com/my_audio.mp3", "avatar": "av_abc123xyz"}'
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "task_id": "1234567890123456",
      "request_id": "req123456789"
    }
    

视频创作(文本驱动)

此接口会产生积分消耗。 如果没有音频文件,需要生成音频,可以使用此接口快速创建视频。

  • 接口:

    POST /api/v2/hifly/video/create_by_tts

  • 请求参数:

参数 类型 描述
voice string 声音标识,不传 video_file_id 时必填,参考创建声音 ,或通过声音列表 获取声音
text string 文本内容,必填,不超过 10000 字,不支持 html 标签
avatar string 数字人标识,不传 video_file_id 时必填
video_file_id string 视频文件 ID,通过上传文件 获取,需为视频文件;可替代 avatar 和 voice。
title string 作品名称,默认"未命名",不超过 20 个字。
st_show int 是否显示字幕,1:显示,0:不显示,默认不显示
st_font_name string 字体,如抖音美好体、荆南波波黑、Alimama FangYuanTi VF、云峰飞云体、三极泼墨体、快看世界体等,登陆飞影查看更多
st_font_size int 字号,默认 100
st_primary_color string 文字颜色,格式:#ff0000
st_outline_color string 文字描边颜色,格式:#ff0000
st_width int 字幕区域宽度,默认 600
st_height int 字幕区域高度,默认 100
st_pos_x int 字幕区域左上角的 X 坐标,默认 60
st_pos_y int 字幕区域左上角的 Y 坐标,默认 900
aigc_flag int 是否开启 AIGC 水印,0:跟随个人中心设置,1:开启,2:关闭,默认 0
video_start_msec int 从指定毫秒数开始驱动,默认不指定

字幕使用说明

  • 响应参数:
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
task_id string 任务 id
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_tts"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "title": "文本驱动视频",
    "text": "这是一段测试文本,用于生成数字人视频。",
    "voice": "voice_abc123",
    "avatar": "av_abc123xyz"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_tts" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"title": "文本驱动视频", "text": "这是一段测试文本,用于生成数字人视频。", "voice": "voice_abc123", "avatar": "av_abc123xyz"}'
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "task_id": "1234567890123456",
      "request_id": "req123456789"
    }
    

查询网感模板列表

查询可用的网感模板,用于视频创作(网感模板)template 参数。

  • 接口:

    GET /api/v2/hifly/video/lively_templates

  • 请求参数:

    参数 类型 描述
    template string 模板标识,指定时只返回该模板,可选
    tag string 标签筛选,可选
    title string 标题模糊筛选,可选
    page int 当前页,默认 1
    size int 每页数量,默认 20,最大 200
    type int 画面方向,0:竖屏(默认),1:横屏,2:方形,3:原始比例
  • 响应参数:

    参数 类型 描述
    message string 失败时返回错误信息
    code int 失败时错误码
    data array 模板数组
    template string 模板标识,可直接作为视频创作(网感模板)template 参数
    title string 模板标题
    cover_url string 模板封面图地址
    demo_url string 模板示例视频地址
    type int 画面方向,0:竖屏,1:横屏,2:方形,3:原始比例
    total int 总数
    request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/video/lively_templates"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
params = {
    "page": 1,
    "size": 10
}

response = requests.get(url, headers=headers, params=params)
print(response.json())

cURL 示例:

curl -X GET "https://hfw-api.hifly.cc/api/v2/hifly/video/lively_templates?page=1&size=10" \
   -H "Authorization: Bearer YOUR_TOKEN"
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "data": [
        {
          "template": "EfnMC5dxmJrRT_1koi1YRw",
          "title": "新闻快讯",
          "cover_url": "https://example.com/covers/tpl_abc123xyz.jpg",
          "demo_url": "https://example.com/demo/tpl_abc123xyz.mp4",
          "type": 0
        }
      ],
      "total": 1,
      "request_id": "req123456789"
    }
    

视频创作(网感模板)

此接口会产生积分消耗。 基于文本驱动,使用此接口可快速创建带字幕、带标题的网感视频。

  • 接口:

    POST /api/v2/hifly/video/create_by_template

  • 请求参数:

参数 类型 描述
voice string 声音标识,不传 video_file_id 时必填,参考创建声音 ,或通过声音列表 获取声音
text string 文本内容,必填,不超过 10000 字,不支持 html 标签
avatar string 数字人标识,不传 video_file_id 时必填
video_file_id string 视频文件 ID,通过上传文件 获取,需为视频文件;可替代 avatar 和 voice。
title string 作品名称,默认"未命名",不超过 20 个字。
template string 模板标识,必填,参考查询网感模板列表 获取
aigc_flag int 是否开启 AIGC 水印,0:跟随个人中心设置,1:开启,2:关闭,默认 0
bgm_file_id string 背景音乐文件 ID,通过上传文件 获取,需为音频文件,字符长度不超过 500,可选
ambience_file_id string 环境音文件 ID,通过上传文件 获取,需为音频文件,字符长度不超过 500,可选
cover_file_id string 封面图文件 ID,通过上传文件 获取,需为图片文件,字符长度不超过 500,可选
norm_lufs float 整体音频响度归一化目标值(LUFS),范围 0 到 100,可选,不传或传 0 表示不指定
bgm_norm_lufs float 背景音乐响度归一化目标值(LUFS),范围 0 到 100,可选,不传或传 0 表示不指定
audio_assets_norm_lufs float 音效/素材音轨响度归一化目标值(LUFS),范围 0 到 100,可选,不传或传 0 表示不指定
ambience_norm_lufs float 环境音响度归一化目标值(LUFS),范围 0 到 100,可选,不传或传 0 表示不指定

说明:bgm_file_idambience_file_idcover_file_id 均为可选的媒体包装参数,用于给生成的视频附加背景音乐、环境音、自定义封面图。

  • 响应参数:
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
task_id string 任务 id
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_template"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "title": "文本驱动视频",
    "text": "这是一段测试文本,用于生成数字人视频。",
    "voice": "voice_abc123",
    "avatar": "av_abc123xyz",
    "template": "EfnMC5dxmJrRT_1koi1YRw",
    "bgm_file_id": "file_bgm123xyz",
    "ambience_file_id": "file_ambience123xyz",
    "cover_file_id": "file_cover123xyz",
    "norm_lufs": 16,
    "bgm_norm_lufs": 24,
    "audio_assets_norm_lufs": 18,
    "ambience_norm_lufs": 26
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_template" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"title": "文本驱动视频", "text": "这是一段测试文本,用于生成数字人视频。", "voice": "voice_abc123", "avatar": "av_abc123xyz","template": "EfnMC5dxmJrRT_1koi1YRw", "bgm_file_id": "file_bgm123xyz", "ambience_file_id": "file_ambience123xyz", "cover_file_id": "file_cover123xyz", "norm_lufs": 16, "bgm_norm_lufs": 24, "audio_assets_norm_lufs": 18, "ambience_norm_lufs": 26}'
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "task_id": "1234567890123456",
      "request_id": "req123456789"
    }
    

视频翻译

此接口会产生积分消耗。 上传需要翻译的视频后,可使用此接口生成目标语言版本的视频。

  • 接口:

    POST /api/v2/hifly/video/translate

  • 请求参数:

参数 类型 描述
video_file_id string 视频文件 ID,必填,通过上传文件 获取。视频时长不能超过 10 分钟
target_language_code string 目标语言代码,必填,例如 enjako,具体以服务端支持语言为准

说明:此接口不提供裁剪参数。如需翻译视频片段,请先自行裁剪后再上传。暂不支持 API 回调;通过查询任务状态获取结果时,暂不支持返回作品时长。

  • 响应参数:
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
task_id string 任务 id
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/video/translate"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "video_file_id": "file_video123xyz",
    "target_language_code": "en"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/video/translate" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"video_file_id": "file_video123xyz", "target_language_code": "en"}'
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "task_id": "1234567890123456",
      "request_id": "req123456789"
    }
    

视频创作(唱歌)

此接口会产生积分消耗。 上传人物图片和歌曲音频后,可使用此接口生成唱歌视频。

  • 接口:

    POST /api/v2/hifly/video/create_by_sing

  • 请求参数:

参数 类型 描述
image_file_id string 图片文件 ID,必填,通过上传文件 获取
audio_file_id string 音频文件 ID,必填,通过上传文件 获取。音频时长不能超过 60 秒

说明:此接口暂不支持 API 回调;通过查询任务状态获取结果时,暂不支持返回作品时长。

  • 响应参数:
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
task_id string 任务 id
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_sing"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "image_file_id": "file_image123xyz",
    "audio_file_id": "file_audio123xyz"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_sing" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"image_file_id": "file_image123xyz", "audio_file_id": "file_audio123xyz"}'
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "task_id": "1234567890123456",
      "request_id": "req123456789"
    }
    

视频创作(图片驱动)

此接口会产生积分消耗。 上传人物图片并传入文本和声音后,可使用此接口生成图片驱动视频。

  • 接口:

    POST /api/v2/hifly/video/create_by_image

  • 请求参数:

参数 类型 描述
image_file_id string 图片文件 ID,必填,通过上传文件 获取
voice string 声音标识,必填,参考创建声音,或通过声音列表 获取
text string 文本内容,必填,不超过 10000 字,不支持 html 标签
model int 视频生成模型,可选项:5(即模型4.0)、6(即模型4.0卡通)。0 或不传时默认使用 5

说明:此接口暂不支持 API 回调;通过查询任务状态获取结果时,暂不支持返回作品时长。

  • 响应参数:
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
task_id string 任务 id
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_image"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "image_file_id": "file_image123xyz",
    "voice": "voice_abc123",
    "text": "这是一段测试文本,用于生成图片驱动视频。",
    "model": 5
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/video/create_by_image" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"image_file_id": "file_image123xyz", "voice": "voice_abc123", "text": "这是一段测试文本,用于生成图片驱动视频。", "model": 5}'
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "task_id": "1234567890123456",
      "request_id": "req123456789"
    }
    

音频创作

此接口会产生积分消耗。 可以使用此接口快速创建音频。

  • 接口:

    POST /api/v2/hifly/audio/create_by_tts

  • 请求参数:

参数 类型 描述
voice string 声音标识,必填,参考创建声音 ,或通过声音列表 获取声音
text string 文本内容,必填,不超过 10000 字,不支持 html 标签
title string 作品名称,默认"未命名",不超过 20 个字。
aigc_flag int 是否开启 AIGC 水印,0:跟随个人中心设置,1:开启,2:关闭,默认 0
  • 响应参数:
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
task_id string 任务 id
request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/audio/create_by_tts"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "title": "音频创作",
    "text": "这是一段测试文本,用于生成音频。",
    "voice": "voice_abc123"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/audio/create_by_tts" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"title": "音频创作", "text": "这是一段测试文本,用于生成音频。", "voice": "voice_abc123"}'
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "task_id": "1234567890123456",
      "request_id": "req123456789"
    }
    

查询创作任务状态

  • 接口:

    GET /api/v2/hifly/video/task

  • 请求参数:

    参数 类型 描述
    task_id string 任务 id,必填,由视频创作、视频翻译、唱歌视频或图片驱动视频接口返回
  • 响应参数:

    参数 类型 描述
    message string 失败时返回错误信息
    code int 失败时错误码
    status int 作品状态, 1:等待中 2:处理中 3:完成 4:失败
    video_Url url string 合成的视频地址。这是一个临时地址,请尽快转存。url 中会带有 query 参数,下载视频时请确保已兼容。
    duration int 作品时长,单位:秒。视频翻译、唱歌视频和图片驱动视频任务暂不支持返回作品时长
    request_id string 请求码
  • 请求示例:

Python 示例:

import requests

task_id = "1234567890123456"
url = f"https://hfw-api.hifly.cc/api/v2/hifly/video/task?task_id={task_id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}

response = requests.get(url, headers=headers)
print(response.json())

cURL 示例:

curl -X GET "https://hfw-api.hifly.cc/api/v2/hifly/video/task?task_id=1234567890123456" \
   -H "Authorization: Bearer YOUR_TOKEN"
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "status": 3,
      "video_Url": "https://example.com/videos/abc123.mp4?token=xyz789",
      "duration": 45,
      "request_id": "req123456789"
    }
    

删除作品

  • 接口:

    DELETE /api/v2/hifly/video/task

  • 请求参数:

    参数 类型 描述
    task_id string 任务 id,必填,仅支持普通视频创作任务 ID,不支持视频翻译、唱歌视频或图片驱动视频返回的任务 ID
  • 响应参数:

    参数 类型 描述
    message string 失败时返回错误信息
    code int 失败时错误码
    request_id string 请求码
  • 请求示例:

Python 示例:

import requests

task_id = "1234567890123456"
url = f"https://hfw-api.hifly.cc/api/v2/hifly/video/task?task_id={task_id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}

response = requests.delete(url, headers=headers)
print(response.json())

cURL 示例:

curl -X DELETE "https://hfw-api.hifly.cc/api/v2/hifly/video/task?task_id=1234567890123456" \
   -H "Authorization: Bearer YOUR_TOKEN"
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "request_id": "req123456789"
    }
    

封面

查询封面模板列表

查询可用的封面模板,用于创建封面template 参数。

  • 接口:

    GET /api/v2/hifly/project/cover_styles

  • 请求参数:

    参数 类型 描述
    page int 当前页,默认 1
    size int 每页数量,默认 20,最大 200
    hifly_id string 第三方用户标识,仅通过 Coze/百度智能体 token 调用时需要
  • 响应参数:

    参数 类型 描述
    message string 失败时返回错误信息
    code int 失败时错误码
    data array 模板数组
    id string 模板标识,可直接作为创建封面template 参数
    title string 模板名称
    url string 模板预览图地址
    slots array 文案变量槽(暂未开放,始终返回空数组)
    total int 总数
    request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/project/cover_styles"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
params = {
    "page": 1,
    "size": 10
}

response = requests.get(url, headers=headers, params=params)
print(response.json())

cURL 示例:

curl -X GET "https://hfw-api.hifly.cc/api/v2/hifly/project/cover_styles?page=1&size=10" \
   -H "Authorization: Bearer YOUR_TOKEN"
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "data": [
        {
          "id": "cs_abc123xyz",
          "title": "商务红",
          "url": "https://example.com/cover_styles/cs_abc123xyz.jpg",
          "slots": []
        }
      ],
      "total": 1,
      "request_id": "req123456789"
    }
    

创建封面

基于封面模板生成一张封面图片。

  • 接口:

    POST /api/v2/hifly/project/covers

  • 请求参数:

    参数 类型 描述
    template string 封面模板标识,必填,参考查询封面模板列表 获取
    avatar string 数字人标识,用于替换封面中的数字人形象,可选
    content string 文案内容,不超过 10000 字,用于自动生成文案变量槽的取值。与 slots 至少填写一项
    slots array 文案变量槽,用于直接指定模板中占位内容的取值。与 content 至少填写一项
    name string 变量槽名称
    label string 变量槽标签
    value string 变量槽取值
    max_length int 取值最大长度
    min_length int 取值最小长度
    canvas_preset string 输出画布比例,可选:9:16(默认)、3:4
    output_format string 输出图片格式,可选:jpg(默认)、png
    hifly_id string 第三方用户标识,仅通过 Coze/百度智能体 token 调用时需要

    说明:contentslots 至少需要提供一项;仅传 content 时会自动分析生成变量槽取值。

  • 响应参数:

    参数 类型 描述
    message string 失败时返回错误信息
    code int 失败时错误码
    cover_id string 封面标识
    url string 封面图片地址
    request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/project/covers"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "template": "cs_abc123xyz",
    "content": "夏日新品限时特惠,全场五折起",
    "canvas_preset": "9:16",
    "output_format": "jpg"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/project/covers" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"template": "cs_abc123xyz", "content": "夏日新品限时特惠,全场五折起", "canvas_preset": "9:16", "output_format": "jpg"}'
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "cover_id": "cover_abc123xyz",
      "url": "https://example.com/covers/cover_abc123xyz.jpg",
      "request_id": "req123456789"
    }
    

系统

消息回调

任务完成后,会主动将消息推送到回调地址。默认只回调创作任务的消息,开启 V2 事件回调后,会回调数字人克隆声音克隆的消息。

如果响应状态码不为 200,则视为通知失败, 5 分钟内会重试,之后不再重试。

可以在个人中心设置回调地址及开启 V2 事件回调。

数字人克隆任务
  • 请求参数

    参数 类型 描述
    task_id string 任务 id
    message string 失败时返回错误信息
    code int 失败时错误码
    type int 消息类型,2:数字人克隆
    status int 状态, 3:完成 4:失败
    avatar string 数字人标识
  • 返回示例:

    {
      "task_id": "1234567890123456",
      "message": "",
      "code": 0,
      "type": 2,
      "status": 3,
      "avatar": "av_abc123xyz"
    }
    
声音克隆任务
  • 请求参数

    参数 类型 描述
    task_id string 任务 id
    message string 失败时返回错误信息
    code int 失败时错误码
    type int 消息类型,3:声音克隆
    status int 状态, 3:完成 4:失败
    voice string 声音标识
    demo_url url string 试听声音文件地址
  • 返回示例:

    {
      "task_id": "1234567890123456",
      "message": "",
      "code": 0,
      "type": 3,
      "status": 3,
      "voice": "voice_abc123",
      "demo_url": "https://example.com/demo_audio.mp3"
    }
    
创作任务
  • 请求参数

    参数 类型 描述
    task_id string 任务 id
    message string 失败时返回错误信息
    code int 失败时错误码
    status int 作品状态,3:完成 4:失败
    video_Url url string 合成的视频地址。这是一个临时地址,请尽快转存。 url 中会带有 query 参数,下载视频时请确保已兼容。
    type int 消息类型,1:作品
    duration int 作品时长,单位:秒
    title string 作品名称
  • 返回示例:

    {
      "task_id": "1234567890123456",
      "status": 3,
      "video_Url": "https://example.com/videos/abc123.mp4?token=xyz789",
      "type": 1,
      "duration": 45,
      "message": "",
      "code": 0,
      "title": "我的视频创作"
    }
    

上传文件

先获取上传地址,然后再上传文件

获取上传地址
  • 接口:

    POST /api/v2/hifly/tool/create_upload_url

  • 请求参数

    参数 类型 描述
    file_extension string 后缀名,如 mp4、mp3 等,必填
  • 响应参数

    参数 类型 描述
    upload_url string 上传地址
    content_type string 文件 mime-type,在上传时需要设置 Content-Type
    file_id string 文件 ID
    request_id string 请求码
  • 请求示例:

Python 示例:

import requests

url = "https://hfw-api.hifly.cc/api/v2/hifly/tool/create_upload_url"
headers = {
    "Authorization": "Bearer YOUR_TOKEN"
}
payload = {
    "file_extension": "mp4"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

cURL 示例:

curl -X POST "https://hfw-api.hifly.cc/api/v2/hifly/tool/create_upload_url" \
   -H "Authorization: Bearer YOUR_TOKEN" \
   -H "Content-Type: application/json" \
   -d '{"file_extension": "mp4"}'
  • 返回示例:

    {
      "upload_url": "https://upload.hifly.cc/test%2Fa.mp4?Expires=1745576446&OSSAccessKeyId=LTAI5tPx2KRcdE3ihKTp5c36&Signature=rY86EuJEqzwYkOPnwOJDHPwP9Ew%3D",
      "content_type": "video/mp4",
      "file_id": "file_abc123xyz",
      "request_id": "req123456789"
    }
    
上传文件
  • 说明

    • 使用 PUT 方式将文件上传到 upload_url
    • 使用 binary 方式上传文件
    • 设置 请求头中的 Content-Type
  • 示例

Python 示例:

import requests

# 假设我们已经从上一步获取了上传地址
upload_url = "https://upload.hifly.cc/test%2Fa.mp4?Expires=1745576446&OSSAccessKeyId=LTAI5tPx2KRcdE3ihKTp5c36&Signature=rY86EuJEqzwYkOPnwOJDHPwP9Ew%3D"
content_type = "video/mp4"
file_path = "/path/to/your/file.mp4"

with open(file_path, 'rb') as file:
    headers = {
        "Content-Type": content_type
    }
    response = requests.put(upload_url, headers=headers, data=file)
    print(f"状态码: {response.status_code}")

cURL 示例:

curl -i -X PUT -T ./my_video.mp4 \
   -H 'Content-Type: video/mp4' \
   'https://upload.hifly.cc/test%2Fa.mp4?Expires=1745576446&OSSAccessKeyId=LTAI5tPx2KRcdE3ihKTp5c36&Signature=rY86EuJEqzwYkOPnwOJDHPwP9Ew%3D'

查询账户积分

可以在个人中心设置积分预警提醒。

  • 接口地址

GET /api/v2/hifly/account/credit

  • 请求参数

  • 响应参数
参数 类型 描述
message string 失败时返回错误信息
code int 失败时错误码
left int 积分余额
request_id string 请求码
  • 请求示例:

    Python 示例:

    import requests
    
    url = "https://hfw-api.hifly.cc/api/v2/hifly/account/credit"
    headers = {
        "Authorization": "Bearer YOUR_TOKEN"
    }
    
    response = requests.get(url, headers=headers)
    print(response.json())
    

    cURL 示例:

    curl -X GET "https://hfw-api.hifly.cc/api/v2/hifly/account/credit" \
       -H "Authorization: Bearer YOUR_TOKEN"
    
  • 返回示例:

    {
      "code": 0,
      "message": "",
      "left": 10000,
      "request_id": "req123456789"
    }
    

错误码

描述
11 参数不正确
14 找不到资源
1001 正在生成中的作品数量达到上限
1002 积分不足
1005 开通会员
1006 会员等级不够
1009 高保真声音已售罄
1011 声音与名人相似
1013 声音达到克隆数量上限
1015 提交的作品数量达到上限
2003 无效 Token
2011 文件大小超过限制
2012 文件类型不支持
2013 获取音频资源失败
2014 获取视频资源失败
2015 数字人克隆失败
2016 获取图片资源失败