# duanju **Repository Path**: fengwind333/duanju ## Basic Information - **Project Name**: duanju - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-23 - **Last Updated**: 2026-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 漫画剧分镜脚本自动生成器 基于小说文本自动生成人物设定、场景设定和分镜脚本的工具。 ## 🆕 LLM增强版(推荐) 新版本集成了大语言模型(LLM),提供更智能的信息提取: - 更准确的人物识别和信息提取 - 更详细的场景分析 - 更专业的AI提示词生成 - 支持GPT-3.5/GPT-4等模型 ## 功能特点 - **🤖 LLM智能提取**:使用GPT等大模型进行智能信息提取 - **自动解析**:从小说文本中自动识别人物、场景和情节 - **人物设定**:生成详细的人物档案,包含外貌、性格、服装等 - **场景设定**:提取场景信息,生成AI图像生成提示词 - **分镜脚本**:自动生成完整的分镜表格和详细说明 - **AI提示词**:为即梦AI等工具生成专业的图像和视频提示词 - **混合模式**:LLM失败时自动回退到规则提取 ## 文件结构 ``` . ├── comic_script_generator.py # 基础版主程序(规则提取) ├── comic_script_generator_llm.py # LLM增强版主程序(推荐) ├── llm_client.py # LLM客户端模块 ├── llm_text_parser.py # LLM文本解析器 ├── config.json # 配置文件 ├── README.md # 使用说明 └── output_llm/ # 输出目录(自动生成) ├── 人物设定.md ├── 场景设定.md ├── 分镜脚本.md └── 生成报告.md ``` ## 使用方法 ### 快速开始(推荐LLM版) #### 1. 配置API密钥 ```bash # Linux/Mac export OPENAI_API_KEY="your-api-key" # Windows PowerShell $env:OPENAI_API_KEY="your-api-key" ``` #### 2. 运行LLM增强版 ```bash python comic_script_generator_llm.py 0001-0003.txt --use-llm ``` ### 基础版(无需API密钥) 如果不使用LLM,程序会使用内置规则进行提取: ```bash python comic_script_generator_llm.py 0001-0003.txt ``` ### 查看输出 程序会在 `output_llm` 目录下生成以下文件: - `人物设定.md` - 人物角色详细设定(含AI三视图提示词) - `场景设定.md` - 场景环境描述(含AI图像提示词) - `分镜脚本.md` - 完整的分镜表格(含首帧/视频提示词) - `生成报告.md` - 生成统计报告 ## 命令行参数(LLM版) ```bash python comic_script_generator_llm.py <输入文件> [选项] 参数: input_file 输入的小说文本文件路径(必需) 选项: -o, --output-dir 输出目录(默认: ./output_llm) --use-llm 使用LLM进行智能提取 --api-key LLM API密钥 --model LLM模型名称(默认: gpt-3.5-turbo) --provider LLM提供商(openai/azure/local) --no-llm 强制不使用LLM -h, --help 显示帮助信息 示例: # 使用LLM(推荐) python comic_script_generator_llm.py 0001-0003.txt --use-llm # 使用GPT-4 python comic_script_generator_llm.py 0001-0003.txt --use-llm --model gpt-4 # 指定API密钥 python comic_script_generator_llm.py 0001-0003.txt --use-llm --api-key "sk-..." # 不使用LLM(规则提取) python comic_script_generator_llm.py 0001-0003.txt # 指定输出目录 python comic_script_generator_llm.py 0001-0003.txt --use-llm -o ./my_output ``` ## 配置文件说明 `config.json` 文件包含以下配置: ### 人物设定模板 - `ai_prompt_templates` - AI三视图提示词模板 - `fields` - 人物属性字段 ### 场景设定模板 - `ai_prompt_template` - 场景AI图像提示词模板 - `color_tones` - 不同场景的色彩基调 ### 分镜脚本模板 - `first_frame_template` - 首帧图像提示词模板 - `video_template` - 视频生成提示词模板 - `sound_effects` - 音效类型映射 - `bg_music` - 背景音乐风格映射 ### 提取规则 - `character_indicators` - 人物识别关键词 - `scene_indicators` - 场景识别关键词 - `shot_rules` - 分镜分割规则 ## 输出文件格式 ### 人物设定.md ```markdown # 人物设定 ## 1. 角色名 **别名**:xxx **年龄**:xx岁 **身份**:xxx **外貌特征**:xxx **服装描述**:xxx **性格特点**:xxx **标志性动作**:xxx **语言风格**:xxx **特殊道具**:xxx ### 即梦AI三视图提示词 **正面**:... **侧面**:... **背面**:... ``` ### 场景设定.md ```markdown # 场景设定 ## 场景总览 | 场景编号 | 场景名称 | 类型 | 重要程度 | ## SC-01 场景名 **地点**:xxx **时间**:xxx **氛围**:xxx **场景描述**:xxx ### AI图像生成提示词 ``` ... ``` ``` ### 分镜脚本.md ```markdown # 分镜脚本 ## 分镜表格 | 镜号 | 场景 | 场景描述 | 首帧图像提示词 | 视频生成提示词 | 音效 | 背景音乐 | 台词 | ## 分镜详细说明 ### 1-1 ... ``` ## 自定义配置 你可以修改 `config.json` 文件来自定义: 1. **提示词模板** - 调整AI生成提示词的格式 2. **识别关键词** - 添加更多人物、场景识别词 3. **输出规则** - 修改分镜数量、字段等限制 ## 注意事项 1. 输入文件需为UTF-8编码的文本文件 2. 程序会自动识别章节(支持"第X章"格式) 3. 人物识别基于常见姓氏和出现频率 4. 生成的内容可能需要人工审核和调整 5. AI提示词需要根据实际使用的AI工具进行微调 ## 依赖要求 - Python 3.7+ - openai (可选,用于LLM功能) `pip install openai` ### 安装依赖 ```bash # 基础版(无需依赖) pip install -r requirements.txt # LLM增强版 pip install openai ``` ## 版本历史 ### v2.0.0 (LLM增强版) - 集成LLM智能提取 - 支持OpenAI/GPT模型 - 混合模式(LLM+规则) - 更准确的AI提示词生成 - 自动回退机制 ### v1.0.0 - 初始版本 - 支持人物、场景、分镜自动提取 - 生成Markdown格式文档 - 支持自定义配置 ## LLM配置说明 ### 支持的LLM提供商 1. **OpenAI** (推荐) - 模型: gpt-3.5-turbo, gpt-4 - 需要API密钥 2. **Azure OpenAI** - 企业级服务 - 需要Azure订阅 3. **本地模型** (Ollama/LM Studio) - 无需联网 - 隐私保护 ### 配置方式 #### 方式1: 环境变量 ```bash export OPENAI_API_KEY="sk-..." export LLM_PROVIDER="openai" export LLM_MODEL="gpt-3.5-turbo" ``` #### 方式2: 命令行参数 ```bash python comic_script_generator_llm.py novel.txt --use-llm --api-key "sk-..." ``` #### 方式3: 配置文件 修改 `config.json` 中的 `llm_config` 部分 ## 架构说明 ``` ┌─────────────────────────────────────────┐ │ comic_script_generator_llm.py │ │ (LLM增强版主程序) │ ├─────────────────────────────────────────┤ │ SmartTextParser │ │ ├── LLMExtractor (LLM智能提取) │ │ └── RuleExtractor (规则提取-回退) │ ├─────────────────────────────────────────┤ │ llm_client.py │ │ ├── OpenAIClient │ │ ├── AzureOpenAIClient │ │ └── LocalLLMClient │ ├─────────────────────────────────────────┤ │ config.json │ │ ├── llm_config (LLM配置) │ │ ├── llm_prompts (提示词模板) │ │ └── extract_rules (提取规则) │ └─────────────────────────────────────────┘ ``` ## 作者 自动生成器 ## 许可证 MIT License