Skill 详情

chanjing-one-click-video-creation

一键短视频渲染器,通过 Chanjing API 生成包含脚本、分镜、数字人解说和 AI 素材的完整视频。

匹配类型直接匹配已针对 视频生成 审核
来源chanjing-ai/​chan-skills外部来源
报告安装量77仅表示受欢迎程度

使用前先检查

自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。

已保存的来源预览

SKILL.md

这段内容是审核时保存的快照。外部来源才是完整且最新的版本。

---
name: chanjing-one-click-video-creation
description: >-
  用户输入选题或工作流,自动生成完整短视频成片(文案、分镜、数字人口播与
  AI 画面混剪);调用 Chanjing Open API 与同仓库子技能脚本。
credential: credentials.json (app_id/secret_key; access_token persisted on disk)
openclaw_primary_env: false
environment: CHANJING_OPENAPI_CREDENTIALS_DIR, CHANJING_OPENAPI_BASE_URL, SKILLS_DIR, CHANJING_ONE_CLICK_VIDEO_SKILLS_ROOT, CHAN_SKILLS_DIR, CHANJING_ONE_CLICK_VIDEO_REF_PROMPT_MAX_CHARS, CHANJING_ONE_CLICK_VIDEO_CREATION_MODEL_CODE
legacy_environment: CHANJING_CONFIG_DIR, CHANJING_API_BASE, AI_VIDEO_PROMPT_MAX_CHARS, AI_VIDEO_MODEL
machine_readable: manifest.yaml
requires_ffmpeg: true
requires_ffprobe: true
notes: >-
  编排依赖 chanjing-tts、chanjing-video-compose、chanjing-ai-creation 等;
  可选 chan-skill / ClawHub 等价 CLI。
---

# 一键式视频渲染器

## 功能说明

一键调用 Chanjing API 完成口播 TTS、数字人合成、文生视频与本地封装;集成 **ffmpeg** / **ffprobe** 做拼接、转码与轨对齐。编排与安全细则见 **§3**–**§8** 与 `templates/`;**成片命令**见 **§5**。

## 运行依赖

必须可用的二进制或等价封装(具体调用方式见 **§5**、`run_render.py`):

- **ffmpeg**:拼接、转码、封装
- **ffprobe**:时长、分辨率、旋转等元数据(与数字人轨对齐)
- **chan-skill**(或同仓库下直接 `python` 调用子技能脚本):驱动 `chanjing-tts`、`chanjing-video-compose`、`chanjing-ai-creation` 等 CLI

## 环境变量与机器可读声明

- 环境变量键名与说明:**`manifest.yaml`**(`environment` 段)及本文
- 键名、默认值、凭据模型、二进制、合规 **`permissions`**、**`clientPermissions`、`agentPolicy`**:**`manifest.yaml`**

**§3.2** 表格为配合 **`run_render.py`** 阅读的说明;若与 **`manifest.yaml` 冲突,以 `manifest.yaml` 为准**。

## 使用命令

- **ClawHub**(slug 以注册表为准,常与技能包名一致):`clawhub run chanjing-one-click-video-creation`
- **本仓库直连**:`python scripts/run_render.py --input workflow.json --output-dir ./outputs/run1`(在技能目录或配合 **`SKILLS_DIR`** / **`CHANJING_ONE_CLICK_VIDEO_SKILLS_ROOT`** / **`CHAN_SKILLS_DIR`** 使用)

---

## 速查

| 内容 | 位置 |
|------|------|
| 工作流、`duration_sec`、`null`/合并、选题校验 | **§4.1** |
| 切段、奇偶镜、`scenes[]`、`scene_count`/`video_type`;**首镜 `voiceover` ≤20 字(硬)** | **`storyboard_prompt.md`** 篇首「文本切段」;**`script_prompt.md`** 首镜口播;**`video_brief_plan.md`** |
| 渲染技术、状态、`partial`/success、硬约束 | **`render_rules.md`** §1–§4;**§7**、**§8** |
| **`ref_prompt` / 文生提示词** | **`storyboard_prompt.md`** + **`history_storyboard_prompt.md`**;**§4.2** 指针 |
| 请求体字段与默认 | **§6** |
| `run_render.py`、子进程 CLI | **§5** |
| 安全、凭据、信任边界、策略 | **`manifest.yaml`** + **§3.1**(§3.1 不重复 manifest 表格) |
| 环境变量、二进制、副作用、落盘 | **§3.2** |

**冲突**:渲染实现以 **`render_rules.md`** 为准;**`ref_prompt`** 条文以 **`storyboard_prompt.md`** / **`history_storyboard_prompt.md`** 为准(**§4.2** 汇总指针)。`run_render.py` 只实现 **§5** + **`render_rules.md`**,不增业务规则。执行:手工编排子 skill、仅 `run_render`、或混用。

---

## 1. 做什么

1. 选题或全文 → `video_plan`、口播全文、分镜  
2. **TTS**:整段优先;超长按分镜少批合并(细则与字数见 **`render_rules.md` §3·C.4**)  
3. 按镜切音频  
4. **数字人分镜**:`chanjing-video-compose`(音频驱动)  
5. **AI 分镜**:`ref_prompt` → `chanjing-ai-creation` → 与镜内音频合成  
6. **封装**:对齐公共数字人轨 → **ffmpeg** concat → 本地 mp4  

---

## 2. 何时用 / 何时不用

| | |
|--|--|
| **适合** | 要成片;口播与画面混剪;用户明确要生成短视频 |
| **不适合** | 仅文案/标题;未要视频;只剪已有素材 |

---

## 3. 前置条件

- **鉴权**:`chanjing-credentials-guard`;凭据路径与字段见 **`manifest.yaml`**、**§3.1**;无凭证时子进程可 `open_login_page.py`  
- **Plan/Script/分镜**:本地 Agent 逻辑,**无需**外部 LLM API key(本 skill 必选路径不依赖外部 LLM)  
- **本机二进制与仓库布局**:**§3.2**(`ffmpeg` / `ffprobe`、**`SKILLS_DIR`** 等)  
- **数字人与音色**:**勿**用环境变量或仓库内缓存文件保存跨任务的「默认」`audio_man` / `person_id` / `figure_type`。每次任务在 **`workflow.json` 根级显式填写**;由 Agent 按 **`video_plan`**(如 `video_type`)、口播人设与选题语义,调用 **`list_voices.py`** 与 **`list_figures.py`**(`--source` 取 `common` / `customised` 等与本次任务一致)选型后写入;**`audio_man`** 宜与所选形象的 **`audio_man_id`** 一致。
- **公共数字人选型(禁止「只取列表前几项」)**:须用 `list_figures.py --source common --json` 拉取候选(必要时增大 `--page-size` 或翻页,覆盖足够条目),在候选内**逐项对比**后再定稿:`name`、`figures[].type`(→ `figure_type`)、`figures[].width`/`height`(画幅与 **D.1c** 一致)、`audio_man_id`、`audio_name`(若有)与 **`video_plan`/口播人设**(性别、气质、行业、年龄感)是否匹配。**默认偏好年轻、有活力的形象**:名称或 `audio_name` 中含青年/少女/小哥哥/小姐姐/学生/元气/青春/年轻等正向信号时优先;仅当选题或用户明确要求成熟、权威、中老年等气质时,再选对应人设。定制源 `customised` 同样对比 `name`、`width`/`height`、`audio_man_id` 等,勿未经比较直接取页首。

##
在 GitHub 阅读完整来源 (打开外部页面)
相关上下文

相关工作