Skill-Details

chanjing-one-click-video-creation

Ein-Klick-Kurzvideo-Renderer, der über die Chanjing API komplette Videos mit Skript, Storyboard, Digital-Human-Narration und KI-Footage erzeugt.

ÜbereinstimmungDirektGeprüft für Videogenerierung
Quellechanjing-ai/​chan-skillsExterne Quelle
Gemeldete Installationen77Nur Popularitätssignal

Vor Nutzung prüfen

Die automatische Prüfung bewertet Relevanz, nicht Sicherheit oder Empfehlung. Lies vor der Nutzung die Quellanweisungen.

Gespeicherte Quellvorschau

SKILL.md

Dieser Auszug wurde bei der Prüfung gespeichert. Die externe Quelle enthält die vollständige und aktuelle Version.

---
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` 等,勿未经比较直接取页首。

##
Vollständige Quelle auf GitHub lesen (öffnet externe Seite)
Kontext

Verwandte Arbeit