AI 漫剧不是“输入一句话生成一部剧”,而是一条工程流水线:选题、剧本、分镜、角色设定、画面生成、动态化、配音、字幕、合成、审核、复盘。专业视角下,核心是结构化、可复现、可观测、可合规。
自由文本难以编排,建议用 Pydantic 定义模型。
import os, json
from openai import OpenAI
from pydantic import BaseModel, Field
client = OpenAI(
api_key=os.getenv("OPENAI_API_KEY"),
base_url=os.getenv("OPENAI_BASE_URL"),
)
class Shot(BaseModel):
shot_id: int
scene: str
camera: str = Field(description="景别与运镜,如中景推近")
action: str
dialogue: str = ""
duration: float = Field(ge=1, le=8)
class Episode(BaseModel):
title: str
characters: list[str]
shots: list[Shot]
def generate_episode(theme: str) -> Episode:
prompt = f"""
你是漫剧分镜师。根据主题生成 6 个镜头,每镜 3-5 秒。
主题:{theme}
要求:原创角色,无侵权元素,无真实品牌,无违法内容。
只输出 JSON,字段符合 Episode 模型。
"""
resp = client.chat.completions.create(
model=os.getenv("OPENAI_MODEL", "gpt-4o-mini"),
messages=[{"role": "user", "content": prompt}],
response_format={"type": "json_object"},
temperature=0.7,
)
return Episode.model_validate(json.loads(resp.choices[0].message.content))
ep = generate_episode("原创小猫在雨夜寻找回家的路")
print(ep.model_dump_json(indent=2))关键点:角色名、场景名、风格词固定;单镜头只写一个动作;时长 3—5 秒,便于图生视频。
每个角色建立角色卡:
角色名:小灰
外形:原创灰色小猫,绿色眼睛,红色围巾,二头身
风格:扁平卡通,粗描边,低饱和,贴纸感
禁止:文字、Logo、真实动物照片、复杂背景生成时固定 seed、模型、采样器,并使用参考图或 IP-Adapter。角色复杂可训练 LoRA。每次只改表情和动作,不改角色描述。
将分镜图作为首帧,调用视频生成 API 生成 3—5 秒片段。
def gen_video(image_path: str, motion_prompt: str) -> str:
# 实际调用即梦、可灵、Runway 等官方 API
# 参数:首帧图、运动描述、时长、比例、种子
return "outputs/shot_01.mp4"拼接所有片段:
# list.txt 内容:file 'outputs/shot_01.mp4'
ffmpeg -f concat -safe 0 -i list.txt -c copy rough_cut.mp4添加字幕:
ffmpeg -i rough_cut.mp4 -vf "subtitles=subtitle.srt" final.mp4审核函数示例:
BAD_WORDS = {"违法", "暴力", "色情"}
def audit(text: str) -> bool:
if any(w in text for w in BAD_WORDS):
raise ValueError("审核未通过")
return TrueAI 漫剧的专业流程是:结构化剧本 → 分镜 JSON → 角色卡 → 图生视频 → TTS/字幕 → ffmpeg 合成 → 审核发布。代码可以简单,但数据校验、角色一致性、任务编排和合规审查不能省。先跑通 15 秒短片,再扩展到系列化生产。不要承诺爆款,不要侵权,不要刷量,把内容质量和合规放在第一位。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。