
Manga Style Video
- 618 installs
- 424 repo stars
- Updated June 8, 2026
- freestylefly/canghe-skills
manga-style-video is a generative media agent skill that turns storyboards or scripts into consistent anime-style animated videos using AI agents for developers creating stylized video content.
About
manga-style-video is an agent skill from freestylefly/canghe-skills, listed on skills.sh with 510 installs, that converts storyboards or written scripts into consistent anime-style animated videos through AI agent workflows. The skill targets developers and content teams who need stylized motion content without manual frame-by-frame animation. Developers reach for manga-style-video when prototyping narrative demos, social clips, or explainer sequences from existing scripts or storyboard outlines. The workflow emphasizes visual consistency across scenes rather than one-off still image generation.
- Converts text prompts and image sequences into manga/anime styled video clips
- Maintains consistent character design and art style across frames
- Agent skill optimized for Claude, Cursor and similar coding agents
- Integrates with existing video generation pipelines and post-processing tools
Manga Style Video by the numbers
- 618 all-time installs (skills.sh)
- Ranked #362 of 1,337 Generative Media skills by installs in the Skillselion catalog
- Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/freestylefly/canghe-skills --skill manga-style-videoAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 618 |
|---|---|
| repo stars | ★ 424 |
| Last updated | June 8, 2026 |
| Repository | freestylefly/canghe-skills ↗ |
How do you generate anime-style video from a script?
Turn storyboards or scripts into consistent anime-style animated videos using AI agents.
Who is it for?
Developers producing stylized video prototypes from existing scripts or storyboards who want agent-orchestrated anime-style animation.
Skip if: Live-action video editing, photorealistic rendering, or pipelines requiring frame-accurate manual animation control.
When should I use this skill?
The user asks to create anime-style, manga-style, or storyboard-driven animated videos from scripts or scene outlines.
What you get
A consistent anime-style animated video sequence generated from the supplied storyboard or script input.
- anime-style animated video
By the numbers
- 510 installs on skills.sh for freestylefly/canghe-skills/manga-style-video
Files
漫画风格视频生成器
专门用于生成漫画/动画风格的视频,内置多种风格模板,无需复杂的提示词工程。
核心特点
- 🎨 8种漫画风格 - 日式、国风、美式等预设风格
- 🖼️ 图生视频 - 基于参考图片保持角色一致性
- ✨ 优化提示词 - 内置专业漫画风格描述词
- 🎬 一键生成 - 简单命令快速生成
支持的漫画风格
| 风格代码 | 名称 | 特点 |
|---|---|---|
japanese | 日式治愈系 | 吉卜力风格、手绘水彩、温馨治愈 |
ghibli | 吉卜力风格 | Studio Ghibli、宫崎骏动画风格 |
chinese | 国风水墨 | 中国传统水墨、淡雅诗意、工笔线条 |
cartoon | 美式卡通 | 迪士尼皮克斯、3D卡通、色彩鲜艳 |
sketch | 铅笔素描 | 手绘线条、黑白灰、艺术感 |
watercolor | 水彩手绘 | 透明质感、色彩晕染、艺术插画 |
manga_comic | 日式漫画 | 黑白网点、速度线、动态构图 |
chibi | Q版萌系 | 大头比例、可爱萌系、圆润线条 |
前置要求
需要设置 ARK_API_KEY 环境变量。
配置方式(推荐)
1. 复制配置模板:
cp .canghe-skills/.env.example .canghe-skills/.env2. 编辑 .canghe-skills/.env 文件,填写你的 API Key:
ARK_API_KEY=your-actual-api-key-here或使用环境变量
export ARK_API_KEY="your-api-key"加载优先级
1. 系统环境变量 (process.env) 2. 当前目录 .canghe-skills/.env 3. 用户主目录 ~/.canghe-skills/.env
使用方法
1. 基础使用
生成日式治愈风格视频:
cd ~/.openclaw/workspace/skills/manga-style-video
python3 scripts/manga_style_video.py "女孩在樱花树下读书"2. 指定风格
# 国风水墨风格
python3 scripts/manga_style_video.py "山水意境" --style chinese
# 美式卡通风格
python3 scripts/manga_style_video.py "可爱小动物" --style cartoon
# 吉卜力风格
python3 scripts/manga_style_video.py "乡村风景" --style ghibli3. 基于参考图片
# 使用角色图片作为参考
python3 scripts/manga_style_video.py "奶奶在包饺子" \
--style japanese \
--image ~/Desktop/character.png4. 完整参数
python3 scripts/manga_style_video.py "春节团圆场景" \
--style japanese \
--image character.png \
--duration 10 \
--ratio 9:16 \
--resolution 1080p \
--output ~/Desktop/my_video.mp4参数说明
| 参数 | 必需 | 默认值 | 说明 |
|---|---|---|---|
prompt | ✅ | - | 视频内容描述 |
--style | ❌ | japanese | 漫画风格 |
--image | ❌ | - | 参考图片路径 |
--duration | ❌ | 10 | 时长(秒) |
--ratio | ❌ | 9:16 | 比例(16:9/9:16/1:1/4:3) |
--resolution | ❌ | 1080p | 分辨率 |
--output | ❌ | - | 输出路径 |
--no-wait | ❌ | false | 不等待完成 |
使用示例
示例1:生成日式治愈风格
python3 scripts/manga_style_video.py \
"白发奶奶在厨房忙碌,窗外阳光洒进来" \
--style japanese \
--duration 8示例2:国风水墨风格
python3 scripts/manga_style_video.py \
"古代女子在荷塘边弹琴,荷花盛开" \
--style chinese \
--ratio 16:9示例3:基于角色生成漫剧
# 分镜1:角色登场
python3 scripts/manga_style_video.py \
"双马尾女孩站在校门口微笑" \
--style chibi \
--image girl.png \
--output scene1.mp4
# 分镜2:动作场景
python3 scripts/manga_style_video.py \
"女孩在教室认真读书" \
--style chibi \
--image girl.png \
--output scene2.mp4示例4:生成Q版萌系视频
python3 scripts/manga_style_video.py \
"小猫咪在草地上打滚,超级可爱" \
--style chibi \
--duration 5查看所有风格
python3 scripts/manga_style_video.py --list-styles输出:
🎨 可用的漫画风格:
japanese - 日式治愈系
ghibli - 吉卜力风格
chinese - 国风水墨
cartoon - 美式卡通
sketch - 铅笔素描
watercolor - 水彩手绘
manga_comic - 日式漫画
chibi - Q版萌系风格提示词示例
日式治愈系 (japanese)
日式动画风格,吉卜力工作室风格,手绘水彩质感,柔和粉彩色调,
线条简洁流畅,温馨治愈,细腻的背景描绘,宫崎骏风格国风水墨 (chinese)
中国传统水墨画风格,国风动画,淡雅色调,山水意境,
工笔线条,古风手绘,诗意唯美Q版萌系 (chibi)
Q版大头比例,萌系可爱风格,圆润线条,明亮色彩,
卡通渲染,治愈系表情技术细节
调用接口
- API:
POST /api/v3/contents/generations/tasks - 模型:
doubao-seedance-1-5-pro-251215(默认) - 图生视频: 支持 base64 图片上传
生成流程
1. 选择漫画风格 → 获取对应提示词模板
2. 组合用户描述 + 风格提示词
3. 调用 Seedance API 生成视频
4. 等待生成完成 → 下载视频输出文件
默认保存到 ~/Desktop/,文件名格式:
manga_{风格}_{时间戳}.mp4注意事项
1. 参考图片 - 清晰的角色图片能获得更好的风格化效果 2. 提示词 - 描述场景和动作即可,风格由 --style 参数控制 3. 生成时间 - 每个视频约30-60秒 4. 文件大小 - 1080p视频较大,建议搭配 --duration 控制时长
对比:普通视频 vs 漫画风格视频
| 普通提示词 | 漫画风格提示词(本技能自动生成) |
|---|---|
| "女孩在樱花树下" | "女孩在樱花树下,日式动画风格,吉卜力工作室风格,手绘水彩质感,柔和粉彩色调,线条简洁流畅,温馨治愈" |
进阶技巧
批量生成漫剧分镜
# 创建脚本
for i in 1 2 3; do
python3 scripts/manga_style_video.py \
"分镜$i的场景描述" \
--style japanese \
--image character.png \
--output scene_$i.mp4 &
done
wait自定义风格组合
如果想要特定的混合风格,可以直接使用 seedance-video-generation 技能,手动编写提示词。
参考文档
- Seedance 视频生成
- 火山方舟文档
#!/usr/bin/env python3
"""
漫画风格视频生成器
专门用于生成日式/国漫风格的动画视频
"""
import os
import sys
import json
import base64
import argparse
import urllib.request
import ssl
from pathlib import Path
from typing import Optional
# 添加 common 模块到路径
COMMON_DIR = Path(__file__).parent.parent.parent / "common"
sys.path.insert(0, str(COMMON_DIR))
# 导入环境变量工具
try:
from env_utils import load_env, require_env_key
except ImportError:
print("错误: 无法加载 env_utils 模块", file=sys.stderr)
sys.exit(1)
# 忽略SSL验证
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
# 加载环境变量
load_env()
# API配置
BASE_URL = "https://ark.cn-beijing.volces.com/api/v3"
DEFAULT_MODEL = "doubao-seedance-1-5-pro-251215"
# 漫画风格预设模板
MANGA_STYLES = {
"japanese": {
"name": "日式治愈系",
"prompt": "日式动画风格,吉卜力工作室风格,手绘水彩质感,柔和粉彩色调,线条简洁流畅,温馨治愈,细腻的背景描绘,宫崎骏风格"
},
"ghibli": {
"name": "吉卜力风格",
"prompt": "Studio Ghibli style, hand-painted watercolor texture, soft pastel colors, detailed backgrounds, warm and healing atmosphere, Hayao Miyazaki animation style"
},
"chinese": {
"name": "国风水墨",
"prompt": "中国传统水墨画风格,国风动画,淡雅色调,山水意境,工笔线条,古风手绘,诗意唯美"
},
"cartoon": {
"name": "美式卡通",
"prompt": "迪士尼皮克斯风格,3D卡通渲染,色彩鲜艳饱满,可爱萌系角色,流畅的动画动作,family-friendly风格"
},
"sketch": {
"name": "铅笔素描",
"prompt": "铅笔素描风格,手绘线条,黑白灰色调,速写质感,艺术感强烈,细腻的线条勾勒"
},
"watercolor": {
"name": "水彩手绘",
"prompt": "水彩画风格,透明质感,色彩晕染,手绘笔触,柔和边缘,艺术性插画风格"
},
"manga_comic": {
"name": "日式漫画",
"prompt": "日式少年漫画风格,黑白网点,速度线效果,动态构图,漫画分镜感,线条粗犷有力"
},
"chibi": {
"name": "Q版萌系",
"prompt": "Q版大头比例,萌系可爱风格,圆润线条,明亮色彩,卡通渲染,治愈系表情"
}
}
def get_api_key():
"""获取API Key"""
return require_env_key("ARK_API_KEY")
def image_to_base64(image_path: str) -> str:
"""将图片转为base64"""
with open(image_path, "rb") as f:
return base64.b64encode(f.read()).decode("utf-8")
def generate_manga_video(
prompt: str,
style: str = "japanese",
image_path: Optional[str] = None,
duration: int = 10,
ratio: str = "9:16",
resolution: str = "1080p",
model: str = DEFAULT_MODEL,
wait: bool = True
) -> dict:
"""
生成漫画风格视频
Args:
prompt: 视频内容描述
style: 漫画风格 (japanese/ghibli/chinese/cartoon/sketch/watercolor/manga_comic/chibi)
image_path: 参考图片路径(可选)
duration: 时长(秒)
ratio: 比例
resolution: 分辨率
model: 模型ID
wait: 是否等待完成
Returns:
生成结果
"""
api_key = get_api_key()
# 获取风格提示词
style_config = MANGA_STYLES.get(style, MANGA_STYLES["japanese"])
style_prompt = style_config["prompt"]
# 组合完整提示词
full_prompt = f"{prompt},{style_prompt}"
print(f"🎨 风格: {style_config['name']}")
print(f"📝 提示词: {full_prompt[:100]}...")
print()
# 构建请求
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
content = []
# 如果有参考图片
if image_path and os.path.exists(image_path):
print(f"📷 使用参考图片: {image_path}")
img_base64 = image_to_base64(image_path)
ext = Path(image_path).suffix.lower().lstrip(".")
mime_type = "png" if ext == "png" else "jpeg"
img_url = f"data:image/{mime_type};base64,{img_base64}"
content.append({"type": "image_url", "image_url": {"url": img_url}})
content.append({"type": "text", "text": full_prompt})
body = {
"model": model,
"content": content,
"duration": duration,
"ratio": ratio,
"resolution": resolution
}
# 创建任务
print("🎬 创建视频生成任务...")
req = urllib.request.Request(
f"{BASE_URL}/contents/generations/tasks",
data=json.dumps(body).encode("utf-8"),
headers=headers,
method="POST"
)
resp = urllib.request.urlopen(req, context=ssl_context, timeout=30)
result = json.loads(resp.read().decode("utf-8"))
task_id = result.get("id")
print(f"✅ 任务创建: {task_id}")
if not wait:
return result
# 等待完成
print("\n⏳ 等待视频生成...")
import time
while True:
time.sleep(10)
req = urllib.request.Request(
f"{BASE_URL}/contents/generations/tasks/{task_id}",
headers=headers
)
resp = urllib.request.urlopen(req, context=ssl_context, timeout=30)
result = json.loads(resp.read().decode("utf-8"))
status = result.get("status")
if status == "succeeded":
video_url = result.get("content", {}).get("video_url", "")
print(f"\n🎉 视频生成成功!")
print(f" 时长: {result.get('duration')}秒")
print(f" 分辨率: {result.get('resolution')}")
print(f" URL: {video_url}")
return result
elif status == "failed":
print(f"\n❌ 生成失败: {result}")
sys.exit(1)
else:
print(f" 状态: {status}...", end="\r", flush=True)
def download_video(video_url: str, output_path: str):
"""下载视频"""
print(f"\n📥 下载视频...")
# 使用curl下载(避免Python SSL问题)
import subprocess
result = subprocess.run(
["curl", "-L", "-o", output_path, video_url, "--max-time", "120"],
capture_output=True,
text=True
)
if result.returncode == 0:
print(f"✅ 下载完成: {output_path}")
else:
print(f"⚠️ 下载失败,请手动下载: {video_url}")
def main():
parser = argparse.ArgumentParser(
description="漫画风格视频生成器 - 专门生成日式/国漫风格动画",
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog=f"""
可用的漫画风格:
japanese - 日式治愈系(默认)
ghibli - 吉卜力风格
chinese - 国风水墨
cartoon - 美式卡通
sketch - 铅笔素描
watercolor - 水彩手绘
manga_comic - 日式漫画
chibi - Q版萌系
使用示例:
# 生成日式治愈风格视频
python3 manga_style_video.py "女孩在樱花树下" --style japanese
# 基于参考图片生成
python3 manga_style_video.py "奶奶在包饺子" --style japanese --image character.png
# 生成国风水墨风格
python3 manga_style_video.py "山水意境" --style chinese --duration 10
"""
)
parser.add_argument("prompt", help="视频内容描述")
parser.add_argument("--style", default="japanese",
choices=list(MANGA_STYLES.keys()),
help="漫画风格(默认: japanese)")
parser.add_argument("--image", help="参考图片路径(可选)")
parser.add_argument("--duration", type=int, default=10,
help="视频时长(秒,默认10)")
parser.add_argument("--ratio", default="9:16",
choices=["16:9", "9:16", "1:1", "4:3"],
help="视频比例(默认9:16)")
parser.add_argument("--resolution", default="1080p",
choices=["480p", "720p", "1080p"],
help="分辨率(默认1080p)")
parser.add_argument("--model", default=DEFAULT_MODEL,
help=f"模型ID(默认: {DEFAULT_MODEL})")
parser.add_argument("--output", "-o", help="输出文件路径")
parser.add_argument("--no-wait", action="store_true",
help="不等待,只创建任务")
parser.add_argument("--list-styles", action="store_true",
help="列出所有可用的漫画风格")
args = parser.parse_args()
# 列出风格
if args.list_styles:
print("🎨 可用的漫画风格:")
for key, config in MANGA_STYLES.items():
print(f" {key:12} - {config['name']}")
return
# 生成视频
try:
result = generate_manga_video(
prompt=args.prompt,
style=args.style,
image_path=args.image,
duration=args.duration,
ratio=args.ratio,
resolution=args.resolution,
model=args.model,
wait=not args.no_wait
)
# 下载视频
if not args.no_wait and result.get("content", {}).get("video_url"):
video_url = result["content"]["video_url"]
if args.output:
output_path = args.output
else:
import time
output_path = f"~/Desktop/manga_{args.style}_{int(time.time())}.mp4"
output_path = os.path.expanduser(output_path)
download_video(video_url, output_path)
print(f"\n✨ 漫画风格视频已保存!")
print(f" 文件: {output_path}")
print(f" 风格: {MANGA_STYLES[args.style]['name']}")
except Exception as e:
print(f"\n❌ 错误: {e}", file=sys.stderr)
sys.exit(1)
if __name__ == "__main__":
main()
Related skills
FAQ
What inputs does manga-style-video accept?
manga-style-video accepts storyboards or written scripts as input. AI agents transform those inputs into consistent anime-style animated video sequences rather than isolated still frames.
How popular is the manga-style-video skill?
manga-style-video is published in freestylefly/canghe-skills and shows 510 installs on skills.sh, indicating community adoption for agent-driven anime-style video generation workflows.