MoneyPrinterTurbo / DEPLOYMENT.md
CatPtain's picture
Upload 8 files
46ab29c verified
# 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)