返回 ppt-master
.env.example
根目录 / .env.example
1 # ─────────────────────────────────────────────────────────────
2 # Image Generation Configuration / 图片生成配置
3 # ─────────────────────────────────────────────────────────────
4
5 # This file is an optional fallback config source for image_gen.py.
6 # Current process environment variables take precedence over this file.
7 # 当前文件是 image_gen.py 的可选 fallback 配置来源。
8 # 当前进程环境变量优先于这个文件。
9 #
10 # Resolution order (only the FIRST existing file is read; keys are NOT merged across files):
11 # 1. ./.env in your current working directory
12 # 2. <skill-dir>/.env (skill install, e.g. ~/.agents/skills/ppt-master/.env)
13 # 3. <repo-root>/.env (when running from a clone)
14 # 4. ~/.ppt-master/.env (user-level config)
15 # 查找顺序(只读第一个存在的文件,多个 .env 之间不合并):
16 # 1. 当前工作目录下的 ./.env
17 # 2. skill 安装目录下的 .env(如 ~/.agents/skills/ppt-master/.env)
18 # 3. 仓库根目录下的 .env(仅在 clone 模式下)
19 # 4. ~/.ppt-master/.env(用户级配置)
20
21 # Active backend (required) / 当前启用后端(必需)
22 # Recommended core backends: openai / gemini / qwen / zhipu / volcengine
23 # 推荐核心后端:openai / gemini / qwen / zhipu / volcengine
24 # IMAGE_BACKEND=openai
25
26 # Max concurrent requests in --manifest batch mode (default 3).
27 # Auto-halves on rate-limit; 1 is the serial fallback.
28 # --manifest 批量模式下的最大并发数(默认 3)。命中限流自动减半,最低 1(=串行)。
29 # IMAGE_CONCURRENCY=3
30
31 # You may also provide the same variables directly via the current process environment.
32 # 也可以不写 .env,而是直接通过当前运行进程的环境变量提供同样的配置。
33
34 # IMPORTANT:
35 # - IMAGE_API_KEY / IMAGE_MODEL / IMAGE_BASE_URL are no longer supported.
36 # - Use provider-specific keys only.
37 # 重要:
38 # - 不再支持 IMAGE_API_KEY / IMAGE_MODEL / IMAGE_BASE_URL。
39 # - 请只使用各提供商自己的变量。
40
41 # ─────────────────────────────────────────────────────────────
42 # Example: OpenAI / OpenAI 示例 (recommended / 推荐)
43 # ─────────────────────────────────────────────────────────────
44 # IMAGE_BACKEND=openai
45 # OPENAI_API_KEY=sk-xxx
46 # OPENAI_MODEL=gpt-image-2
47 # Legacy ChatGPT image API model / 旧版 ChatGPT 生图 API 模型
48 # OPENAI_MODEL=chatgpt-image-latest # Deprecated by OpenAI / OpenAI 已弃用
49 # OPENAI_BASE_URL=http://127.0.0.1:3000/v1
50 # OpenAI-compatible providers may need these compatibility knobs.
51 # OpenAI-compatible 第三方平台可按需开启以下兼容参数。
52 # OPENAI_SIZE_PRESET=auto
53 # OPENAI_RESPONSE_FORMAT=auto
54 # OPENAI_QUALITY=auto
55 # Allowed values: png / jpeg / webp
56 # OPENAI_OUTPUT_FORMAT=png
57 # jpeg/webp only, 0-100
58 # OPENAI_OUTPUT_COMPRESSION=80
59 # gpt-image-2: auto / opaque
60 # OPENAI_BACKGROUND=auto
61 # auto / low
62 # OPENAI_MODERATION=auto
63 # Reference edits except gpt-image-2: high / low
64 # 除 gpt-image-2 外的参考图编辑:high / low
65 # OPENAI_INPUT_FIDELITY=high
66
67 # ─────────────────────────────────────────────────────────────
68 # Example: Gemini / Gemini 示例
69 # ─────────────────────────────────────────────────────────────
70 # IMAGE_BACKEND=gemini
71 # GEMINI_API_KEY=your-gemini-api-key
72 # GEMINI_MODEL=gemini-3.1-flash-image
73 # GEMINI_BASE_URL=https://your-proxy-url.com
74
75 # ─────────────────────────────────────────────────────────────
76 # Example: MiniMax / MiniMax 示例
77 # ─────────────────────────────────────────────────────────────
78 # IMAGE_BACKEND=minimax
79 # MINIMAX_API_KEY=your-minimax-key
80 # MINIMAX_MODEL=image-01
81 # Default China endpoint / 默认国内地址
82 # MINIMAX_BASE_URL=https://api.minimaxi.com/v1/image_generation
83 # Optional overseas endpoint / 可选海外地址
84 # MINIMAX_BASE_URL=https://api.minimax.io/v1/image_generation
85
86 # ─────────────────────────────────────────────────────────────
87 # Example: Qwen / 通义生图示例
88 # ─────────────────────────────────────────────────────────────
89 # IMAGE_BACKEND=qwen
90 # QWEN_API_KEY=your-dashscope-key
91 # QWEN_MODEL=qwen-image-2.0-pro
92 # QWEN_BASE_URL=https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
93
94 # ─────────────────────────────────────────────────────────────
95 # Example: Zhipu / 智谱生图示例
96 # ─────────────────────────────────────────────────────────────
97 # IMAGE_BACKEND=zhipu
98 # ZHIPU_API_KEY=your-zhipu-key
99 # ZHIPU_MODEL=glm-image
100 # ZHIPU_BASE_URL=https://open.bigmodel.cn/api/paas/v4/images/generations
101
102 # ─────────────────────────────────────────────────────────────
103 # Example: Volcengine / 火山引擎示例
104 # ─────────────────────────────────────────────────────────────
105 # IMAGE_BACKEND=volcengine
106 # LAS_API_KEY=your-las-key
107 # VOLCENGINE_MODEL=doubao-seedream-4-5-251128
108 # VOLCENGINE_BASE_URL=https://operator.las.cn-beijing.volces.com/api/v1
109
110 # ─────────────────────────────────────────────────────────────
111 # Extended / Experimental backends
112 # 扩展 / 实验后端
113 # ─────────────────────────────────────────────────────────────
114 # STABILITY_API_KEY=your-stability-key
115 # STABILITY_MODEL=stable-image-core
116 # STABILITY_BASE_URL=https://api.stability.ai
117 #
118 # BFL_API_KEY=your-bfl-key
119 # BFL_MODEL=flux-pro-1.1-ultra
120 # BFL_BASE_URL=https://api.bfl.ai
121 #
122 # IDEOGRAM_API_KEY=your-ideogram-key
123 # IDEOGRAM_MODEL=ideogram-v3
124 # IDEOGRAM_BASE_URL=https://api.ideogram.ai
125 #
126 # MINIMAX_API_KEY=your-minimax-key
127 # MINIMAX_MODEL=image-01
128 # Default China endpoint / 默认国内地址
129 # MINIMAX_BASE_URL=https://api.minimaxi.com/v1/image_generation
130 # Optional overseas endpoint / 可选海外地址
131 # MINIMAX_BASE_URL=https://api.minimax.io/v1/image_generation
132 #
133 # SILICONFLOW_API_KEY=your-siliconflow-key
134 # SILICONFLOW_MODEL=Qwen/Qwen-Image
135 # SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/images/generations
136 #
137 # FAL_KEY=your-fal-key
138 # FAL_MODEL=fal-ai/nano-banana-2
139 # FAL_BASE_URL=https://fal.run
140 #
141 # REPLICATE_API_TOKEN=r8_xxx
142 # REPLICATE_MODEL=black-forest-labs/flux-1.1-pro
143 # REPLICATE_BASE_URL=https://api.replicate.com/v1
144 #
145 # OPENROUTER_API_KEY=sk-or-v1-xxx
146 # OPENROUTER_MODEL=google/gemini-3.1-flash-image
147 # OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
148 #
149 # OpenAI-compatible example: Agnes AI / OpenAI-compatible 示例:Agnes AI
150 # IMAGE_BACKEND=openai
151 # OPENAI_API_KEY=your-agnes-key
152 # OPENAI_MODEL=agnes-image-2.1-flash
153 # OPENAI_BASE_URL=https://apihub.agnes-ai.com/v1
154 # OPENAI_SIZE_PRESET=gpt-image-2
155 # OPENAI_RESPONSE_FORMAT=omit
156 # OPENAI_QUALITY=omit
157 #
158 # IMAGE_BACKEND=modelscope
159 # MODELSCOPE_API_KEY=your-modelscope-key
160 # MODELSCOPE_MODEL=your-api-inference-text-to-image-model-id
161 # MODELSCOPE_BASE_URL=https://api-inference.modelscope.cn/v1
162
163 # ─────────────────────────────────────────────────────────────
164 # Multi-provider example / 多提供商共存示例
165 # ─────────────────────────────────────────────────────────────
166 # IMAGE_BACKEND=openai
167 # OPENAI_API_KEY=sk-xxx
168 # OPENAI_MODEL=gpt-image-2
169 # OPENAI_OUTPUT_FORMAT=png
170 # GEMINI_API_KEY=your-gemini-api-key
171 # GEMINI_MODEL=gemini-3.1-flash-image
172 #
173 # Switch providers by changing IMAGE_BACKEND only.
174 # 切换提供商时,只改 IMAGE_BACKEND 即可。
175
176 # ─────────────────────────────────────────────────────────────
177 # Audio narration TTS (notes_to_audio.py) / 旁白音频 TTS
178 # ─────────────────────────────────────────────────────────────
179 # edge-tts is the default narration backend and needs no API key.
180 # Use cloud providers only when you want high-quality or cloned voices —
181 # all four (ElevenLabs / MiniMax / Qwen / CosyVoice) accept a cloned voice_id.
182 # Clone the voice in the provider's console first, then pass --voice-id to
183 # notes_to_audio.py. See docs/audio-narration.md "Use a cloned voice".
184 # edge-tts 是默认旁白后端,无需 API Key。
185 # 需要高质量云端旁白或复刻音色时再配置云端提供商——
186 # ElevenLabs / MiniMax / Qwen / CosyVoice 四家都支持传入复刻 voice_id。
187 # 先在 provider 控制台复刻得到 voice_id,再用 --voice-id 传给 notes_to_audio.py。
188 # 详见 docs/zh/audio-narration.md "使用复刻音色"。
189 #
190 # ELEVENLABS_API_KEY=your-elevenlabs-api-key
191 # MINIMAX_API_KEY=your-minimax-key
192 # QWEN_API_KEY=your-dashscope-key
193 # COSYVOICE_API_KEY=your-dashscope-key
194 # DASHSCOPE_API_KEY=your-dashscope-key
195 #
196 # Optional provider-specific TTS endpoint overrides.
197 # 可选:按提供商覆盖 TTS 接入点。
198 # Default China endpoint / 默认国内地址
199 # MINIMAX_TTS_BASE_URL=https://api.minimaxi.com/v1/t2a_v2
200 # Optional overseas endpoint / 可选海外地址
201 # MINIMAX_TTS_BASE_URL=https://api.minimax.io/v1/t2a_v2
202 # QWEN_TTS_BASE_URL=https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
203 # COSYVOICE_TTS_BASE_URL=https://dashscope.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer
204
205 # ─────────────────────────────────────────────────────────────
206 # Web image search (image_search.py) / 网络图片搜索
207 # ─────────────────────────────────────────────────────────────
208 # Used by scripts/image_search.py — separate from IMAGE_BACKEND above.
209 # image_search.py 用,与上面的 IMAGE_BACKEND 互不影响。
210 #
211 # Openverse and Wikimedia work with no key, but image quality can be uneven.
212 # For polished stock-style PPT images, configure Pexels and/or Pixabay.
213 # Openverse 和 Wikimedia 无需 Key,但图片质量不稳定。
214 # 如需更稳定的商业图库风格 PPT 配图,建议配置 Pexels 和/或 Pixabay。
215 #
216 # Sign up: https://www.pexels.com/api/
217 # PEXELS_API_KEY=your-pexels-key
218 # Sign up: https://pixabay.com/api/docs/
219 # PIXABAY_API_KEY=your-pixabay-key
220
220 lines Plain Text