mcpField
C
chanjing-text-to-digital-person

chanjing-text-to-digital-person

github.com/chanjing-ai创意与媒体2262 次安装1 周前更新
代码仓库

关于 chanjing-text-to-digital-person

蝉镜 Skill,可根据文本生成数字人图片,并将图片制作成说话视频,还支持可选的 LoRA 训练。它可跟踪任务状态,仅在明确要求时下载生成文件。

主要功能

  1. 01根据提示词生成数字人图片
  2. 02将图片制作成说话视频
  3. 03可选进行 LoRA 训练
  4. 04跟踪图片、视频及 LoRA 任务
  5. 05按明确要求下载结果

适用场景

  1. 01根据描述创建数字人图片
  2. 02将生成图片转为说话视频
  3. 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.md
manifest.yaml
reference.md
scripts/
_auth.py
_task_api.py
create_lora_task.py
create_motion_task.py
create_photo_task.py
download_result.py
get_lora_task.py
get_motion_task.py
get_photo_task.py
list_tasks.py
poll_lora_task.py
poll_motion_task.py
poll_photo_task.py
tests/
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.json
  • https://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)。

标准工作流

主流程通常分为两段,且均为异步任务:

  1. 调用 create_photo_task.py 创建文生图任务,获取 photo_unique_id
  2. 调用 poll_photo_task.py 轮询至成功,选择一张 photo_path
  3. 调用 create_motion_task.py 创建图生视频任务,获取 motion_unique_id
  4. 调用 poll_motion_task.py 轮询至成功,获取最终的 video_url
  5. 仅在用户明确要求保存到本地时,才调用 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/photo
  • GET /open/v1/aigc/photo/task
  • GET /open/v1/aigc/photo/task/page
  • POST /open/v1/aigc/motion
  • GET /open/v1/aigc/motion/task
  • GET /open/v1/aigc/motion/task/page
  • POST /open/v1/aigc/lora/task/create
  • GET /open/v1/aigc/lora/task
  • GET /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.md
  • skills/chanjing-text-to-digital-person/examples.md

评论

支持 Markdown