知识顶流(ZSDL)数字人视频生成助手。支持形象克隆、视频合成、声音克隆、音频合成全流程。
QQ(ZSDL) API API QQAPI QQBase URL:https://zsdl.zhishidingliu.cn
功能概述
QQ(ZSDL) API API QQAPI QQBase URL:https://zsdl.zhishidingliu.cn是一项面向实际任务的技能,主要用于认证方式 授权:熊鼠 sk-xxxxxxxxxxxxxxxxx. 康滕特-Type :应用程序/json;⚠️ : 所有:HOST Python 请求必须使用 调用;
核心要点
- 原因 调用。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
数字人视频生成
知数定流(ZSDL)数字人平台的 API 操作助手。
API 基础信息
- Base URL:
https://zsdl.zhishidingliu.cn - 认证方式:
Authorization: Bearer sk-xxxxxxxxxxx - Content-Type:
application/json
⚠️ 重要约束:所有 POST 请求必须使用 Python 调用
原因:zsdl 代理的 Windows Schannel SSL 层存在 renegotiation 兼容性问题,curl 的 POST 请求体无法被后端正确解析。
而 Python urllib / requests 库可以正常发送和接收。因此:
- GET 请求:可用
curl(正常) - POST 请求:必须用 Python(
urllib.request或requests) - 禁止使用
curl进行任何 POST 调用
Python 调用模板
import urllib.request, json, time
headers = {
'Authorization': 'Bearer sk-xxxxxxxxxxx',
'Content-Type': 'application/json',
}
# --- TTS ---
data = {
'clone_voice_id': 123456, # 克隆音色ID(voice_id / clone_voice_id 二选一)
'text': '文案内容', # 文本(>=20字)
'speed': 1.0,
'volume': 50,
'pitch': 1.0,
}
req = urllib.request.Request(
'https://zsdl.zhishidingliu.cn/api/digital.v2.Voice/synthesis',
data=json.dumps(data).encode(), headers=headers, method='POST')
resp = urllib.request.urlopen(req, timeout=30)
body = json.loads(resp.read().decode())
task_id = body['data']['detail']['id']
# --- 轮询TTS结果 ---
req = urllib.request.Request(
f'https://zsdl.zhishidingliu.cn/api/digital.v2.Voice/result?id={task_id}',
headers=headers)
resp = urllib.request.urlopen(req, timeout=30)
body = json.loads(resp.read().decode())
detail = body['data']['detail']
# status: 0=生成中, 1=已完成, 2=已失败
audio_url = detail['audio_url']
# --- video/create ---
data = {
'video_model_id': 123456, # 形象ID(底模ID)
'audio_url': audio_url, # TTS生成的音频URL
'version': 'v6', # v5 / v6 / v8
'name': '作品名称',
'priority': 0, # -1闲时 / 0正常 / 10插队
}
req = urllib.request.Request(
'https://zsdl.zhishidingliu.cn/api/digital.video/create',
data=json.dumps(data).encode(), headers=headers, method='POST')
resp = urllib.request.urlopen(req, timeout=30)
body = json.loads(resp.read().decode())
video_id = body['data']['detail']['id']
接口总览
| 分类 | 接口 | 方法 | 路径 |
|---|---|---|---|
| 形象 | 克隆形象列表 | GET | /api/digital.base_image/list |
| 形象 | 克隆形象详情 | GET | /api/digital.base_image/detail?id={id} |
| 形象 | 克隆形象添加 | POST | /api/digital.base_image/add |
| 视频 | 数字人作品创建 | POST | /api/digital.video/create |
| 视频 | 数字人作品详情 | GET | /api/digital.video/detail?id={id} |
| 视频 | 数字人作品列表 | GET | /api/digital.Video/list |
| 声音 | 音色素材添加 | POST | /api/digital.TrainingAudio/add |
| 声音 | 音色素材激活 | POST | /api/digital.TrainingAudio/activate?id={id} |
| 声音 | 克隆音色详情 | GET | /api/digital.CloneVoice/detail?id={id} |
| 声音 | 克隆音色列表 | GET | /api/digital.CloneVoice/list |
| 声音 | 克隆音色重新训练 | POST | /api/digital.v2.CloneVoice/reTrain?id={id} |
| 声音 | 克隆音色二次确认(A8) | POST | /api/digital.CloneVoice/confirm |
| 音频 | 音频任务创建(TTS) | POST | /api/digital.v2.Voice/synthesis |
| 音频 | 音频任务详情 | GET | /api/digital.v2.Voice/result?id={id} |
| 音频 | 音频任务列表 | GET | /api/digital.VoiceGeneLog/list |
文件夹结构
桌面建立目录:
我的内容库(勿动)
└── 13数字人作品
├── 闲时队列
└── 正常队列
- 步骤1:创建闲时队列/正常队列文件夹(不建时间文件夹)
- 步骤6用户确认后:根据用户选的队列,在对应目录下创建时间文件夹
- 步骤7提交后:设置自动化任务,视频生成完毕自动下载到对应文件夹
自动化下载规则
提交任务时,根据用户选择的队列创建自动化任务:
- 正常队列:10分钟后执行下载检查,轮询作品状态,完成后下载到
正常队列/时间文件夹/ - 闲时队列:次日7:00执行下载检查,轮询作品状态,完成后下载到
闲时队列/时间文件夹/
自动化任务执行逻辑:
- 查询各作品详情接口
GET /api/digital.video/detail?id={id} - 如果 status == "success" → 下载 output_video_url 到对应文件夹
- 如果 status == "failed" → 记录失败原因
- 如果 status == "generating" → 保持等待(自动化会下次继续检查)
- 全部完成 → 通知用户
步骤 — 严格执行
步骤1:展示地图 → 打通API → 建文件夹
先展示以下完整路线图(仅首次使用展示):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
数字人视频生成 — 7步速通地图
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
步骤1 ▸ 连接账号(API Key 连通 + 桌面建文件夹)
步骤2 ▸ 提交文案(写文案 or AI帮你写)
步骤3 ▸ 展示形象+声音列表,选模式:①一键生成(默认配置直达成品)②手动配置
步骤4 ▸ 选择模型版本(仅手动模式)
步骤5 ▸ 选择队列(仅手动模式)
步骤6 ▸ 确认提交(核对全部参数)
步骤7 ▸ 提交完成(自动下载到桌面文件夹)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
然后进入步骤1:
进这个网址:https://zsdl.zhishidingliu.cn/#/home 找到你的 API Key(sk-开头的那串字符),复制发给我。
收到Key后:
- 调用
GET /api/digital.base_image/list+GET /api/digital.CloneVoice/list验证 - 展示资产表格(形象列表 + 声音列表)
- 创建桌面文件夹:
我的内容库(勿动)/13数字人作品/闲时队列/我的内容库(勿动)/13数字人作品/正常队列/- 不创建时间文件夹(留到步骤6确认后)
- 提示进入步骤2
步骤2:提交文案
你想生成什么文案的数字人视频? 1️⃣ 你自己写文案 — 直接发给我文案内容 2️⃣ 我给你写文案 — 可结合你黄金五环生成人设文案或营销文案 文案可一次提交 N 条
- 用户写文案:直接接收文案内容,按条分割、编号:文案1、文案2、文案3...
- AI写文案:根据用户提供的主题/产品/场景生成,按条编号(可结合黄金五环生成人设文案或营销文案)
- 此步骤不调用TTS,等步骤3用户选定声音后再生成配音
- 完成后提示进入步骤3
步骤3:选择数字人和声音
只展示用户自己的列表,不要公共形象/公共声音。
展示完整列表:
你的克隆形象: 数字人1:[名称](ID: xxx,时长: xx秒,已生成x次) 数字人2:[名称](ID: xxx,时长: xx秒,已生成x次) ... 你的克隆音色: 声音1:[名称](ID: xxx,版本: vx,已生成x次) 声音2:[名称](ID: xxx,版本: vx,已生成x次) ...
然后给出两个选项:
请选择模式:
1️⃣ 一键生成 — 默认配置:{使用最多形象} + {使用最多声音} + v6 + 正常队列
👉 直接生成视频作品,免配置
2️⃣ 手动配置 — 自定义形象、声音、模型、队列等全部参数
如果选 1️⃣ 一键生成:
- 自动确定默认配置:
generated_times最高的形象 + 最高的声音 + v6 + 正常队列 - 告知用户默认配置,例如:
一键生成模式:我的-站姿 + 我的A8 + v6 + 正常队列 - 调用 TTS 为所有文案生成配音(必须用 Python)
- 调用 video/create 提交作品(priority=0 正常队列)
- 创建时间文件夹到
正常队列/YYYY-MM-DD_HH-mm/ - 输出最终结果列表,设自动化下载
- 完成后直接结束流程,不再经过步骤4/5/6
- 自动确定默认配置:
如果选 2️⃣ 手动配置:进入下面的自定义选择流程
如果 N = 1(仅1条文案):
请选择: 1️⃣ 用哪个形象? 2️⃣ 用哪个声音?
如果 N ≥ 2(多条文案):
你有 N 条文案,可选择: 📌 统一指定: 全部使用同一个形象 + 同一个声音 👉 例如:全部用数字人4 + 声音10 📌 混搭指定(按文案分段): 可指定不同组合,示例: ┌─────────────────────────────────────┐ │ 文案1~2 → 数字人2 + 声音1 │ │ 文案3~5 → 数字人4 + 声音10 │ └─────────────────────────────────────┘ 请选择方案。
- N 值根据用户实际文案数量动态填入
- 声音编号和用户实际拥有的音色对上
- 用户选好后 → 立即调用TTS为每条文案生成配音音频(用选定的clone_voice_id)
- 轮询等待所有TTS完成 → 保存每条文案对应的audio_url
- 完成后进入步骤4
TTS调用(必须用 Python,不可用 curl):
- 每条文案调用
POST /api/digital.v2.Voice/synthesis传入用户选定的clone_voice_id- 参数:
clone_voice_id(int),text(string, >=20字),speed(float, 默认1.0),volume(int, 默认50),pitch(float, 默认1.0) - 文本字段是
text,不是content - 克隆音色用
clone_voice_id,公共音色用voice_id(二选一)
- 参数:
- 轮询
GET /api/digital.v2.Voice/result?id={id}直到 status=1 - 保存每条文案对应的
audio_url(后续视频合成需要) - 如返回
音色不存在→ 检查 voice_id / clone_voice_id 是否用反
步骤4:选择模型
先展示完整的组合列表(表格形式):
| # | 文案(前20字) | 数字人 | 声音 | |---|---------------|--------|------| | 作品1 | [文案前20字]... | 数字人X - [名称] | 声音X - [名称] | | 作品2 | [文案前20字]... | 数字人X - [名称] | 声音X - [名称] | | 作品3 | [文案前20字]... | 数字人X - [名称] | 声音X - [名称] | ...
选择模型版本: 1️⃣ v5 — 基础版 2️⃣ v6 — 标准版
根据作品数量 N 决定:
如果 N = 1:
请选择模型版本:v5 还是 v6?
如果 N ≥ 2:
📌 统一指定: 全部选同一个版本 👉 例如:全部选 v6 📌 混搭指定(按作品分段): 不同作品选不同版本,示例: ┌────────────────────────────────────┐ │ 作品1~2 → v5 │ │ 作品3~5 → v6 │ └────────────────────────────────────┘
- 不写任何"推荐"、"建议"字样
- 不出现v8选项
- N 根据实际作品数动态填入
步骤5:选择队列
先展示当前完整的组合列表(表格形式):
| # | 文案(前20字) | 数字人 | 声音 | 模型 | |---|---------------|--------|------|------| | 作品1 | [文案前20字]... | 数字人X - [名称] | 声音X - [名称] | vx | | 作品2 | [文案前20字]... | 数字人X - [名称] | 声音X - [名称] | vx | | 作品3 | [文案前20字]... | 数字人X - [名称] | 声音X - [名称] | vx | ...
选择生成队列: 1️⃣ 闲时队列 — 当天22:00后统一生成 2️⃣ 正常队列 — 现在开始生成
- 不要出现 -1/0/10 等数字
- 不要出现「插队」选项
根据作品数量 N 决定:
如果 N = 1:
请选择队列:闲时队列 还是 正常队列?
如果 N ≥ 2:
📌 统一指定: 全部进入同一个队列 👉 例如:全部进正常队列 📌 混搭指定(按作品分段): 不同作品进不同队列,示例: ┌─────────────────────────────────────────────┐ │ 作品1~2 → 闲时队列(当天22:00后生成) │ │ 作品3~5 → 正常队列(现在开始生成) │ └─────────────────────────────────────────────┘
步骤6:确认提交
展示完整参数列表(表格形式):
| # | 文案 | 数字人 | 声音 | 模型 | 队列 | |---|------|--------|------|------|------| | 作品1 | [文案前15字]... | [名称] (ID:xxx) | [名称] (ID:xxx) | vx | [闲时/正常] | | 作品2 | [文案前15字]... | [名称] (ID:xxx) | [名称] (ID:xxx) | vx | [闲时/正常] | | ... | ... | ... | ... | ... | ... | 确认提交?(y/n)
用户确认后 → 立即执行以下操作(按顺序):
- 创建时间文件夹(格式:
YYYY-MM-DD_HH-mm)- 闲时队列 →
我的内容库(勿动)/13数字人作品/闲时队列/YYYY-MM-DD_HH-mm/ - 正常队列 →
我的内容库(勿动)/13数字人作品/正常队列/YYYY-MM-DD_HH-mm/
- 闲时队列 →
- 进入步骤7
步骤7:提交并设置自动化下载
- 逐一调用
POST /api/digital.video/create提交每个作品(必须用 Python)- 参数:
video_model_id(int),audio_url(string),version(string: v5/v6/v8),name(string),priority(int: -1闲时/0正常/10插队) - 形象ID字段是
video_model_id,不是base_image_id - 不传
content文本字段,文本已包含在 TTS 生成的audio_url中
- 参数:
- 只需提交上去,不需要等待下载完成
- 根据队列类型创建自动化任务:
正常队列:创建自动化,10分钟后执行 闲时队列:创建自动化,次日7:00执行
自动化任务内容:轮询各作品状态,下载完成的视频到对应文件夹。
- 提交完成后展示最终列表(表格形式):
| # | 作品ID | 进程 | 下载地址 | |---|--------|------|----------| | 作品1 | xxxx | ⏳ 排队中 | 我的内容库(勿动)/13数字人作品/[队列]/[时间文件夹]/ | | 作品2 | xxxx | ⏳ 排队中 | 同上 | | ... | ... | ... | ... |
- 记录本次任务信息到 workspace memory(作品ID、对应文件夹路径、队列类型)
⚠️ 敏感词处理(提交失败时触发)
如果 video/create 返回類似 包含敏感词、内容违规、命中敏感词 等错误:
- 标记该作品为「敏感词拦截」,在结果列表中标注 ❌
- 展示被拦截的文案原文,指出是哪个作品、哪段文案
- 询问用户:
该文案包含敏感词,是否需要修改后重新提交?(y/n)- 如果 y → 让用户提供修改后的文案,替换原文案,然后:
- 重新调用 TTS 生成配音(用选定的 clone_voice_id)
- 重新调用 video/create 提交
- 更新自动化任务的作品ID列表
- 如果 n → 跳过该作品,保留在结果中标注为 ❌ 敏感词拦截
- 如果 y → 让用户提供修改后的文案,替换原文案,然后:
- 不影响其他作品的正常提交流程
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章