You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+16-4Lines changed: 16 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@ NotebookLM's PPT feature is closer to a one-click result generator, with limited
19
19
-**Model control**: Configure separate OpenAI-compatible models for text planning, image generation, and image editing
20
20
-**Local-first config**: Manage model connections through local `config.yaml` or WebUI local API configuration; saved projects and exported files do not include API keys
21
21
-**Export-ready output**: Export generated decks to PDF/PPTX for presentation or further editing
22
+
-**Experimental high-fidelity editable PPTX export**: Rebuild slide images into editable PowerPoint text boxes, conservative native shapes, and positioned bitmap assets through a provider-gated generative editable export path
22
23
23
24
## ✨ Features
24
25
@@ -29,6 +30,7 @@ NotebookLM's PPT feature is closer to a one-click result generator, with limited
29
30
- 🔀 **Three model roles**: Configure `prompt_model`, `image_model`, and `edit_model` separately
30
31
- 🖼️ **Image result compatibility**: Accepts URLs, Markdown image links, data URLs, `b64_json`, and raw base64
31
32
- 💾 **Local multi-project persistence**: Save multiple PPT projects in the browser, including source content, outline, page designs, generated images, and per-slide edit history
33
+
- 📤 **Editable PPTX reconstruction**: Export a separate experimental high-fidelity editable PPTX mode after provider verification; see [Generative Editable PPTX Export](docs/generative-editable-pptx.md)
32
34
33
35
## 🚀 Quick Start
34
36
@@ -102,6 +104,8 @@ Notes:
102
104
6.**Preview & Edit**: Preview generated slides in the right panel and edit a single page when needed
103
105
7.**Export**: Export to PDF or PPTX
104
106
107
+
The export menu keeps the existing raster PPTX option and adds a separate experimental high-fidelity editable PPTX option. The editable mode uses OCR plus image editing/image generation providers and is quality-gated by default; it fails rather than silently returning a low-fidelity deck unless an explicit fallback policy is requested. Strict live provider verification is still pending for the currently tested provider set. See [Generative Editable PPTX Export](docs/generative-editable-pptx.md).
108
+
105
109
The built-in demo source is `doc/L9.md`. This is a repository-relative path, so a fresh clone can use it directly in the WebUI or CLI examples.
106
110
107
111
## 📁 Project Structure
@@ -123,28 +127,30 @@ OpenNotebookLM-AIPPT/
123
127
124
128
All configurations are managed in `config.yaml`, including:
125
129
- API configuration (`prompt_model`, `image_model`, `edit_model`)
See `config.example.yaml` for detailed configuration examples.
130
135
131
136
### Using OpenAI Compatible API
132
137
138
+
The current protocol is OpenAI-compatible `/chat/completions`: text profiles use
139
+
chat completions, and image/edit profiles use multimodal chat completions that
140
+
return an image URL, data URL, or base64 payload.
141
+
133
142
```yaml
134
143
api:
135
144
models:
136
145
prompt_model:
137
-
adapter: "openai_chat"
138
146
model: "gpt-4o"
139
147
base_url: "https://api.openai.com/v1"
140
148
api_key: "sk-xxx"
141
149
image_model:
142
-
adapter: "raw_chat_multimodal"
143
150
model: "gpt-image-2"
144
151
base_url: "https://api.example.com/v1"
145
152
api_key: "sk-xxx"
146
153
edit_model:
147
-
adapter: "raw_chat_multimodal"
148
154
model: "gpt-image-2"
149
155
base_url: "https://api.example.com/v1"
150
156
api_key: "sk-xxx"
@@ -186,14 +192,20 @@ npm run test
186
192
npm run build
187
193
```
188
194
189
-
GitHub Actions runs the same default checks on `main` and `dev` pull requests and pushes. Real model API calls are intentionally not part of the default CI because they require private keys and can be flaky.
195
+
GitHub Actions runs the same default checks on `main` and `dev` pull requests and pushes. Real model API calls and desktop PowerPoint/WPS rendering are intentionally not part of the default CI because they require private keys or host applications that are not available in GitHub runners. CI still validates package-level PPTX structure, object manifests, renderer contracts, and fake-provider reconstruction paths.
0 commit comments