# MoneyPrinterTurbo Huggingface Spaces 部署指南 ## 快速部署步骤 ### 1. 准备文件 确保以下文件已准备好: - `app.py` - Huggingface Spaces入口文件 - `README_HF.md` - Huggingface Spaces配置文件 - `requirements_hf.txt` - 简化的依赖列表 - `Dockerfile.hf` - Docker配置文件 - `config.toml` - 预配置的设置文件 ### 2. 创建Huggingface Space 1. 访问 https://huggingface.co/spaces 2. 点击 "Create new Space" 3. 选择 "Streamlit" 作为SDK 4. 设置Space名称和描述 ### 3. 上传文件 将所有项目文件上传到新创建的Space,确保: - `README_HF.md` 重命名为 `README.md` - `requirements_hf.txt` 重命名为 `requirements.txt` - `app.py` 作为主入口文件 ### 4. 配置环境变量(重要!) 在 Huggingface Spaces 的 **Settings → Repository secrets** 中添加以下环境变量: #### 🔑 必需的环境变量 ```bash # MoneyPrinterTurbo API 访问密钥(用于外部调用API) MONEYPRINTER_API_KEY=mp_your_secret_key_here # LLM 提供商 API 密钥(至少选择一个) DEEPSEEK_API_KEY=sk-your_deepseek_key # 推荐:国内可直接访问 MOONSHOT_API_KEY=sk-your_moonshot_key # 推荐:国内可直接访问 OPENAI_API_KEY=sk-your_openai_key # 视频素材源 API 密钥(至少选择一个) PEXELS_API_KEY=your_pexels_key # 推荐:免费,质量高 PIXABAY_API_KEY=your_pixabay_key ``` #### 🔧 可选的环境变量 ```bash # Azure 语音服务(用于高质量语音合成) AZURE_SPEECH_KEY=your_azure_speech_key AZURE_SPEECH_REGION=eastus # 例如:eastus, westus2 # SiliconFlow TTS服务 SILICONFLOW_API_KEY=your_siliconflow_key ``` ### 5. API密钥获取指南 #### DeepSeek(推荐) - 访问:https://platform.deepseek.com/api_keys - 注册即送免费额度,国内可直接访问 - 性价比高,响应速度快 #### Moonshot(推荐) - 访问:https://platform.moonshot.cn/console/api-keys - 注册即送免费额度,国内可直接访问 - 模型质量高,支持长文本 #### Pexels(推荐) - 访问:https://www.pexels.com/api/ - 完全免费,高质量视频素材 - 每小时200次请求限制 #### Pixabay - 访问:https://pixabay.com/api/docs/ - 免费使用,素材丰富 - 每分钟100次请求限制 ## 优化配置 ### 资源限制优化 - 最大同时生成视频数:2个 - 视频片段时长:≤5秒 - 使用Edge TTS替代Whisper - 禁用Redis缓存 ### 推荐设置 - **LLM提供商**: DeepSeek(国内可直接访问,注册送额度) - **视频素材**: Pexels(免费API,质量高) - **语音合成**: Azure TTS V1(免费额度充足) - **字幕生成**: Edge TTS(速度快,资源消耗少) ## API调用示例 部署完成后,可以通过以下方式调用API: ```python import requests # 使用你的Space URL和配置的API密钥 base_url = "https://your-space-name-your-username.hf.space" api_key = "mp_your_secret_key_here" # 对应MONEYPRINTER_API_KEY headers = { "X-API-Key": api_key, "Content-Type": "application/json" } # 生成视频 video_data = { "video_subject": "人工智能的发展", "video_aspect": "9:16", "video_clip_duration": 3, "video_source": "pexels" } response = requests.post(f"{base_url}/videos", headers=headers, json=video_data) print(response.json()) ``` ## 注意事项 1. **环境变量安全**: 使用Repository secrets确保API密钥安全 2. **资源限制**: Huggingface Spaces免费版有CPU和内存限制,建议生成较短视频 3. **存储空间**: 生成的视频会暂时存储,定期清理以节省空间 4. **网络访问**: 确保API密钥有效,某些服务可能需要VPN 5. **首次运行**: 可能需要下载模型文件,请耐心等待 ## 故障排除 ### 常见问题 - **401错误**: 检查MONEYPRINTER_API_KEY是否正确设置 - **内存不足**: 减少同时生成的视频数量 - **API调用失败**: 检查第三方API密钥和网络连接 - **视频生成失败**: 尝试更短的文案或更少的关键词 ### 环境变量检查 部署后在应用日志中查看: ``` ✅ MoneyPrinterTurbo API Key loaded from environment ✅ DeepSeek API Key loaded from environment ✅ Pexels API Key loaded from environment 🤖 Using DeepSeek as default LLM provider ``` ### 性能优化建议 - 使用较短的视频主题 - 选择较低的视频质量设置 - 避免同时生成多个视频 - 优先使用国内LLM提供商(DeepSeek、Moonshot)