Home / All Skills / Content & Media Creation / manga-drama
Content & Media Creation · freestylefly/canghe-skills

manga-drama

Manga Drama Generator - A manga-style short drama generation tool based on Seedance. Supports using a main character's image as a base to automatically generate storyboard scripts and render videos. Suitable for creating manga-style short videos, character stories, animated shorts, and more. Use this skill when users want to generate manga-style video shorts, character stories, or comic dramas.

L5 Restricted · Isolated sandbox & strict auditV2 Human-AuditedReverse APITerms / ComplianceExecute CommandNetwork AccessWrite FileDual-pass Audit
Author freestyleflyGitHub freestylefly/canghe-skills ↗License MIT(仓库根 LICENSE)Commit dd0bf35595
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

Three-subcommand CLI (generate / from-script / create-script): generate is the main workflow—taking a protagonist image + theme, automatically generating a storyboard script, and producing videos shot-by-shot.

skills/canghe-manga-drama/SKILL.md
python3 scripts/manga_drama.py generate
What is happening here: SKILL.md only provides three invocation methods; the actual logic resides in manga_drama.py.

The so-called "protagonist recognition" is actually a filename heuristic: it extracts the stem of the image filename to assemble a one-sentence description without performing any actual image recognition.

skills/canghe-manga-drama/scripts/seedance_video.py
return f"图片中的主角(基于文件名: {filename})"
What is happening here: analyze_image() only returns a placeholder description based on the filename, falling short of the claim to "extract character features."

Features 5 storyboard templates (introduction/action/emotion/interaction/ending), each containing a default_prompt with placeholders that generate_scene_prompt formats and fills.

skills/canghe-manga-drama/scripts/manga_drama.py
"default_prompt": "{character}站在画面中央,微笑看向镜头,背景是柔和的光晕,漫画风格,温馨氛围,{style}"
What is happening here: Shot prompts are constructed from templates + character description + theme, requiring no manual prompt writing from the user.

Storyboard scripts are written to disk as JSON (create_drama_script) and can also be loaded from user-edited scripts (from-script), supporting shot-by-shot custom prompts.

skills/canghe-manga-drama/scripts/manga_drama.py
with open(output_file, 'w', encoding='utf-8') as f:
What is happening here: The JSON intermediate artifact decouples "scriptwriting" from "video generation", enabling editing and reusability.

Invokes seedance_video.generate_video_task shot-by-shot; the protagonist image is read as a base64 data URI and injected into each shot request to ensure character consistency.

skills/canghe-manga-drama/scripts/seedance_video.py
img_url = f"data:image/{mime_type};base64,{img_base64}"
What is happening here: The same protagonist image serves as the reference image across all storyboard shots.

Credentials are retrieved from ARK_API_KEY (require_env_key), calling the Volcengine Ark Seedance async task and polling until completion.

skills/canghe-manga-drama/scripts/seedance_video.py
require_env_key("ARK_API_KEY")
What is happening here: Both main and seedance_video validate the key once, exiting immediately if it is missing.

The script explicitly disables TLS certificate verification (CERT_NONE), and the generated results are downloaded using a curl subprocess.

skills/canghe-manga-drama/scripts/seedance_video.py
ssl_context.verify_mode = ssl.CERT_NONE
What is happening here: Marked with the comment "ignore SSL verification", which serves as direct evidence for a Red rating.

Artifacts are saved to ~/Desktop/drama_{title}/, with one MP4 per shot; failure of a single shot does not interrupt the entire process (try/except continues).

skills/canghe-manga-drama/SKILL.md
├── scene_1_introduction.mp4 # 分镜1
What is happening here: generate_drama generates shots sequentially and collects successful paths.

The optional --send-feishu flag is accepted by the CLI and passed along, but no Feishu sending implementation is found in the bundled generation code.

skills/canghe-manga-drama/SKILL.md
| `--send-feishu` | ❌ | 发送到飞书 |
What is happening here: This capability appears to be incomplete or dependent on unshown external steps, representing a gap between documentation and implementation.

2Core Capabilities

01Protagonist identification + automated storyboarding (auto-generates multi-shot scripts based on theme)
025 built-in storyboard types (introduction / action / emotion / interaction / ending)
03Three subcommands: generate (one-click) / from-script (script-based) / create-script (template creation)
04Image-to-video with character consistency (uses the same protagonist image across all shots)
05Customizable storyboard scripts (edit the prompt field in JSON)
06Manga drama video specifications (9:16 vertical, 1080p, 5 seconds default per shot)
07Fixed output directory structure: drama_{title}/scene_N_type.mp4
08Optional --send-feishu to forward to Feishu (declared capability)

3External Dependencies

KindDependency / Endpoint
clipython3(运行自带脚本)
clicurl(下载生成视频)
api火山方舟 Seedance 视频生成
package仓库共享模块 common/env_utils(load_env / require_env_key)

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Isolated environment, per-use explicit authorization
For Administrators
Strict authorization, full audit, compliance signoff
Evidence & Triggers (File Paths & Excerpts)
  • SKILL.md / 脚本: Calls undocumented or reverse-engineered private APIs / fakes client identity
  • SKILL.md / 脚本参数: Includes bypassing automated detection, disabling host sandboxes, or skipping SSL certificate verification
  • scripts/: Executes local scripts or commands: python3 scripts/manga_drama.py <generate|from-script|create-script> (SKILL.m
  • 网络端点: Declares external network access: POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks (create
  • 本地工作目录: File read/write and artifact output: Storyboard script JSON (create_drama_script writes to output_file)
Audit Notes: Red: seedance_video.py explicitly disables TLS certificate verification (ssl_context.check_hostname=False, ssl_context.verify_mode=ssl.CERT_NONE, annotated with "ignore SSL verification"), triggering the "security downgrade (disabling TLS verification)" criterion in the classification taxonomy → Red, regardless of whether it is the default path. Additionally, it reads ARK_API_KEY and transmits the user's protagonist image/prompts outbound to the Volcengine Ark generation backend (an Orange tier indicator); however, since the Red tier criteria exclusively focus on security downgrades, it is rated Red. No reverse engineering, impersonation, bulk scraping, or arbitrary code execution was found, and shell=True is not used.

5Second-Pass Verification

  • [ok] 是否关闭 TLS 校验 — seedance_video.py 开头 ssl_context.check_hostname=False、ssl_context.verify_mode=ssl.CERT_NONE(注释「忽略SSL验证」),后续两处 urllib.request.urlopen 均带该 context;确为安全降级,判红档的直接依据。
  • [discrepancy] 「主角识别」宣称是否名副其实 — SKILL.md 核心功能写「主角识别:分析提供的角色图片,提取角色特征」,但 seedance_video.analyze_image 只取图片文件名 stem 并返回「图片中的主角(基于文件名: xxx)」,未做任何图像识别——属能力夸大。
  • [discrepancy] --send-feishu 是否有实现 — generate/from-script 均有 --send-feishu 参数并一路传递,但 bundle 展示的 seedance_video.generate_video_task 函数体内未见任何飞书发送逻辑,SKILL.md 也未给实现细节——疑似未完成或依赖未展示的外部步骤。
  • [discrepancy] 声明依赖 seedance-video-generation 技能 — SKILL.md 写「需要依赖技能:seedance-video-generation」并引用 ../seedance-video-generation-1.0.3/SKILL.md,但实际自带 scripts/seedance_video.py 直连 API(注释「使用直接 API 调用(无需 SDK)」)——声明与实际实现不一致。
  • [ok] 网络调用与凭证读取点 — urllib 两处(建任务、轮询)+ curl 一处(下载);BASE_URL 固定 ark.cn-beijing.volces.com/api/v3。require_env_key('ARK_API_KEY') 在 manga_drama.main 与 seedance_video.generate_video_task 中各出现一次。
  • [ok] 写盘点 — 三处落点:create_drama_script 的 open(output_file,'w')、generate_drama 的 drama_dir.mkdir(parents=True, exist_ok=True)、download_video 的 curl -o;无删除操作。
  • [unlocatable] env_utils 依赖能否在 skill 内定位 — 两个脚本都把 ../../../common 插入 sys.path 后 import env_utils;该模块不在本 skill 目录内(bundle §1 仅列出 SKILL.md 与 2 个 py),bundle 内无法确认其存在与实现。
  • [ok] quote 逐条复核 — 本报告全部 evidence.quote 以子串方式回 bundle 原文比对,无编造。

6Verdict & Scenarios

  • Complete pipeline from "theme + protagonist image → auto storyboarding → shot-by-shot video"; create-script/from-script allow manual fine-tuning of scripts, balancing automation with controllability.
  • Uses JSON storyboard scripts as intermediate artifacts, decoupling scriptwriting from video rendering; resilient engineering where a single failed shot does not abort the entire run.
  • Best for: Creators wanting to quickly produce manga-style short dramas and character story videos; users needing an editable, scriptable storyboarding workflow.
    Not for: Environments sensitive to transmission security or image exfiltration (the script downgrades TLS); users expecting genuine computer vision to extract character features.
    Install Agent-Ready
    ① Verified Mirror 2026-10-10
    Option A · Direct DownloadDownload manga-drama.tar.gz
    sha256: aa82a767e5ae8459…
    Option B · Copy Guide for Agent
    install.json
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit dd0bf35595.