返回 Pixelle-Video
api-overview.md
根目录 / docs / zh / reference / api-overview.md
1 # API 概览
2
3 Pixelle-Video 提供 Python SDK 和 HTTP REST API 两种方式。
4
5 ---
6
7 ## Python SDK
8
9 ### PixelleVideoCore
10
11 主要服务类,提供视频生成功能。
12
13 ```python
14 from pixelle_video.service import PixelleVideoCore
15
16 pixelle = PixelleVideoCore()
17 await pixelle.initialize()
18 ```
19
20 ### generate_video()
21
22 生成视频的主要方法。
23
24 **参数**:
25
26 - `text` (str): 主题或完整文案
27 - `mode` (str): 生成模式 ("generate" 或 "fixed")
28 - `n_scenes` (int): 分镜数量
29 - `title` (str, optional): 视频标题
30 - `tts_workflow` (str): TTS 工作流
31 - `media_workflow` (str): 媒体生成工作流(图像或视频)
32 - `frame_template` (str): 视频模板
33 - `template_params` (dict, optional): 模板自定义参数
34 - `bgm_path` (str, optional): BGM 文件路径
35 - `bgm_volume` (float): BGM 音量 (0.0-1.0)
36
37 **返回**: `VideoResult` 对象
38
39 ---
40
41 ## HTTP REST API
42
43 启动 API 服务器:
44
45 ```bash
46 uv run uvicorn api.app:app --host 0.0.0.0 --port 8000
47 ```
48
49 ### 视频生成 - 同步
50
51 `POST /api/video/generate/sync`
52
53 同步生成视频,等待完成后返回结果。适合小视频(< 30 秒)。
54
55 **请求体**:
56
57 ```json
58 {
59 "text": "为什么要养成阅读习惯",
60 "mode": "generate",
61 "n_scenes": 5,
62 "frame_template": "1080x1920/image_default.html",
63 "template_params": {
64 "accent_color": "#3498db",
65 "background": "https://example.com/custom-bg.jpg"
66 },
67 "title": "阅读的力量"
68 }
69 ```
70
71 **响应**:
72
73 ```json
74 {
75 "success": true,
76 "message": "Success",
77 "video_url": "http://localhost:8000/api/files/xxx/final.mp4",
78 "duration": 45.5,
79 "file_size": 12345678
80 }
81 ```
82
83 ### 视频生成 - 异步
84
85 `POST /api/video/generate/async`
86
87 异步生成视频,立即返回任务 ID。适合大视频。
88
89 **响应**:
90
91 ```json
92 {
93 "success": true,
94 "message": "Task created successfully",
95 "task_id": "abc123"
96 }
97 ```
98
99 ### 查询任务状态
100
101 `GET /api/tasks/{task_id}`
102
103 **响应**:
104
105 ```json
106 {
107 "task_id": "abc123",
108 "status": "completed",
109 "result": {
110 "video_url": "http://localhost:8000/api/files/xxx/final.mp4",
111 "duration": 45.5,
112 "file_size": 12345678
113 }
114 }
115 ```
116
117 ---
118
119 ## 请求参数说明
120
121 | 参数 | 类型 | 必填 | 说明 |
122 |------|------|------|------|
123 | `text` | string | 是 | 主题或完整文案 |
124 | `mode` | string | 否 | `"generate"` (AI 生成) 或 `"fixed"` (固定文案) |
125 | `n_scenes` | int | 否 | 分镜数量 (1-20),仅 generate 模式有效 |
126 | `title` | string | 否 | 视频标题(不填则自动生成) |
127 | `frame_template` | string | 否 | 模板路径,如 `1080x1920/image_default.html` |
128 | `template_params` | object | 否 | 模板自定义参数(颜色、背景等) |
129 | `media_workflow` | string | 否 | 媒体工作流(图像或视频生成) |
130 | `tts_workflow` | string | 否 | TTS 工作流 |
131 | `ref_audio` | string | 否 | 声音克隆参考音频路径 |
132 | `prompt_prefix` | string | 否 | 图像风格前缀 |
133 | `bgm_path` | string | 否 | BGM 文件路径 |
134 | `bgm_volume` | float | 否 | BGM 音量 (0.0-1.0,默认 0.3) |
135
136 ---
137
138 ## 更多信息
139
140 API 文档也可通过 Swagger UI 访问:`http://localhost:8000/docs`
141
142
142 lines MARKDOWN