PenShot是什么

PenShot 是一款开源的分镜视频生成工具,输入剧本即可自动拆分镜头、生成 AI 视频提示词。支持 Runway、Pika、Sora 等主流模型,提供 REST API、MCP 协议和 Python SDK。PenShot 基于 LangGraph 构建,MIT 协议免费使用,几分钟就能上手。适合影视、短剧、动漫方向的创作者。

PenShot 技术上用 Python 3.9+ 开发,Web 服务基于 FastAPI,工作流编排靠 LangGraph,Redis 做任务持久化。

为什么选PenShot

  • 免费开源:MIT 协议,社区版所有功能都能用,本地部署没有限制。

  • 一条龙:从剧本进去到视频素材出来,中间不用自己动手拆镜头、写提示词。

  • 主流视频模型都兼容:生成的提示词可以直接扔给 Runway、Pika、Sora、Veo、可灵。

  • 考虑连续性:同一个角色在不同镜头里长什么样、穿什么衣服,它会尽量保持一致,不会变来变去。

  • 集成灵活:API、MCP、SDK 三种方式任选,看你怎么方便。

  • 有企业服务:如果需要 SLA 保障、私有化部署或定制开发,可以联系他们。

核心功能

  • 剧本解析:识别剧本里的场景、角色、对话,把关键信息提取出来。不挑格式,你写得随意一点也能处理。

  • 分镜拆分:根据内容自动判断镜头类型,比如该用特写还是全景,每个镜头大概几秒,镜头怎么运动,然后生成完整的分镜序列。

  • 片段切割:把长剧本切成 5 秒以内的小片段。这个时长是多数 AI 视频模型生成效果比较好的区间,切好之后你直接拿去用就行。

  • 提示词生成:根据每个分镜的内容,自动写出适合 Runway、Pika、Sora、可灵这些模型的提示词。

  • 质量检查:自动检查片段时长有没有超标、镜头衔接是否连贯,出个报告给你。

  • 接入方式:提供 REST API、MCP 协议和 Python SDK,可以接到 LangGraph、Claude Desktop、Cursor 这些工具里。

  • 模型切换:支持 OpenAI、Qwen、DeepSeek、Ollama,想用哪个换哪个。

应用场景

  • 电影和动漫的分镜制作

  • 短剧、短视频的批量生产

  • 小说内容转成视觉素材

  • 广告创意的快速预览

  • 影视教学中的分镜实训

  • 集成到现有的 AI 视频工作流里

五、使用步骤

  1. 输入剧本,AI 解析出场景、角色、对话这些要素

  2. 自动拆分成镜头,确定景别和时长

  3. 切成适合 AI 生成的短片段(每段 5 秒以内)

  4. 给每个片段生成对应的 AI 视频提示词

  5. 调用视频模型生成素材,再拼接起来

实际操作的话,装一下包:

pip install penshot

配置好 .env 文件里的 LLM 参数,然后跑起来:

from penshot.api import create_penshot_agent
agent = create_penshot_agent(max_concurrent=5)
script = "早晨,一个女孩在咖啡馆读书,阳光透过窗户..."
task_id = agent.breakdown_script_async(script, callback=lambda r: print(f"任务 {r.task_id} 已完成"))
result = await agent.wait_for_result_async(task_id)

也可以用 REST API 调:

penshot serve-rest --port 8000
curl -X POST http://localhost:8000/api/v1/storyboard \
  -H "Content-Type: application/json" \
  -d '{"script": "你的剧本内容...", "language": "zh"}'

常见问题

  • 收费吗? 社区版免费,MIT 协议,所有功能都能用,也可以本地部署。

  • 支持哪些视频模型? Runway Gen-2、Pika Labs、Sora、Veo、可灵这些都行。

  • 支持哪些 LLM? OpenAI、Qwen、DeepSeek、Ollama,可以自己切换。

  • 怎么集成到现有系统? 三种方式:REST API、MCP 协议、Python SDK,挑一个合适的。

  • 有企业版吗? 有的,提供优先技术支持、定制开发、SLA 保障、私有化部署。