从本机 上传源视频 创建蝉镜 定制数字人,并支持列表、查询、轮询与删除;流程与 Open API 一致: 获取上传 URL( create_upload_url)→ 对返回的 sign_url 发起 PUT 上传正文 → 创建/列出/获取/轮询/删除。仅使用蝉镜 Open API 与接口返回的上传端点, 不 引入其它云厂商凭证。脚本 不 依赖 ffmpeg/ffprobe。环境变量 均可选(默认 ~/.chanjing 与官方 API 基址)。凭据、令牌持久化、网络边界见 manifest.yaml。
scripts/*.py;可读本地视频文件路径并上传manifest.yaml 中的使用说明为准。manifest.yaml( environment 段)及本文permissions、 clientPermissions、 agentPolicy: manifest.yamlclawhub run chanjing-customised-personpython skills/chanjing-customised-person/scripts/create_person.py …(见 Standard Workflow)英文登记、主凭据、 primaryEnv 省略、可选 env、敏感字段与出站边界: 以同目录 manifest.yaml 为准(与 credential_hint、 description frontmatter 一致)。本篇从 When to Use 起写业务能力与流程, 勿与 manifest.yaml 重复维护长篇对表。
当用户要做这些事时使用本 Skill:
如果需求是“拿已有数字人去合成口播视频”,优先使用 chanjing-video-compose。
如果需求是“上传真人视频做对口型驱动”,优先使用 chanjing-avatar。
执行本 Skill 前,必须先通过 chanjing-credentials-guard 完成 AK/SK 与 Token 校验。
本 Skill 与 guard 共用:
~/.chanjing/credentials.jsonhttps://open-api.chanjing.cc无凭证时,脚本会自动打开蝉镜登录页,并提示配置命令。
与 Purpose / Credentials / Persistence / Network 相关的逐项说明见 manifest.yaml(含 permissions.network_mode: open 与 signUrlPutNote)。以下仅 SKILL 正文补充:
credentials.json:脚本会读取本地凭据;刷新后的 access_token / expire_in 写回同一文件 为 预期行为。须限制目录/文件权限(如目录 0700、文件 0600),并 确保永不提交版本库(见 manifest doNotCommitToVcs)。sign_url 与 PUT 主机: upload_file.py / get_upload_url.py 先请求 open-api.chanjing.cc 的 create_upload_url,再向响应中的 sign_url 发起 HTTPS PUT;该 URL 的主机常为蝉镜侧对象存储或 CDN, 可能不在 固定主机白名单中,清单中已改为 network_mode: open 以如实声明。create_person.py --callback:若传入 URL,远程服务可能向该端点 POST 任务结果,载荷可能含状态与资源引用等 敏感信息;须自行信任该端点并承担出站与数据暴露风险。file_id(推荐 upload_file.py:内部为 GET …/create_upload_url → PUT sign_url(正文为文件)→ 轮询 file_detail 至就绪;亦可分步用 get_upload_url.py + 自行 PUT + 轮询)create_person.py 创建定制数字人任务,得到 person_idpoll_person.py 轮询直到成功,得到 preview_url,或用 get_person --field audio_man_id 拿到声音 idlist_persons.pydelete_person.py本 Skill 当前覆盖:
GET /open/v1/common/create_upload_urlGET /open/v1/common/file_detailPOST /open/v1/create_customised_personPOST /open/v1/list_customised_personGET /open/v1/customised_personPOST /open/v1/delete_customised_person脚本目录:
skills/chanjing-customised-person/scripts/脚本说明_auth.py读取凭证、获取或刷新 access_token``get_upload_url.py调用 create_upload_url,输出 sign_url、 mime_type、 file_id 等 JSON(需自行 PUT)upload_file.py``create_upload_url + HTTPS PUT sign_url + 轮询 file_detail,输出 file_id``create_person.py创建定制数字人任务,输出 person_id;可选 --callback(服务端可能向该 URL POST 敏感任务载荷)list_persons.py列出定制数字人形象get_person.py获取单个数字人详情,默认输出 JSONpoll_person.py轮询形象详情直到完成,默认输出 preview_url``delete_person.py删除定制数字人,输出被删除的 person_id
示例 1:从本地视频创建定制数字人
bash
FILE_ID=$(python3 skills/chanjing-customised-person/scripts/upload_file.py \
--file ./source.mp4)
PERSON_ID=$(python3 skills/chanjing-customised-person/scripts/create_person.py \
--name "演示数字人" \
--file-id "$FILE_ID" \
--train-type figure)
python3 skills/chanjing-customised-person/scripts/poll_person.py --id "$PERSON_ID"
示例 2:查看完整详情
bash
python3 skills/chanjing-customised-person/scripts/get_person.py \
--id "C-ef91f3a6db3144ffb5d6c581ff13c7ec"
示例 3:列出与删除
bash
python3 skills/chanjing-customised-person/scripts/list_persons.py
python3 skills/chanjing-customised-person/scripts/delete_person.py \
--id "C-ef91f3a6db3144ffb5d6c581ff13c7ec"
默认不自动下载任何预览视频或封面图:
create_person.py 输出 person_idpoll_person.py 输出 preview_url,便于继续预览或保存如果后续需要落盘预览资源,建议使用:
outputs/customised-person/更多接口细节与触发样例见:
skills/chanjing-customised-person/reference.mdskills/chanjing-customised-person/examples.md