# ───────────────────────────────────────────────────────────── # Image Generation Configuration / 图片生成配置 # ───────────────────────────────────────────────────────────── # This file is an optional fallback config source for image_gen.py. # Current process environment variables take precedence over this file. # 当前文件是 image_gen.py 的可选 fallback 配置来源。 # 当前进程环境变量优先于这个文件。 # # Resolution order (only the FIRST existing file is read; keys are NOT merged across files): # 1. ./.env in your current working directory # 2. /.env (skill install, e.g. ~/.agents/skills/ppt-master/.env) # 3. /.env (when running from a clone) # 4. ~/.ppt-master/.env (user-level config) # 查找顺序(只读第一个存在的文件,多个 .env 之间不合并): # 1. 当前工作目录下的 ./.env # 2. skill 安装目录下的 .env(如 ~/.agents/skills/ppt-master/.env) # 3. 仓库根目录下的 .env(仅在 clone 模式下) # 4. ~/.ppt-master/.env(用户级配置) # Active backend (required) / 当前启用后端(必需) # Recommended core backends: openai / gemini / qwen / zhipu / volcengine # 推荐核心后端:openai / gemini / qwen / zhipu / volcengine # IMAGE_BACKEND=openai # Max concurrent requests in --manifest batch mode (default 3). # Auto-halves on rate-limit; 1 is the serial fallback. # --manifest 批量模式下的最大并发数(默认 3)。命中限流自动减半,最低 1(=串行)。 # IMAGE_CONCURRENCY=3 # You may also provide the same variables directly via the current process environment. # 也可以不写 .env,而是直接通过当前运行进程的环境变量提供同样的配置。 # IMPORTANT: # - IMAGE_API_KEY / IMAGE_MODEL / IMAGE_BASE_URL are no longer supported. # - Use provider-specific keys only. # 重要: # - 不再支持 IMAGE_API_KEY / IMAGE_MODEL / IMAGE_BASE_URL。 # - 请只使用各提供商自己的变量。 # ───────────────────────────────────────────────────────────── # Example: OpenAI / OpenAI 示例 (recommended / 推荐) # ───────────────────────────────────────────────────────────── # IMAGE_BACKEND=openai # OPENAI_API_KEY=sk-xxx # OPENAI_MODEL=gpt-image-2 # OPENAI_BASE_URL=http://127.0.0.1:3000/v1 # OpenAI-compatible providers may need these compatibility knobs. # OpenAI-compatible 第三方平台可按需开启以下兼容参数。 # OPENAI_SIZE_PRESET=auto # OPENAI_RESPONSE_FORMAT=auto # OPENAI_QUALITY=auto # Allowed values: png / jpeg / webp # OPENAI_OUTPUT_FORMAT=png # jpeg/webp only, 0-100 # OPENAI_OUTPUT_COMPRESSION=80 # gpt-image-2: auto / opaque # OPENAI_BACKGROUND=auto # auto / low # OPENAI_MODERATION=auto # ───────────────────────────────────────────────────────────── # Example: Gemini / Gemini 示例 # ───────────────────────────────────────────────────────────── # IMAGE_BACKEND=gemini # GEMINI_API_KEY=your-gemini-api-key # GEMINI_MODEL=gemini-3.1-flash-image-preview # GEMINI_BASE_URL=https://your-proxy-url.com # ───────────────────────────────────────────────────────────── # Example: MiniMax / MiniMax 示例 # ───────────────────────────────────────────────────────────── # IMAGE_BACKEND=minimax # MINIMAX_API_KEY=your-minimax-key # MINIMAX_MODEL=image-01 # Default China endpoint / 默认国内地址 # MINIMAX_BASE_URL=https://api.minimaxi.com/v1/image_generation # Optional overseas endpoint / 可选海外地址 # MINIMAX_BASE_URL=https://api.minimax.io/v1/image_generation # ───────────────────────────────────────────────────────────── # Example: Qwen / 通义生图示例 # ───────────────────────────────────────────────────────────── # IMAGE_BACKEND=qwen # QWEN_API_KEY=your-dashscope-key # QWEN_MODEL=qwen-image-2.0-pro # QWEN_BASE_URL=https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis # ───────────────────────────────────────────────────────────── # Example: Zhipu / 智谱生图示例 # ───────────────────────────────────────────────────────────── # IMAGE_BACKEND=zhipu # ZHIPU_API_KEY=your-zhipu-key # ZHIPU_MODEL=glm-image # ZHIPU_BASE_URL=https://open.bigmodel.cn/api/paas/v4/images/generations # ───────────────────────────────────────────────────────────── # Example: Volcengine / 火山引擎示例 # ───────────────────────────────────────────────────────────── # IMAGE_BACKEND=volcengine # VOLCENGINE_API_KEY=your-volcengine-key # VOLCENGINE_MODEL=doubao-seedream-4-5-251128 # VOLCENGINE_BASE_URL=https://operator.las.cn-beijing.volces.com/api/v1/images/generations # ───────────────────────────────────────────────────────────── # Extended / Experimental backends # 扩展 / 实验后端 # ───────────────────────────────────────────────────────────── # STABILITY_API_KEY=your-stability-key # STABILITY_MODEL=stable-image-core # STABILITY_BASE_URL=https://api.stability.ai # # BFL_API_KEY=your-bfl-key # BFL_MODEL=flux-pro-1.1-ultra # BFL_BASE_URL=https://api.bfl.ai # # IDEOGRAM_API_KEY=your-ideogram-key # IDEOGRAM_MODEL=ideogram-v3 # IDEOGRAM_BASE_URL=https://api.ideogram.ai # # MINIMAX_API_KEY=your-minimax-key # MINIMAX_MODEL=image-01 # Default China endpoint / 默认国内地址 # MINIMAX_BASE_URL=https://api.minimaxi.com/v1/image_generation # Optional overseas endpoint / 可选海外地址 # MINIMAX_BASE_URL=https://api.minimax.io/v1/image_generation # # SILICONFLOW_API_KEY=your-siliconflow-key # SILICONFLOW_MODEL=Qwen/Qwen-Image # SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/images/generations # # FAL_KEY=your-fal-key # FAL_MODEL=fal-ai/imagen3/fast # FAL_BASE_URL=https://fal.run # # REPLICATE_API_TOKEN=r8_xxx # REPLICATE_MODEL=black-forest-labs/flux-1.1-pro # REPLICATE_BASE_URL=https://api.replicate.com/v1/predictions # # OPENROUTER_API_KEY=sk-or-v1-xxx # OPENROUTER_MODEL=google/gemini-3.1-flash-image-preview # OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # # OpenAI-compatible example: Agnes AI / OpenAI-compatible 示例:Agnes AI # IMAGE_BACKEND=openai # OPENAI_API_KEY=your-agnes-key # OPENAI_MODEL=agnes-image-2.1-flash # OPENAI_BASE_URL=https://apihub.agnes-ai.com/v1 # OPENAI_SIZE_PRESET=gpt-image-2 # OPENAI_RESPONSE_FORMAT=omit # OPENAI_QUALITY=omit # # IMAGE_BACKEND=modelscope # MODELSCOPE_API_KEY=your-modelscope-key # MODELSCOPE_MODEL=Tongyi-MAI/Z-Image-Turbo # MODELSCOPE_BASE_URL=https://api-inference.modelscope.cn/v1 # ───────────────────────────────────────────────────────────── # Multi-provider example / 多提供商共存示例 # ───────────────────────────────────────────────────────────── # IMAGE_BACKEND=openai # OPENAI_API_KEY=sk-xxx # OPENAI_MODEL=gpt-image-2 # OPENAI_OUTPUT_FORMAT=png # GEMINI_API_KEY=your-gemini-api-key # GEMINI_MODEL=gemini-3.1-flash-image-preview # # Switch providers by changing IMAGE_BACKEND only. # 切换提供商时,只改 IMAGE_BACKEND 即可。 # ───────────────────────────────────────────────────────────── # Audio narration TTS (notes_to_audio.py) / 旁白音频 TTS # ───────────────────────────────────────────────────────────── # edge-tts is the default narration backend and needs no API key. # Use cloud providers only when you want high-quality or cloned voices — # all four (ElevenLabs / MiniMax / Qwen / CosyVoice) accept a cloned voice_id. # Clone the voice in the provider's console first, then pass --voice-id to # notes_to_audio.py. See docs/audio-narration.md "Use a cloned voice". # edge-tts 是默认旁白后端,无需 API Key。 # 需要高质量云端旁白或复刻音色时再配置云端提供商—— # ElevenLabs / MiniMax / Qwen / CosyVoice 四家都支持传入复刻 voice_id。 # 先在 provider 控制台复刻得到 voice_id,再用 --voice-id 传给 notes_to_audio.py。 # 详见 docs/zh/audio-narration.md "使用复刻音色"。 # # ELEVENLABS_API_KEY=your-elevenlabs-api-key # MINIMAX_API_KEY=your-minimax-key # QWEN_API_KEY=your-dashscope-key # COSYVOICE_API_KEY=your-dashscope-key # DASHSCOPE_API_KEY=your-dashscope-key # # Optional provider-specific TTS endpoint overrides. # 可选:按提供商覆盖 TTS 接入点。 # Default China endpoint / 默认国内地址 # MINIMAX_TTS_BASE_URL=https://api.minimaxi.com/v1/t2a_v2 # Optional overseas endpoint / 可选海外地址 # MINIMAX_TTS_BASE_URL=https://api.minimax.io/v1/t2a_v2 # QWEN_TTS_BASE_URL=https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation # COSYVOICE_TTS_BASE_URL=https://dashscope.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer # ───────────────────────────────────────────────────────────── # Web image search (image_search.py) / 网络图片搜索 # ───────────────────────────────────────────────────────────── # Used by scripts/image_search.py — separate from IMAGE_BACKEND above. # image_search.py 用,与上面的 IMAGE_BACKEND 互不影响。 # # Openverse and Wikimedia work with no key, but image quality can be uneven. # For polished stock-style PPT images, configure Pexels and/or Pixabay. # Openverse 和 Wikimedia 无需 Key,但图片质量不稳定。 # 如需更稳定的商业图库风格 PPT 配图,建议配置 Pexels 和/或 Pixabay。 # # Sign up: https://www.pexels.com/api/ # PEXELS_API_KEY=your-pexels-key # Sign up: https://pixabay.com/api/docs/ # PIXABAY_API_KEY=your-pixabay-key