skills/chanjing-video-compose/SKILL.md
Use Chanjing video synthesis APIs to create digital human videos from text or audio, with optional background upload, polling, and explicit download.
npx skillsauth add chanjing-ai/chan-skills chanjing-video-composeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
调用蝉镜视频合成 Open API:列举公共/定制形象、上传素材、文本或音频驱动数字人、轮询任务;用户明确要求时用脚本下载成片。本 skill 脚本不依赖 ffmpeg/ffprobe(与一键成片编排不同)。凭据与权限边界见同目录 manifest.yaml。
scripts/*.pymanifest.yaml(environment 段)及本文permissions、clientPermissions、agentPolicy:manifest.yamlclawhub run chanjing-video-composepython skills/chanjing-video-compose/scripts/create_task.py …(见 Standard Workflow)凭据、primaryEnv 省略、可选 env、无 ffmpeg 门控(本 skill 独立使用场景)等:以 manifest.yaml 为准。本篇从 When to Use 起写流程与 API 说明。
当用户要做这些事时使用本 Skill:
如果需求更接近“上传一段真人视频做对口型驱动”,优先使用 chanjing-avatar,不要混用。
执行本 Skill 前,必须先通过 chanjing-credentials-guard 完成 AK/SK 与 Token 校验。
本 Skill 与 guard 共用:
~/.chanjing/credentials.jsonhttps://open-api.chanjing.cc无凭证时,脚本会自动打开蝉镜登录页,并提示配置命令。
与 Purpose / Credentials / Persistence 相关的逐项说明见 manifest.yaml。以下仅 SKILL 正文补充:
create_task.py --callback:若传入 URL,蝉镜可能向该端点推送任务结果;须自行评估信任与可达性。common(公共数字人)或 customised(定制数字人)list_figures.py --source <common|customised>(建议 --json,公共源可加大 --page-size 或翻页)获取可用形象;在候选内对比 name、各 figure 的 type 与分辨率、audio_man_id、audio_name(若有)与任务人设后再选定 person.id。禁止未比较就默认列表最前几项。figure_type(与所选 figures[].type 一致),例如 sit_body / whole_body / circle_view。无用户特殊要求时,默认优先年轻、有活力的形象(名称/audio_name 偏青年、学生、元气等);题材需要成熟或中老年气质时再改选。audio_man_idshow(保留字幕)或 hide(隐藏字幕)show 但没有提出自定义样式或位置需求,直接使用官方文档推荐默认值;只有在用户明确想调整字幕位置或样式时,才继续追问 subtitle_config 参数subtitle_config 相关参数upload_file.py 获取 file_idcreate_task.py 创建视频合成任务,得到 video_idpoll_task.py 轮询直到成功,得到 video_urldownload_result.py本 Skill 当前覆盖:
GET /open/v1/list_common_dpPOST /open/v1/list_customised_personPOST /open/v1/create_videoGET /open/v1/videoGET /open/v1/common/create_upload_urlGET /open/v1/common/file_detail脚本目录:
skills/chanjing-video-compose/scripts/| 脚本 | 说明 |
|------|------|
| _auth.py | 读取凭证、获取或刷新 access_token |
| list_figures.py | 按 --source common|customised 列出数字人形象,输出 person.id / figure_type / audio_man_id / 预览信息 |
| upload_file.py | 上传音频或背景素材,轮询到文件可用后输出 file_id |
| create_task.py | 创建视频合成任务;使用公共数字人时可补充 --figure-type ...,字幕支持 --subtitle show|hide 以及完整字幕配置参数;可选 --callback(服务端可能向该 URL 推送结果) |
| poll_task.py | 轮询视频详情直到完成,默认输出 video_url |
| download_result.py | 下载最终视频到 outputs/video-compose/ |
示例 1:公共数字人文本驱动
# 1. 先列公共数字人
python skills/chanjing-video-compose/scripts/list_figures.py --source common
# 2. 用公共数字人创建文本驱动视频
VIDEO_ID=$(python skills/chanjing-video-compose/scripts/create_task.py \
--person-id "C-ef91f3a6db3144ffb5d6c581ff13c7ec" \
--figure-type "sit_body" \
--audio-man "C-0ae461135d8a4eb2b59c853162ea9848" \
--subtitle "show" \
--subtitle-x 31 \
--subtitle-y 1521 \
--subtitle-width 1000 \
--subtitle-height 200 \
--subtitle-font-size 64 \
--subtitle-stroke-width 7 \
--text "你好,这是一个蝉镜视频合成测试。")
# 3. 轮询到完成,拿到 video_url
python skills/chanjing-video-compose/scripts/poll_task.py --id "$VIDEO_ID"
示例 2:定制数字人上传本地音频驱动
python skills/chanjing-video-compose/scripts/list_figures.py --source customised
AUDIO_FILE_ID=$(python skills/chanjing-video-compose/scripts/upload_file.py \
--service make_video_audio \
--file ./input.wav)
VIDEO_ID=$(python skills/chanjing-video-compose/scripts/create_task.py \
--person-id "C-ef91f3a6db3144ffb5d6c581ff13c7ec" \
--subtitle "hide" \
--audio-file-id "$AUDIO_FILE_ID")
python skills/chanjing-video-compose/scripts/poll_task.py --id "$VIDEO_ID"
示例 3:显式下载最终视频
python skills/chanjing-video-compose/scripts/download_result.py \
--url "https://example.com/output.mp4"
下载是显式动作,不是默认动作:
poll_task.py 成功后应先返回 video_urldownload_result.py选择数字人时遵循这条规则:
list_figures.py --source commonlist_figures.py --source customised--figure-type <type>figure_type字幕遵循这条规则:
show 或 hidechanjing-one-click-video-creation 的 run_render.py 调用 create_task.py,以当次 workflow.json 根级 subtitle_required 为准(默认 false → --subtitle hide;true → show 及推荐样式),无需为该一键成片路径再单独追问字幕开关,除非用户在需求里明确要求改字幕策略create_task.py --subtitle showcreate_task.py 在未传 --subtitle-color 时默认白字 color=#FFFFFF:1080p 为 x=31 y=1521 width=1000 height=200 font_size=64 stroke_width=7 asr_type=0;4K 画布为 x=80 y=2840 width=2000 height=1000 font_size=150 stroke_width=7 asr_type=0(两组均含 color=#FFFFFF)create_task.py --subtitle hide 或兼容旧用法 --hide-subtitle--subtitle-x / --subtitle-y / --subtitle-width / --subtitle-height / --subtitle-font-size / --subtitle-color / --subtitle-stroke-color / --subtitle-stroke-width / --subtitle-font-id / --subtitle-asr-typescreen_width / screen_height默认本地输出目录:
outputs/video-compose/更多接口细节见:
skills/chanjing-video-compose/reference.mdskills/chanjing-video-compose/examples.mddevelopment
Use Chanjing TTS API to convert text to speech (list voices, create tasks, poll, download from returned URLs).
development
Use Chanjing TTS API to synthesize speech from text with a user-provided cloned voice (reference audio via public URL).
development
Use Chanjing text-to-digital-person APIs for AI portraits, talking videos, optional LoRA training, polling, and explicit downloads when requested.
tools
用户输入选题或工作流,自动生成完整短视频成片(文案、分镜、数字人口播与 AI 画面混剪);调用 Chanjing Open API 与同仓库子技能脚本。