File size: 3,731 Bytes
6d4ec85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# Huggingface Spaces 部署检查清单

## 📋 必须上传的文件清单

### ✅ 核心文件
- [x] `app.py` - HF Spaces入口文件(已简化配置逻辑)
- [x] `README.md` - 带有正确YAML头的项目说明
- [x] `requirements.txt` - Python依赖
- [x] `packages.txt` - 系统依赖
- [x] `config.toml` - 配置文件

### ✅ 应用代码
- [x] `app/` - 完整应用目录
- [x] `webui/` - Streamlit界面
- [x] `resource/` - 字体和音乐资源

### ✅ 文档文件
- [x] `API_GUIDE.md` - API使用指南
- [x] `.gitignore` - Git忽略文件

## 🚫 不需要上传的文件

### ❌ 开发文件
- [ ] `Dockerfile` - HF不使用Docker构建
- [ ] `.dockerignore` - HF不需要
- [ ] `docker-compose.yml` - 本地开发用
- [ ] `main.py` - 本地启动脚本
- [ ] `webui.bat` / `webui.sh` - 本地脚本

### ❌ 示例和测试文件
- [ ] `config.example.toml` - 示例配置
- [ ] `test/` - 测试目录
- [ ] `docs/` - 文档图片

## 🔧 API密钥配置优先级

### 配置方式选择
1. **HF Spaces环境变量** (推荐) - 更安全,自动加载
2. **WebUI界面配置** - 简单直观,适合测试

### 环境变量配置
在HF Spaces的Settings → Repository secrets中配置:

```bash

# 核心API密钥

MONEYPRINTER_API_KEY=your_api_key_here    # 用于外部API调用



# LLM服务(至少选择一个)

DEEPSEEK_API_KEY=your_deepseek_key        # 推荐

MOONSHOT_API_KEY=your_moonshot_key        # 推荐

OPENAI_API_KEY=your_openai_key



# 视频素材源(至少选择一个)

PEXELS_API_KEY=your_pexels_key            # 推荐

PIXABAY_API_KEY=your_pixabay_key



# 可选服务

AZURE_SPEECH_KEY=your_azure_key

AZURE_SPEECH_REGION=eastus

```

### 配置说明
- 环境变量会在启动时自动加载到config.toml
- 如果同时配置了环境变量和WebUI,环境变量优先
- 未配置环境变量时,可在WebUI中手动配置

## 🚀 使用方式

### 1. 仅WebUI使用
- 在左侧配置面板设置API密钥
- 通过界面生成视频

### 2. API调用
- 需要设置`MONEYPRINTER_API_KEY`环境变量
- 使用该密钥调用外部API接口
- 详见`API_GUIDE.md`

## 🔧 构建卡住的常见原因及解决方案

### 1. 缺少YAML头部
**问题**: README.md没有正确的YAML配置
**解决**: 确保README.md开头有完整的YAML头部

### 2. 依赖版本冲突
**问题**: requirements.txt中的包版本不兼容
**解决**: 使用优化后的requirements.txt(已修复)

### 3. 系统依赖缺失
**问题**: 缺少ffmpeg等系统依赖
**解决**: 创建packages.txt文件(已创建)

### 4. 启动脚本问题
**问题**: app.py启动逻辑有误
**解决**: 使用优化后的app.py(已修复)

### 5. 配置文件问题
**问题**: config.toml格式错误
**解决**: 检查TOML语法,确保没有语法错误

## 🔍 部署后故障排除

### 检查构建日志
1. 在HF Spaces界面查看"Logs"标签
2. 寻找错误信息,通常出现在:
   - 依赖安装阶段
   - 应用启动阶段

### 常见错误及解决方案

#### 错误: "No module named 'xxx'"
```bash

解决: 在requirements.txt中添加缺失的包

```

#### 错误: "Address already in use"
```bash

解决: 检查app.py中的端口配置是否为7860

```

#### 错误: "Permission denied"
```bash

解决: 检查文件权限,确保app.py有执行权限

```

#### 错误: "ffmpeg not found"
```bash

解决: 确保packages.txt包含ffmpeg

```

## 📞 支持信息

如果部署仍然失败,请检查:
1. HF Spaces配额是否足够
2. 是否选择了正确的SDK (Streamlit)
3. 文件是否完整上传
4. YAML配置是否正确