Chanjing Text To Digital Person
When to Use This Skill
当用户要做这些事时使用本 Skill:
- * 根据人物提示词生成数字人形象图
- 把生成的人物图转成会说话的短视频
- 查询文生图 / 图生视频 / LoRA 任务状态
- 在用户明确要求时,把生成图片或视频下载到本地
如果需求是“上传真人素材训练定制数字人”,优先使用 chanjing-customised-person。
如果需求是“拿已有数字人做口播视频合成”,优先使用 chanjing-video-compose。
Preconditions
本 Skill 自己包含本地配置和鉴权流程,不依赖其他 skill 的运行时脚本。
本 Skill 使用:
- * 配置文件: INLINECODE2
- 若设置环境变量
CHANJING_CONFIG_DIR:使用 INLINECODE4 - API 基础地址固定: INLINECODE5
当本地缺少 AK/SK 或 AK/SK 无效时,脚本默认返回登录引导信息,不自动打开浏览器。
如需本地自动开页,可显式设置:CHANJING_AUTO_OPEN_LOGIN=1。
INLINECODE7
Standard Workflow
主流程通常分两段,且都是异步任务:
- 1. 调用
create_photo_task 创建文生图任务,得到 INLINECODE9 - 调用
poll_photo_task 轮询到成功,选一张 INLINECODE11 - 调用
create_motion_task 创建图生视频任务,得到 INLINECODE13 - 调用
poll_motion_task 轮询到成功,得到最终 INLINECODE15 - 只有在用户明确要求保存到本地时,才调用 INLINECODE16
可选扩展:
- * 若用户想做 LoRA 训练,调用
create_lora_task 和 INLINECODE18 - INLINECODE19 成功后会返回一条
photo_task_id,可继续用 poll_photo_task 拿图
Covered APIs
本 Skill 当前覆盖:
- * INLINECODE22
- INLINECODE23
- INLINECODE24
- INLINECODE25
- INLINECODE26
- INLINECODE27
- INLINECODE28
Scripts
脚本目录:
| 脚本 | 说明 |
|---|
| INLINECODE30 | 写入/查看本地 app_id 与 secret_key,并清理旧 token 缓存 |
| INLINECODE33 |
从本地凭证获取有效
access_token(必要时自动刷新) |
|
_auth.py | 读取凭证、获取或刷新
access_token |
|
create_photo_task | 创建文生图任务,输出
photo_unique_id |
|
get_photo_task | 获取单个文生图任务详情 |
|
list_tasks | 列出文生图任务列表;返回中
type=1 为 photo,
type=2 为 motion |
|
poll_photo_task | 轮询文生图任务直到完成,默认输出第一张图片地址 |
|
create_motion_task | 创建图生视频任务,输出
motion_unique_id |
|
get_motion_task | 获取单个图生视频任务详情 |
|
poll_motion_task | 轮询图生视频任务直到完成,默认输出视频地址 |
|
create_lora_task | 创建 LoRA 训练任务,输出
lora_id |
|
get_lora_task | 获取 LoRA 任务详情 |
|
poll_lora_task | 轮询 LoRA 任务直到完成,默认输出第一条
photo_task_id |
|
download_result | 下载图片或视频到
outputs/text-to-digital-person/ |
Usage Examples
示例 1:文生图后直接图生视频
CODEBLOCK0
示例 2:LoRA 训练
CODEBLOCK1
Download Rule
下载是显式动作,不是默认动作:
- *
poll_photo_task 和 poll_motion_task 成功后应先返回远端 URL - 不要自动下载结果文件
- 只有当用户明确表达“下载到本地”“保存到 outputs”“帮我落盘”时,才执行 INLINECODE57
Output Convention
默认本地输出目录:
Additional Resources
更多接口细节见:
- * INLINECODE59
- INLINECODE60
Chanjing 文本转数字人
何时使用本技能
当用户要做这些事时使用本技能:
- * 根据人物提示词生成数字人形象图
- 把生成的人物图转成会说话的短视频
- 查询文生图 / 图生视频 / LoRA 任务状态
- 在用户明确要求时,把生成图片或视频下载到本地
如果需求是上传真人素材训练定制数字人,优先使用 chanjing-customised-person。
如果需求是拿已有数字人做口播视频合成,优先使用 chanjing-video-compose。
前置条件
本技能自身包含本地配置和鉴权流程,不依赖其他技能的运行时脚本。
本技能使用:
- * 配置文件:~/.chanjing/credentials.json
- 若设置环境变量 CHANJINGCONFIGDIR:使用 $CHANJINGCONFIGDIR/credentials.json
- API 基础地址固定:https://open-api.chanjing.cc
当本地缺少 AK/SK 或 AK/SK 无效时,脚本默认返回登录引导信息,不自动打开浏览器。
如需本地自动开页,可显式设置:CHANJINGAUTOOPEN_LOGIN=1。
https://www.chanjing.cc/openapi/login
标准工作流程
主流程通常分两段,且都是异步任务:
- 1. 调用 createphototask 创建文生图任务,得到 photouniqueid
- 调用 pollphototask 轮询到成功,选一张 photopath
- 调用 createmotiontask 创建图生视频任务,得到 motionuniqueid
- 调用 pollmotiontask 轮询到成功,得到最终 videourl
- 只有在用户明确要求保存到本地时,才调用 download_result
可选扩展:
- * 若用户想做 LoRA 训练,调用 createloratask 和 pollloratask
- pollloratask 成功后会返回一条 phototaskid,可继续用 pollphototask 拿图
覆盖的 API
本技能当前覆盖:
- * 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
- POST /open/v1/aigc/lora/task/create
- GET /open/v1/aigc/lora/task
脚本
脚本目录:
| 脚本 | 说明 |
|---|
| chanjing-config | 写入/查看本地 appid 与 secretkey,并清理旧 token 缓存 |
| chanjing-get-token |
从本地凭证获取有效 access_token(必要时自动刷新) |
|
auth.py | 读取凭证、获取或刷新 accesstoken |
| create
phototask | 创建文生图任务,输出 photo
uniqueid |
| get
phototask | 获取单个文生图任务详情 |
| list_tasks | 列出文生图任务列表;返回中 type=1 为 photo,type=2 为 motion |
| poll
phototask | 轮询文生图任务直到完成,默认输出第一张图片地址 |
| create
motiontask | 创建图生视频任务,输出 motion
uniqueid |
| get
motiontask | 获取单个图生视频任务详情 |
| poll
motiontask | 轮询图生视频任务直到完成,默认输出视频地址 |
| create
loratask | 创建 LoRA 训练任务,输出 lora_id |
| get
loratask | 获取 LoRA 任务详情 |
| poll
loratask | 轮询 LoRA 任务直到完成,默认输出第一条 photo
taskid |
| download_result | 下载图片或视频到 outputs/text-to-digital-person/ |
使用示例
示例 1:文生图后直接图生视频
bash
PHOTOTASKID=$(python3 scripts/createphototask \
--age Young adult \
--gender Female \
--number-of-images 1 \
--industry 教育培训 \
--background 现代直播间背景 \
--detail 短发,亲和力强,职业装 \
--talking-pose 上半身特写,站立讲解)
PHOTOURL=$(python3 scripts/pollphoto_task \
--unique-id $PHOTOTASKID)
MOTIONTASKID=$(python3 scripts/createmotiontask \
--photo-unique-id $PHOTOTASKID \
--photo-path $PHOTO_URL \
--emotion 自然播报,语气清晰自信 \
--gesture)
python3 scripts/pollmotiontask \
--unique-id $MOTIONTASKID
示例 2:LoRA 训练
bash
LORAID=$(python3 scripts/createlora_task \
--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 scripts/pollloratask \
--lora-id $LORA_ID
下载规则
下载是显式动作,不是默认动作:
- * pollphototask 和 pollmotiontask 成功后应先返回远端 URL
- 不要自动下载结果文件
- 只有当用户明确表达下载到本地保存到 outputs帮我落盘时,才执行 download_result
输出约定
默认本地输出目录:
- * outputs/text-to-digital-person/
附加资源
更多接口细节见:
- * reference.md
- examples.md