关于 chanjing-text-to-digital-person
蝉镜 Skill,可根据文本生成数字人图片,并将图片制作成说话视频,还支持可选的 LoRA 训练。它可跟踪任务状态,仅在明确要求时下载生成文件。
主要功能
- 01根据提示词生成数字人图片
- 02将图片制作成说话视频
- 03可选进行 LoRA 训练
- 04跟踪图片、视频及 LoRA 任务
- 05按明确要求下载结果
适用场景
- 01根据描述创建数字人图片
- 02将生成图片转为说话视频
- 03运行并跟踪 LoRA 训练
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ chanjing-ai/ chan-skills --skill chanjing-text-to-digital-person安装后在 Claude Code 中输入/chanjing-text-to-digital-person确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples.mdmanifest.yamlreference.mdscripts/_auth.py_task_api.pycreate_lora_task.pycreate_motion_task.pycreate_photo_task.pydownload_result.pyget_lora_task.pyget_motion_task.pyget_photo_task.pylist_tasks.pypoll_lora_task.pypoll_motion_task.pypoll_photo_task.pytests/test_list_tasks.py详细介绍
蝉镜文生数字人
功能说明
文生图、图生说话视频、可选 LoRA 训练与轮询;仅在用户明确要求时下载生成物。凭据与权限见 manifest.yaml。脚本不依赖 ffmpeg/ffprobe。
运行依赖
- python3 与同仓库
scripts/*.py(含_auth.py、_task_api.py) - 无 ffmpeg/ffprobe 门控
环境变量与机器可读声明
- 环境变量键名与说明:
manifest.yaml(environment段)及本文 - 变量、凭据模型、合规
permissions、clientPermissions、agentPolicy:manifest.yaml
使用命令
- ClawHub(slug 以注册表为准):
clawhub run chanjing-text-to-digital-person - 本仓库:
python skills/chanjing-text-to-digital-person/scripts/create_photo_task.py …(见 Standard Workflow)
登记与审稿(单一事实来源)
路径、省略 primaryEnv、persistAccessTokenOnDisk、敏感字段、agentPolicy、可选 env 等:以 manifest.yaml 为准。实现由 _auth.py、_task_api.py 与各 CLI 脚本负责;本文从 When to Use 起介绍流程。
何时使用此 Skill
当用户要做这些事时使用此 Skill:
- 根据人物提示词生成数字人形象图
- 将生成的人物图转成会说话的短视频
- 查询文生图/图生视频/LoRA 任务状态
- 仅在用户明确要求时,将生成的图片或视频下载到本地
如果需求是“上传真人素材训练定制数字人”,优先使用 chanjing-customised-person。
如果需求是“用已有数字人合成口播视频”,优先使用 chanjing-video-compose。
前置条件
执行此 Skill 前,必须先通过 chanjing-credentials-guard 完成 AK/SK 与 Token 校验。
此 Skill 与 guard 共用:
~/.chanjing/credentials.jsonhttps://open-api.chanjing.cc
无凭证时,脚本会自动打开蝉镜登录页(若同仓库存在,则执行 chanjing-credentials-guard/scripts/open_login_page.py,否则调用 webbrowser.open),并提示在本地执行 chanjing_config.py。
审阅与安全(凭据)
与 Purpose / Credentials / Persistence 相关的逐项说明见 manifest.yaml(缺少凭证时可能由子进程调用 guard 的 open_login_page.py 等行为见 clientPermissions)。
标准工作流
主流程通常分为两段,且均为异步任务:
- 调用
create_photo_task.py创建文生图任务,获取photo_unique_id - 调用
poll_photo_task.py轮询至成功,选择一张photo_path - 调用
create_motion_task.py创建图生视频任务,获取motion_unique_id - 调用
poll_motion_task.py轮询至成功,获取最终的video_url - 仅在用户明确要求保存到本地时,才调用
download_result.py
可选扩展:
- 若用户想进行 LoRA 训练,调用
create_lora_task.py和poll_lora_task.py poll_lora_task.py成功后会返回一条photo_task_id,可继续使用poll_photo_task.py获取图片
覆盖的 API
此 Skill 当前覆盖:
POST /open/v1/aigc/photoGET /open/v1/aigc/photo/taskGET /open/v1/aigc/photo/task/pagePOST /open/v1/aigc/motionGET /open/v1/aigc/motion/taskGET /open/v1/aigc/motion/task/pagePOST /open/v1/aigc/lora/task/createGET /open/v1/aigc/lora/taskGET /open/v1/aigc/lora/task/page
脚本
脚本目录:
skills/chanjing-text-to-digital-person/scripts/
本仓库随附文件(勿与仅含 _auth.py 的精简包混淆)
完整包内含 _auth.py、_task_api.py(供任务脚本复用)以及下列 .py CLI;请使用 python3 <路径>/<脚本名>.py 调用(与仓库内其他蝉镜 Skill 的约定一致)。
| 文件名(仓库内) | 说明 |
|---|---|
_auth.py | 读取 credentials.json、刷新并 写回 access_token / expire_in;缺少 AK/SK 时尝试 open_login_page.py |
_task_api.py | 任务 API 共用逻辑(由各 CLI 导入) |
create_photo_task.py | 创建文生图任务 → photo_unique_id |
get_photo_task.py | 获取单个文生图任务详情 |
list_tasks.py | 按 `--kind=photo |
list_tasks.py | 任务列表(type=1 photo,type=2 motion) |
poll_photo_task.py | 轮询文生图至完成 → 默认返回首张图片 URL |
create_motion_task.py | 创建图生视频任务 → motion_unique_id |
get_motion_task.py | 获取单个图生视频任务详情 |
poll_motion_task.py | 轮询图生视频至完成 → 默认返回视频 URL |
create_lora_task.py | 创建 LoRA 训练任务 → lora_id |
get_lora_task.py | 获取 LoRA 任务详情 |
poll_lora_task.py | 轮询 LoRA 至完成 → 默认返回首条 photo_task_id |
download_result.py | 仅在需要保存到本地时使用:下载到 outputs/text-to-digital-person/(或 --output) |
若环境中 缺少 上表中的任一入口或 _task_api.py,则属于 分发/打包不完整。
使用示例
示例 1:文生图后直接进行图生视频
PHOTO_TASK_ID=$(python3 skills/chanjing-text-to-digital-person/scripts/create_photo_task.py \
--age "Young adult" \
--gender Female \
--number-of-images 1 \
--industry "教育培训" \
--background "现代直播间背景" \
--detail "短发,亲和力强,职业装" \
--talking-pose "上半身特写,站立讲解")
PHOTO_URL=$(python3 skills/chanjing-text-to-digital-person/scripts/poll_photo_task.py \
--unique-id "$PHOTO_TASK_ID")
MOTION_TASK_ID=$(python3 skills/chanjing-text-to-digital-person/scripts/create_motion_task.py \
--photo-unique-id "$PHOTO_TASK_ID" \
--photo-path "$PHOTO_URL" \
--emotion "自然播报,语气清晰自信" \
--gesture)
python3 skills/chanjing-text-to-digital-person/scripts/poll_motion_task.py \
--unique-id "$MOTION_TASK_ID"
示例 2:LoRA 训练
LORA_ID=$(python3 skills/chanjing-text-to-digital-person/scripts/create_lora_task.py \
--name "演示LoRA" \
--photo-url https://example.com/1.jpg \
--photo-url https://example.com/2.jpg \
--photo-url https://example.com/3.jpg \
--photo-url https://example.com/4.jpg \
--photo-url https://example.com/5.jpg)
python3 skills/chanjing-text-to-digital-person/scripts/poll_lora_task.py \
--lora-id "$LORA_ID"
下载规则
下载是显式操作,不是默认操作:
poll_photo_task.py和poll_motion_task.py成功后,应先返回远程 URL- 不要自动下载结果文件
- 只有当用户明确表示“下载到本地”“保存到 outputs”“帮我保存到本地”时,才执行
download_result.py
输出约定
默认本地输出目录:
outputs/text-to-digital-person/
其他资源
更多接口细节见:
skills/chanjing-text-to-digital-person/reference.mdskills/chanjing-text-to-digital-person/examples.md