@gentbajko/slopify 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/adapter-registry.js +28 -0
- package/dist/adapters/key-probes.js +57 -8
- package/dist/adapters/tts/gemini.js +206 -0
- package/dist/adapters/tts/pcm-mp3.js +62 -0
- package/dist/adapters/tts/system.js +147 -0
- package/dist/assets/models.yaml +38 -0
- package/dist/assets/style-preview/narration.mp3 +0 -0
- package/dist/assets/style-preview/tall-1.jpg +0 -0
- package/dist/assets/style-preview/tall-2.jpg +0 -0
- package/dist/assets/style-preview/tall-3.jpg +0 -0
- package/dist/assets/style-preview/wide-1.jpg +0 -0
- package/dist/assets/style-preview/wide-2.jpg +0 -0
- package/dist/assets/style-preview/wide-3.jpg +0 -0
- package/dist/catalog/registry.js +4 -1
- package/dist/catalog/validate.js +2 -2
- package/dist/edge/autostart/docker-record.js +2 -2
- package/dist/edge/autostart/docker.js +68 -0
- package/dist/edge/autostart/prompt.js +7 -1
- package/dist/edge/autostart/service.js +18 -9
- package/dist/edge/cli-args.js +71 -0
- package/dist/edge/cli.js +11 -16
- package/dist/edge/docker-install/run.js +7 -1
- package/dist/edge/events/hub.js +3 -1
- package/dist/edge/http/actions.js +6 -1
- package/dist/edge/http/app.js +2 -0
- package/dist/edge/http/byte-range.js +42 -0
- package/dist/edge/http/diagnostics.js +1 -0
- package/dist/edge/http/draft-files.js +2 -4
- package/dist/edge/http/files.js +10 -6
- package/dist/edge/http/onboarding.js +64 -4
- package/dist/edge/http/project-templates.js +19 -2
- package/dist/edge/http/projects.js +6 -1
- package/dist/edge/http/providers.js +39 -9
- package/dist/edge/http/reviews.js +18 -8
- package/dist/edge/http/revision-files.js +2 -4
- package/dist/edge/http/schedules.js +9 -5
- package/dist/edge/http/storage.js +16 -2
- package/dist/edge/http/studio.js +111 -31
- package/dist/edge/http/style-preview.js +3 -42
- package/dist/edge/http/tutorials.js +59 -0
- package/dist/edge/http/youtube-edits.js +11 -2
- package/dist/extension/slopify-studio-chrome.zip +0 -0
- package/dist/extension/slopify-studio-firefox.zip +0 -0
- package/dist/host-cli/gemini-login.js +83 -0
- package/dist/host-cli/status.js +4 -2
- package/dist/kernel/db/migrations/0041-cast-hosts.sql +3 -0
- package/dist/kernel/ports/model.js +5 -3
- package/dist/kernel/ports/system-speech.js +203 -0
- package/dist/kernel/runner/graph.js +17 -1
- package/dist/kernel/runner/index.js +4 -4
- package/dist/kernel/runner/providers.js +1 -1
- package/dist/main.js +5 -0
- package/dist/model-catalog.js +2 -0
- package/dist/patch-notes/3.0.1.md +105 -0
- package/dist/patch-notes/index.json +6 -0
- package/dist/slices/admission/rules.js +3 -3
- package/dist/slices/admission/start.js +1 -1
- package/dist/slices/channels/cast-match.js +1 -1
- package/dist/slices/channels/repo.js +3 -0
- package/dist/slices/channels/schema.js +23 -0
- package/dist/slices/channels/service.js +6 -6
- package/dist/slices/control/index.js +3 -1
- package/dist/slices/control/providers.js +4 -1
- package/dist/slices/episodes/related.js +2 -2
- package/dist/slices/estimate/requests.js +9 -1
- package/dist/slices/eta/history.js +56 -0
- package/dist/slices/eta/model.js +63 -0
- package/dist/slices/eta/view.js +25 -0
- package/dist/slices/fixes/rules.js +1 -1
- package/dist/slices/fonts/coverage.js +1 -1
- package/dist/slices/loudness/model.js +1 -1
- package/dist/slices/model-upkeep/usage.js +4 -2
- package/dist/slices/narration/pauses-model.js +1 -1
- package/dist/slices/narration/pronunciation.js +2 -2
- package/dist/slices/notifications/notifier.js +28 -2
- package/dist/slices/notifications/rules.js +26 -2
- package/dist/slices/onboarding/first-run.js +40 -14
- package/dist/slices/onboarding/full-video.js +81 -0
- package/dist/slices/onboarding/model.js +21 -0
- package/dist/slices/onboarding/quick-short.js +25 -10
- package/dist/slices/play-drafts/convert.js +3 -3
- package/dist/slices/play-drafts/readiness.js +1 -1
- package/dist/slices/project-templates/from-project.js +10 -3
- package/dist/slices/project-templates/next-chapter.js +94 -0
- package/dist/slices/project-templates/one-off.js +1 -1
- package/dist/slices/project-templates/schema.js +7 -1
- package/dist/slices/rebuild/recipe-exports.js +5 -0
- package/dist/slices/rebuild/recipe-voices.js +1 -1
- package/dist/slices/rebuild/review-redo.js +15 -0
- package/dist/slices/rebuild/runtime-export-bed.js +1 -1
- package/dist/slices/rebuild/runtime-review.js +35 -5
- package/dist/slices/rebuild/runtime-store.js +23 -1
- package/dist/slices/rebuild/runtime-voices.js +2 -2
- package/dist/slices/rebuild/service-readiness.js +3 -3
- package/dist/slices/reviews/repo.js +16 -4
- package/dist/slices/run-cost/panel.js +30 -8
- package/dist/slices/run-cost/pricing.js +4 -1
- package/dist/slices/schedules/agenda.js +66 -2
- package/dist/slices/schedules/repo.js +1 -1
- package/dist/slices/schedules/scheduler.js +1 -1
- package/dist/slices/schedules/schema.js +43 -2
- package/dist/slices/schedules/similar.js +41 -3
- package/dist/slices/schedules/topic-list.js +2 -2
- package/dist/slices/schedules/topics.js +118 -17
- package/dist/slices/settings/first-run.js +5 -1
- package/dist/slices/settings/health.js +64 -7
- package/dist/slices/settings/key-guides.js +17 -7
- package/dist/slices/settings/key-test.js +12 -4
- package/dist/slices/settings/keys.js +10 -5
- package/dist/slices/settings/model-reach.js +52 -0
- package/dist/slices/settings/model.js +49 -0
- package/dist/slices/settings/models.js +5 -1
- package/dist/slices/settings/readiness.js +14 -2
- package/dist/slices/settings/tutorial-schema.js +5 -0
- package/dist/slices/shorts/render.js +18 -17
- package/dist/slices/storage/documents.js +11 -3
- package/dist/slices/storage/downloads.js +33 -1
- package/dist/slices/storage/portable.js +4 -2
- package/dist/slices/studio/model.js +2 -0
- package/dist/slices/studio/pack.js +6 -4
- package/dist/slices/studio/queue.js +69 -0
- package/dist/slices/studio/settings.js +42 -5
- package/dist/slices/style-preview/narration.js +33 -0
- package/dist/slices/style-preview/render.js +43 -56
- package/dist/slices/style-preview/schema.js +17 -3
- package/dist/slices/style-preview/service.js +3 -4
- package/dist/slices/style-preview/settings.js +75 -25
- package/dist/slices/tutorials/anchors.js +57 -0
- package/dist/slices/tutorials/library.js +185 -0
- package/dist/slices/voices/audio-files.js +7 -2
- package/dist/slices/voices/cast.js +26 -8
- package/dist/slices/voices/grouping.js +10 -0
- package/dist/slices/voices/model.js +49 -10
- package/dist/slices/voices/script.js +1 -1
- package/dist/slices/youtube/edits-repo.js +19 -4
- package/dist/slices/youtube/placeholders.js +2 -2
- package/dist/tutorials/AI-CLIs.md +146 -0
- package/dist/tutorials/Backups.md +121 -0
- package/dist/tutorials/Calendar.md +103 -0
- package/dist/tutorials/Cast-Library.md +112 -0
- package/dist/tutorials/Channels.md +148 -0
- package/dist/tutorials/Costs-and-Run-Cost.md +136 -0
- package/dist/tutorials/Docker.md +171 -0
- package/dist/tutorials/Document-Themes.md +207 -0
- package/dist/tutorials/Editing-a-Project.md +204 -0
- package/dist/tutorials/FAQ.md +134 -0
- package/dist/tutorials/First-Launch-and-Welcome.md +153 -0
- package/dist/tutorials/Home-and-Projects.md +174 -0
- package/dist/tutorials/Home.md +119 -0
- package/dist/tutorials/Install.md +154 -0
- package/dist/tutorials/Intros-and-Outros.md +86 -0
- package/dist/tutorials/Keyboard-Shortcuts-and-Command-Palette.md +215 -0
- package/dist/tutorials/Library-Overview.md +75 -0
- package/dist/tutorials/Models.md +133 -0
- package/dist/tutorials/Multiple-Voices.md +161 -0
- package/dist/tutorials/Narration-Aliases-and-Glossary.md +129 -0
- package/dist/tutorials/Notifications.md +86 -0
- package/dist/tutorials/Other-Languages.md +110 -0
- package/dist/tutorials/PDF-Documents.md +100 -0
- package/dist/tutorials/Play-Images.md +135 -0
- package/dist/tutorials/Play-Narration.md +167 -0
- package/dist/tutorials/Play-Outputs.md +109 -0
- package/dist/tutorials/Play-Overview.md +216 -0
- package/dist/tutorials/Play-Title-and-Article.md +135 -0
- package/dist/tutorials/Play-Video-and-Style.md +143 -0
- package/dist/tutorials/Project-Page.md +228 -0
- package/dist/tutorials/Prompts.md +136 -0
- package/dist/tutorials/Providers-and-Keys.md +290 -0
- package/dist/tutorials/Publishing-to-YouTube.md +135 -0
- package/dist/tutorials/Recovery-and-Retries.md +141 -0
- package/dist/tutorials/Reviews-and-Checkpoints.md +143 -0
- package/dist/tutorials/Schedules.md +154 -0
- package/dist/tutorials/Settings-Reference.md +258 -0
- package/dist/tutorials/Shorts.md +116 -0
- package/dist/tutorials/Start-at-Login.md +126 -0
- package/dist/tutorials/Studio-Extension.md +146 -0
- package/dist/tutorials/Templates.md +146 -0
- package/dist/tutorials/Trash.md +87 -0
- package/dist/tutorials/Troubleshooting.md +149 -0
- package/dist/tutorials/Uninstalling-and-Moving.md +113 -0
- package/dist/tutorials/Updating-and-Patch-Notes.md +120 -0
- package/dist/tutorials/Video-Editing.md +135 -0
- package/dist/tutorials/Where-Your-Files-Live.md +149 -0
- package/dist/tutorials/YouTube-Description.md +132 -0
- package/dist/tutorials/Your-First-Short.md +125 -0
- package/dist/tutorials/_Footer.md +1 -0
- package/dist/tutorials/_Sidebar.md +69 -0
- package/dist/web/assets/index-DBLSfqA-.css +1 -0
- package/dist/web/assets/index-DFdIhmm0.js +307 -0
- package/dist/web/assets/{pdf-BG8n_uc5.js → pdf-B9OY1ioX.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +2 -2
- package/dist/web/assets/index-CUA2sUxU.css +0 -1
- package/dist/web/assets/index-CX590kE-.js +0 -303
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Home and Projects
|
|
2
|
+
|
|
3
|
+
Home is Slopify's front page: what needs you, what is running, what is coming up, what is ready to upload and what this week cost, on one screen. Projects is the full list of every run you ever started, with search and filters.
|
|
4
|
+
|
|
5
|
+
**Where to find it:** the sidebar → **Home** (the Slopify logo also goes there) and **Projects**. On a phone, the bottom bar.
|
|
6
|
+
|
|
7
|
+
## Finding your way around
|
|
8
|
+
|
|
9
|
+
Every page shares the same frame: the sidebar on the left and the page beside it. On a computer there is no top bar; everything lives in the sidebar.
|
|
10
|
+
|
|
11
|
+
### The sidebar
|
|
12
|
+
|
|
13
|
+
From top to bottom:
|
|
14
|
+
|
|
15
|
+
| Part | What it has |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| Logo | The Slopify play logo and name, with the version you are running beside it (for example `v3.0.0`). Click it to go Home. |
|
|
18
|
+
| **Search or run a command** | Opens the command palette (`Ctrl+K`). |
|
|
19
|
+
| Destinations | **Home**, **Projects**, **Calendar** (also lit on Schedules), **Channels**, **Library** (Prompts, Intros & Outros, Templates, Document themes, Narration aliases), **Settings** (also lit on Usage). |
|
|
20
|
+
| **N running** | Shown while runs are going. It links to Running now on Home. |
|
|
21
|
+
| **Channel** | The channel picker (see below). |
|
|
22
|
+
| **New video** | Opens Play (`C` from anywhere). |
|
|
23
|
+
| Links | **GitHub**, **Patreon** and **Buy Me a Coffee**, each opening in a new tab. |
|
|
24
|
+
| Foot | "Free. Your keys, your machine.", the updates button (circular arrows, see [Updating and Patch Notes](Updating-and-Patch-Notes)) and the tutorial button (question mark, **Start interactive tutorial**). |
|
|
25
|
+
|
|
26
|
+
### On a phone
|
|
27
|
+
|
|
28
|
+
Below 768 pixels wide the sidebar is hidden. A slim bar at the top holds the logo, the search button, the running count, the GitHub, Patreon and Buy Me a Coffee icons, the updates button and the tutorial button. A bottom bar has five destinations: Home, Projects, Calendar, Library and Settings. Channels is reachable from the command palette, and the Channel picker sits at the top of Home.
|
|
29
|
+
|
|
30
|
+
### Rows open with one press
|
|
31
|
+
|
|
32
|
+
In every list, a press anywhere on a row or tile opens or picks it, not only on its name: projects, Home items, calendar entries, channels, schedules, Library lists, samples, saved drafts and media tiles. The buttons on a row still do their own thing.
|
|
33
|
+
|
|
34
|
+
### The command palette
|
|
35
|
+
|
|
36
|
+
Press `Ctrl+K`, or click **Search or run a command**, to jump anywhere or run an action by typing. The **Go to** group has **Open home**, **Open projects**, **Open calendar**, **Open schedules**, **Open channels**, **Open library**, **Open settings**, **Open usage and costs** and **Show patch notes**. **New video** opens Play. The **Channel** group has **Show all channels** and **Switch to <channel>**. See [Keyboard Shortcuts and Command Palette](Keyboard-Shortcuts-and-Command-Palette).
|
|
37
|
+
|
|
38
|
+
### The Channel picker
|
|
39
|
+
|
|
40
|
+
The **Channel** picker near the foot of the sidebar (at the top of Home on a phone) shows Home and the other screens for one channel, or for **All channels**. It only filters what you see: projects, schedules and costs of other channels keep running. Slopify remembers your choice in this browser. See [Channels](Channels).
|
|
41
|
+
|
|
42
|
+
## Home
|
|
43
|
+
|
|
44
|
+
**Where to find it:** the sidebar → **Home**.
|
|
45
|
+
|
|
46
|
+
The page title is the channel you picked (or **Home**), under today's date. At the top right are **Open calendar** and **New video**.
|
|
47
|
+
|
|
48
|
+
On a fresh install, Home sends you to the first-run screen once. See [First Launch and Welcome](First-Launch-and-Welcome).
|
|
49
|
+
|
|
50
|
+
### Needs you
|
|
51
|
+
|
|
52
|
+
Things that don't move on until you act:
|
|
53
|
+
|
|
54
|
+
| Item | Status | Button |
|
|
55
|
+
| --- | --- | --- |
|
|
56
|
+
| A run held at a review before a step | **Waiting for you · review before the narration** (or the images, or the video) | **Approve the article and record**, **Approve and draw the images** or **Approve and render**. Approving here lets the run continue. Open the project to look first. |
|
|
57
|
+
| A run whose next step is held another way | **Waiting for you** | **Open to continue** |
|
|
58
|
+
| A run you paused | **Paused** | **Open to continue** |
|
|
59
|
+
| Topics a schedule suggested | **N new topics** | **Review topics**, on the calendar: queue the ones you want and reject the rest. |
|
|
60
|
+
| A failed run | **Failed · <step>**, with a short reason | The fix to try: a button to Settings → Providers or Storage when that is the fix, otherwise **Open to retry**. |
|
|
61
|
+
| A run that failed because a CLI is signed out | **Failed · <step>** | **Copy sign-in command** copies the command (`claude auth login`, `codex login` or `gemini`). Run it in a terminal on the computer running Slopify, then **Open to retry** and press **Check again** on the project. |
|
|
62
|
+
|
|
63
|
+
Up to 4 failed runs show here. Only the first item's button is lime; the rest are plain buttons. The heading says how many things are waiting, or **Nothing is waiting for a decision**. See [Reviews and Checkpoints](Reviews-and-Checkpoints), [Schedules](Schedules) and [Recovery and Retries](Recovery-and-Retries).
|
|
64
|
+
|
|
65
|
+
### Running now
|
|
66
|
+
|
|
67
|
+
Videos being made or paused, up to 3. Each shows the step it is on, how long each step has taken, the running step's time left (for example `2 of 8 · about 4 min left`), the last few images as they land (with a tile for the one being drawn) and **Images N of M** while drawing. A run waiting for a CLI plan says so instead of the step, for example **Waiting for Codex limits (resets at 14:00)**. Open one to follow it live, pause it or cancel it. With nothing running it says **Start the next video**.
|
|
68
|
+
|
|
69
|
+
- With more than three running, **See all N running** opens Projects filtered to running.
|
|
70
|
+
- Queued runs show as one line under them, for example "Queued, waiting to start (2): Hypatia, Cleopatra", with **See queued** (Projects filtered to queued).
|
|
71
|
+
|
|
72
|
+
Time left comes from the step's own pace once it has counted something, otherwise from how long the same kind of step took in your finished runs. Past that it says **taking longer than usual**, and with nothing to go by **time left unknown**.
|
|
73
|
+
|
|
74
|
+
### Coming up
|
|
75
|
+
|
|
76
|
+
The schedule runs due in the next 7 days, with the template and topic each will use, up to 6. Paused schedules show too. **Calendar** opens the calendar to plan or move runs. With none it says **No scheduled runs this week. Plan some on the calendar.** See [Calendar](Calendar).
|
|
77
|
+
|
|
78
|
+
### Ready to upload
|
|
79
|
+
|
|
80
|
+
Finished videos you have not marked uploaded, up to 4. The bundled samples never show here.
|
|
81
|
+
|
|
82
|
+
- **Prepare upload** lists everything YouTube Studio asks for, with Copy buttons. Slopify never uploads for you. See [Publishing to YouTube](Publishing-to-YouTube).
|
|
83
|
+
- **Mark uploaded** takes the video off this list. Projects still has it.
|
|
84
|
+
|
|
85
|
+
### This week
|
|
86
|
+
|
|
87
|
+
Since Monday, for the picked channel:
|
|
88
|
+
|
|
89
|
+
| Figure | Meaning |
|
|
90
|
+
| --- | --- |
|
|
91
|
+
| **videos made** | Videos finished since Monday. |
|
|
92
|
+
| **spent** | What their provider calls cost. Calls billed to a command-line plan cost nothing per call; **~$X via API** says what they would have cost with API keys. Calls with no known price are counted separately (**N calls without a price**). |
|
|
93
|
+
| **weekly <plan> limit** | How much of each command-line plan's weekly limit is used, from the tool's last reading. The bar turns amber at 80%. |
|
|
94
|
+
|
|
95
|
+
See [Costs and Run Cost](Costs-and-Run-Cost).
|
|
96
|
+
|
|
97
|
+
## Projects
|
|
98
|
+
|
|
99
|
+
**Where to find it:** the sidebar → **Projects**.
|
|
100
|
+
|
|
101
|
+
Every run ever started, newest first, for the channel picked in the sidebar. The heading says how many projects there are and for which channel. **New video** opens Play.
|
|
102
|
+
|
|
103
|
+
### Search and filter
|
|
104
|
+
|
|
105
|
+
1. Type in **Search projects** to match titles.
|
|
106
|
+
2. Pick a filter under **Show**:
|
|
107
|
+
|
|
108
|
+
| Filter | Shows |
|
|
109
|
+
| --- | --- |
|
|
110
|
+
| **All** | Everything. |
|
|
111
|
+
| **Running** | Running and paused projects. |
|
|
112
|
+
| **Queued** | Projects waiting for their turn in the video queue. |
|
|
113
|
+
| **Needs you** | Projects waiting at a review or held step. |
|
|
114
|
+
| **Ready to upload** | Finished videos not marked uploaded. |
|
|
115
|
+
| **Failed** | Failed projects and those **Done with problems**. |
|
|
116
|
+
|
|
117
|
+
The filter is part of the address, so a link can open Projects on it: `/projects?show=running`, `queued`, `waiting` (Needs you), `ready` or `failed`. Press `/` to jump to the search box. The command palette has shortcuts: **Show projects that need you**, **Show videos ready to upload** and **Show failed projects**.
|
|
118
|
+
|
|
119
|
+
On a wide screen, **At a glance** beside the list counts the projects under each filter.
|
|
120
|
+
|
|
121
|
+
If nothing matches, the list says **No project matches. Clear the search or pick All.** If the picked channel has no projects, pick **All channels** in the sidebar.
|
|
122
|
+
|
|
123
|
+
### What each row shows
|
|
124
|
+
|
|
125
|
+
- The title, with a **Sample** badge on the bundled samples. A press anywhere on the row opens the project.
|
|
126
|
+
- For an audiobook that is a chapter of a book, **Book · Chapter N**.
|
|
127
|
+
- What it was made of and when: the article prompt and format, for example `Documentary dossier · 16:9 · started …`.
|
|
128
|
+
- A progress bar with **N% done** while it runs.
|
|
129
|
+
- Its state:
|
|
130
|
+
|
|
131
|
+
| State | Meaning |
|
|
132
|
+
| --- | --- |
|
|
133
|
+
| **Running** | A step is being made. A run waiting for a CLI plan says **Waiting for Codex limits (resets at 14:00)** instead. |
|
|
134
|
+
| **Paused** | Paused by you; nothing runs until you resume. |
|
|
135
|
+
| **Queued** | Waiting for its turn in the video queue. |
|
|
136
|
+
| **Waiting for you** | Held at a review or checkpoint. |
|
|
137
|
+
| **Done** | Finished. |
|
|
138
|
+
| **Done with problems** | Finished, but part of it failed. |
|
|
139
|
+
| **Failed** | Stopped with an error. |
|
|
140
|
+
| **Canceled** | You cancelled it. |
|
|
141
|
+
|
|
142
|
+
- **Mark uploaded** on a finished video; once marked, an **Uploaded** badge with **Undo**.
|
|
143
|
+
- The delete button (bin icon).
|
|
144
|
+
|
|
145
|
+
### Delete a project
|
|
146
|
+
|
|
147
|
+
1. Press the bin icon on its row. While the project is running it is disabled: cancel the run first.
|
|
148
|
+
2. Confirm with **Delete project** (or **Keep it** to back out).
|
|
149
|
+
3. The project goes to the trash for 30 days. Restore it or delete it for good in Settings → **Trash**. See [Trash](Trash).
|
|
150
|
+
|
|
151
|
+
### The video queue
|
|
152
|
+
|
|
153
|
+
Videos started together (a batch from Play, for example) run one at a time. The queue itself is on the Calendar, under **Batch queue**, numbered in the order they run (see [Calendar](Calendar#the-batch-queue)); Projects only links to it (**Video queue** → **Open calendar**) and has the **Queued** filter. Pausing a project holds the queue; when one fails or is cancelled, the next one starts. The project page has the same list behind a **Queue · N** button in its right rail. See [Templates](Templates) and [Schedules](Schedules) for batches.
|
|
154
|
+
|
|
155
|
+
### When there are no projects
|
|
156
|
+
|
|
157
|
+
Projects shows **No projects yet** with **Make your first video** (opens Play), and an invitation to the interactive tutorial with **Start tutorial**.
|
|
158
|
+
|
|
159
|
+
## Tips
|
|
160
|
+
|
|
161
|
+
- The sidebar's **N running** link jumps straight to Running now on Home.
|
|
162
|
+
- Home and Projects follow the Channel picker. If a project seems missing, switch to **All channels**.
|
|
163
|
+
- Updates wait for running work. See [Updating and Patch Notes](Updating-and-Patch-Notes).
|
|
164
|
+
|
|
165
|
+
## Related pages
|
|
166
|
+
|
|
167
|
+
- [Project Page](Project-Page)
|
|
168
|
+
- [Play Overview](Play-Overview)
|
|
169
|
+
- [Channels](Channels)
|
|
170
|
+
- [Calendar](Calendar)
|
|
171
|
+
- [Schedules](Schedules)
|
|
172
|
+
- [Reviews and Checkpoints](Reviews-and-Checkpoints)
|
|
173
|
+
- [Publishing to YouTube](Publishing-to-YouTube)
|
|
174
|
+
- [Keyboard Shortcuts and Command Palette](Keyboard-Shortcuts-and-Command-Palette)
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Slopify Wiki
|
|
2
|
+
|
|
3
|
+
Slopify turns a prompt and a few keywords into a narrated, captioned video. It writes the article, narrates it, makes the images and cuts the video, and can also give you shorts, a PDF of the article and a ready-to-paste YouTube description. It runs as a local web app on your own machine, with your own provider keys or the Claude Code, Codex or Gemini CLI you already use. It is free.
|
|
4
|
+
|
|
5
|
+
These pages cover Slopify 3.0: every screen, every setting and every workflow, step by step.
|
|
6
|
+
|
|
7
|
+
**Read them inside Slopify too:** the same pages are under **Help → Tutorials** in the app (the address is `/help/tutorials/<Page>`, for example `/help/tutorials/Install`), with a search box over all of them. From the command palette (`Ctrl+K`), **Open tutorial: <page>** jumps straight to one. See [Keyboard and Ctrl+K](Keyboard-Shortcuts-and-Command-Palette#open-a-tutorial-page).
|
|
8
|
+
|
|
9
|
+
## Start here
|
|
10
|
+
|
|
11
|
+
1. [Install](Install) Slopify (Node 26 or newer) or run it in [Docker](Docker).
|
|
12
|
+
2. Open it at `http://127.0.0.1:6969` and follow [First launch and welcome](First-Launch-and-Welcome).
|
|
13
|
+
3. Make [your first 60-second short](Your-First-Short). With a signed-in CLI and your computer's own voice it needs no keys at all.
|
|
14
|
+
4. Add the keys you want in [Providers and keys](Providers-and-Keys) (press **Test** to check a key before you save it), or sign in to an [AI CLI](AI-CLIs).
|
|
15
|
+
5. Make a full video from [Play](Play-Overview).
|
|
16
|
+
|
|
17
|
+
## How a video gets made
|
|
18
|
+
|
|
19
|
+
1. **Settings:** add provider keys and voices, or use a signed-in CLI.
|
|
20
|
+
2. **Library → Prompts:** write article, image and thumbnail prompts once, with `{{keywords}}` where the subject goes.
|
|
21
|
+
3. **Play:** pick a template or prompts, type the topic, choose your outputs, check the cost estimate, press **Start run** (or **Queue 3 videos** for several topics).
|
|
22
|
+
4. **The project page** shows each stage as it runs. Download the video, captions, PDF and description when it is done.
|
|
23
|
+
5. **Edit settings** on the project (the Edit project form) to change anything. Slopify remakes only what the change affects.
|
|
24
|
+
|
|
25
|
+
## Contents
|
|
26
|
+
|
|
27
|
+
### Getting started
|
|
28
|
+
| Page | What it covers |
|
|
29
|
+
|---|---|
|
|
30
|
+
| [Install](Install) | Installing with npx or npm, command-line options, ffmpeg, telemetry |
|
|
31
|
+
| [Docker](Docker) | Running Slopify in Docker with the compose file and the CLI helper |
|
|
32
|
+
| [First launch and welcome](First-Launch-and-Welcome) | The three-step first run, the three samples, Make my own copy, starter packs |
|
|
33
|
+
| [Your first short](Your-First-Short) | A 60-second short from topic to finished video |
|
|
34
|
+
| [Home and Projects](Home-and-Projects) | The sidebar, the Home dashboard and the Projects list |
|
|
35
|
+
| [Where your files live](Where-Your-Files-Live) | Documents/Slopify, the data folder and moving your files |
|
|
36
|
+
| [Start at login](Start-at-Login) | Starting Slopify when you log in |
|
|
37
|
+
| [Updating and patch notes](Updating-and-Patch-Notes) | Updating, going back, and reading patch notes |
|
|
38
|
+
| [Uninstalling and moving](Uninstalling-and-Moving) | Removing Slopify and moving between Docker and a native install |
|
|
39
|
+
|
|
40
|
+
### Providers
|
|
41
|
+
| Page | What it covers |
|
|
42
|
+
|---|---|
|
|
43
|
+
| [Providers and keys](Providers-and-Keys) | Every API provider, testing and saving keys, the system voice, Settings → Voices |
|
|
44
|
+
| [AI CLIs](AI-CLIs) | Claude Code, Codex and Gemini CLI: sign-in, use and plan limits |
|
|
45
|
+
| [Models](Models) | The model catalogue, retired models and switching |
|
|
46
|
+
| [Costs and run cost](Costs-and-Run-Cost) | Cost estimates, the run cost line, the Run cost tab and usage |
|
|
47
|
+
|
|
48
|
+
### Making a video
|
|
49
|
+
| Page | What it covers |
|
|
50
|
+
|---|---|
|
|
51
|
+
| [Play overview](Play-Overview) | Templates, topics, batches, drafts, the estimate, Start and Queue |
|
|
52
|
+
| [Title and article](Play-Title-and-Article) | Title patterns, article prompts, research and your own text |
|
|
53
|
+
| [Narration](Play-Narration) | Voices, pauses, volume, glossary, aliases, described tables |
|
|
54
|
+
| [Images](Play-Images) | Image prompts, the establishing image, cast, image pacing, Codex |
|
|
55
|
+
| [Video and style](Play-Video-and-Style) | Cuts, the Look, transitions, chapter cards, motion, captions, ambient sound |
|
|
56
|
+
| [Outputs](Play-Outputs) | Video, shorts, description, PDF, thumbnails and audio exports |
|
|
57
|
+
| [Reviews and checkpoints](Reviews-and-Checkpoints) | Automatic reviews and pausing a run for you to check |
|
|
58
|
+
|
|
59
|
+
### Formats and outputs
|
|
60
|
+
| Page | What it covers |
|
|
61
|
+
|---|---|
|
|
62
|
+
| [Multiple voices](Multiple-Voices) | Audiobook, podcast, radio drama and interview formats |
|
|
63
|
+
| [Other languages](Other-Languages) | Making videos in languages other than English |
|
|
64
|
+
| [Shorts](Shorts) | Vertical shorts cut from the long video |
|
|
65
|
+
| [YouTube description](YouTube-Description) | Description, chapters, hashtags and tags |
|
|
66
|
+
| [PDF documents](PDF-Documents) | The article as a PDF with contents, sources and a cover |
|
|
67
|
+
|
|
68
|
+
### The project page
|
|
69
|
+
| Page | What it covers |
|
|
70
|
+
|---|---|
|
|
71
|
+
| [Project page](Project-Page) | The next action, the run cost line, time left, downloads, the players, freeing space |
|
|
72
|
+
| [Editing a project](Editing-a-Project) | Edit project, remaking outdated work, the rebuild review, history |
|
|
73
|
+
| [Video editing](Video-Editing) | Video, caption, subtitle and ambient sound controls on a project |
|
|
74
|
+
| [Recovery and retries](Recovery-and-Retries) | Fix-it buttons, retries and waiting for plan limits |
|
|
75
|
+
| [Trash](Trash) | Deleted projects and how to get them back |
|
|
76
|
+
|
|
77
|
+
### Publishing
|
|
78
|
+
| Page | What it covers |
|
|
79
|
+
|---|---|
|
|
80
|
+
| [Publishing to YouTube](Publishing-to-YouTube) | Prepare upload, AI use disclosure, chapters and links |
|
|
81
|
+
| [Studio extension](Studio-Extension) | The browser extension that fills YouTube Studio's upload dialog |
|
|
82
|
+
|
|
83
|
+
### Automation
|
|
84
|
+
| Page | What it covers |
|
|
85
|
+
|---|---|
|
|
86
|
+
| [Templates](Templates) | Saving and reusing a setup |
|
|
87
|
+
| [Schedules](Schedules) | Videos on a cadence, topic lists and self-filling topics |
|
|
88
|
+
| [Calendar](Calendar) | What needs you, what is coming up, the video queue |
|
|
89
|
+
| [Notifications](Notifications) | Browser and phone (ntfy) notifications |
|
|
90
|
+
| [Backups](Backups) | Automatic backups, export and import |
|
|
91
|
+
|
|
92
|
+
### Channels
|
|
93
|
+
| Page | What it covers |
|
|
94
|
+
|---|---|
|
|
95
|
+
| [Channels](Channels) | Brand kit, episode memory, existing videos and channel links |
|
|
96
|
+
| [Cast library](Cast-Library) | Recurring characters with pictures and voices |
|
|
97
|
+
|
|
98
|
+
### Library
|
|
99
|
+
| Page | What it covers |
|
|
100
|
+
|---|---|
|
|
101
|
+
| [Library overview](Library-Overview) | What the Library holds |
|
|
102
|
+
| [Prompts](Prompts) | Writing prompts, keyword slots, history and restore |
|
|
103
|
+
| [Intros and outros](Intros-and-Outros) | Reusable openings and closings |
|
|
104
|
+
| [Aliases and glossary](Narration-Aliases-and-Glossary) | How the narrator says words |
|
|
105
|
+
| [Document themes](Document-Themes) | The look of the PDF |
|
|
106
|
+
|
|
107
|
+
### Reference
|
|
108
|
+
| Page | What it covers |
|
|
109
|
+
|---|---|
|
|
110
|
+
| [Settings reference](Settings-Reference) | Every Settings section and control |
|
|
111
|
+
| [Keyboard and Ctrl+K](Keyboard-Shortcuts-and-Command-Palette) | Shortcuts and the command palette |
|
|
112
|
+
| [Troubleshooting](Troubleshooting) | Common errors and how to fix them |
|
|
113
|
+
| [FAQ](FAQ) | Short answers to common questions |
|
|
114
|
+
|
|
115
|
+
## Getting help inside the app
|
|
116
|
+
|
|
117
|
+
Every setting in Slopify has an info button beside it that explains what it does. If something goes wrong, the project page shows a button that names the fix. The question-mark button at the foot of the sidebar starts the interactive tutorial.
|
|
118
|
+
|
|
119
|
+
These pages ship inside Slopify too, so they work offline and match the version you run: the book button beside the question mark opens **Help → Tutorials**, with the same groups as this wiki's sidebar and a search across every page. Many info buttons end in **Learn more**, which opens the matching section there, and `Ctrl+K` → **Open tutorial: <page>** opens any page. See [Troubleshooting](Troubleshooting) for the rest.
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Install
|
|
2
|
+
|
|
3
|
+
Slopify is a local web app you start from a terminal. It runs on your own computer, opens in your browser at `http://127.0.0.1:6969`, and uses your own provider keys or the AI command-line tools you are already signed in to.
|
|
4
|
+
|
|
5
|
+
**Where to find it:** a terminal on your computer (PowerShell or Windows Terminal on Windows, Terminal on macOS, any shell on Linux).
|
|
6
|
+
|
|
7
|
+
## What you need
|
|
8
|
+
|
|
9
|
+
| Requirement | Details |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Node.js | Version 26 or newer, with npm (it comes with Node). Get it from nodejs.org. |
|
|
12
|
+
| Operating system | Windows, macOS or Linux for the normal install. The managed Docker install is Linux only (see [Docker](Docker)). |
|
|
13
|
+
| ffmpeg | Nothing to install: Slopify brings its own copy. See [ffmpeg](#ffmpeg) below. |
|
|
14
|
+
| Disk space | Enough for your videos. Every project keeps its video, images, narration and working files. The caption model is a 95 MB download. |
|
|
15
|
+
| Keys or CLIs | Text and images can come from Claude Code, Codex or Gemini CLI, or from API keys. Narration can use a voice provider key, or your computer's own speech for free (the System voice; on Linux, install `espeak-ng`). See [Providers and Keys](Providers-and-Keys) and [AI CLIs](AI-CLIs). |
|
|
16
|
+
|
|
17
|
+
## Choose how to run it
|
|
18
|
+
|
|
19
|
+
There are three ways. All three give you the same app.
|
|
20
|
+
|
|
21
|
+
| Way | Command | Good for |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| Run with npx | `npx @gentbajko/slopify@latest` | Trying it, or always starting the newest version. Nothing is installed globally. |
|
|
24
|
+
| Install with npm | `npm install -g @gentbajko/slopify`, then `slopify` | A permanent `slopify` command. |
|
|
25
|
+
| Docker (Linux) | `npx @gentbajko/slopify@latest --docker` | Keeping Slopify running in the background, restarting with Docker. See [Docker](Docker). |
|
|
26
|
+
|
|
27
|
+
## Start Slopify with npx
|
|
28
|
+
|
|
29
|
+
1. Open a terminal.
|
|
30
|
+
2. Run `npx @gentbajko/slopify@latest`.
|
|
31
|
+
3. Wait while npm downloads the package the first time. Slopify then checks ffmpeg, starts, and prints where everything is:
|
|
32
|
+
- `Slopify is running at http://127.0.0.1:6969`
|
|
33
|
+
- `Slopify data directory:` the hidden data folder (normally `~/.slopify`)
|
|
34
|
+
- `Projects:` where your project folders are (on a new install, `Documents/Slopify/Projects`)
|
|
35
|
+
- `Database:` and `Logs:` inside the data folder
|
|
36
|
+
4. Your browser opens at `http://127.0.0.1:6969`. If it doesn't, open that address yourself.
|
|
37
|
+
5. On an interactive terminal Slopify asks once: `Start Slopify when you log in? (Y/n)`. Press Enter for yes, or type `n`. See [Start at Login](Start-at-Login).
|
|
38
|
+
6. Keep the terminal open while you use Slopify. Press `Ctrl+C` in it to stop Slopify.
|
|
39
|
+
|
|
40
|
+
Continue with [First Launch and Welcome](First-Launch-and-Welcome).
|
|
41
|
+
|
|
42
|
+
## Install it with npm
|
|
43
|
+
|
|
44
|
+
1. Run `npm install -g @gentbajko/slopify`.
|
|
45
|
+
2. Start it any time with `slopify`. The same flags work: `slopify --port 7070`.
|
|
46
|
+
|
|
47
|
+
In-app updates work for both npx and a global install: the new version is installed inside the data folder and later starts take it from there. See [Updating and Patch Notes](Updating-and-Patch-Notes).
|
|
48
|
+
|
|
49
|
+
## Commands
|
|
50
|
+
|
|
51
|
+
| Command | What it does |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| `npx @gentbajko/slopify@latest` | Starts Slopify. |
|
|
54
|
+
| `npx @gentbajko/slopify@latest update` | Updates a running Slopify to the newest version, the same way the in-app update button does. It only works while Slopify is running. If you have a Docker install, it updates that one instead. |
|
|
55
|
+
| `npx @gentbajko/slopify@latest --docker` | Installs Slopify in Docker, or re-applies changed Docker settings. Same as `install --docker`. |
|
|
56
|
+
| `npx @gentbajko/slopify@latest update --docker` | Updates the Docker install. |
|
|
57
|
+
|
|
58
|
+
Any other word after the package name is refused with a message listing these commands. Without `--docker` there is nothing to install: `install` on its own is refused.
|
|
59
|
+
|
|
60
|
+
`update` for a normal install needs Slopify to be running. If it isn't, the command says so: start Slopify first, and add `--port <number>` if it runs on another port.
|
|
61
|
+
|
|
62
|
+
## Options
|
|
63
|
+
|
|
64
|
+
A flag beats the environment variable, and the variable beats the default.
|
|
65
|
+
|
|
66
|
+
| Flag | Variable | Default | What it does |
|
|
67
|
+
| --- | --- | --- | --- |
|
|
68
|
+
| `--port` | `SLOPIFY_PORT` | `6969` | The port Slopify listens on. A whole number from 1 to 65535. |
|
|
69
|
+
| `--host` | `SLOPIFY_HOST` | `127.0.0.1` | The address it binds to. |
|
|
70
|
+
| `--data-dir` | `SLOPIFY_DATA_DIR` | `~/.slopify` | Where the database, settings, keys, logs and caption models live. A relative path is taken from the folder you run the command in. |
|
|
71
|
+
| `--no-open` | `SLOPIFY_NO_OPEN` | opens a browser | Doesn't open a browser tab. For the variable, any value except empty, `0` or `false` counts as on. |
|
|
72
|
+
| `--autostart` / `--no-autostart` | | asks once | Turns [Start at Login](Start-at-Login) on or off without asking. Useful in scripts. |
|
|
73
|
+
| | `SLOPIFY_FFMPEG` | the bundled ffmpeg | The full path of another ffmpeg to use. |
|
|
74
|
+
| | `SLOPIFY_NO_MODEL_PREFETCH` | downloads at start | Set to `1` to skip fetching the 95 MB caption model when Slopify starts. It is then fetched the first time a video needs captions. |
|
|
75
|
+
|
|
76
|
+
Options that only work with `--docker`: `--projects-dir <folder>`, `--host-cli=off` and `--accept-host-cli`. See [Docker](Docker). With `--docker`, `--host` and `--data-dir` are refused, because the Docker version always listens on localhost and keeps its data in a Docker volume.
|
|
77
|
+
|
|
78
|
+
### A second install or a test install
|
|
79
|
+
|
|
80
|
+
Start Slopify with its own data folder, for example `npx @gentbajko/slopify@latest --data-dir ~/slopify-test --port 7070`. A new install with its own data folder keeps its project files inside that folder instead of in `Documents/Slopify`, so it never shares files with your main install. See [Where Your Files Live](Where-Your-Files-Live).
|
|
81
|
+
|
|
82
|
+
Only one Slopify can use a data folder at a time. A second one on the same folder stops with `Slopify is already running on this data directory`.
|
|
83
|
+
|
|
84
|
+
## Keep it on 127.0.0.1
|
|
85
|
+
|
|
86
|
+
Slopify has no login. Whoever can reach its port controls the app and every provider key saved in it. The default `127.0.0.1` means only your own computer can reach it.
|
|
87
|
+
|
|
88
|
+
If you start it with another `--host`, the terminal prints a warning: `WARNING: bound to <host> - anyone who reaches this port controls the app and its keys (no login).` Only do that on a network you trust completely.
|
|
89
|
+
|
|
90
|
+
## ffmpeg
|
|
91
|
+
|
|
92
|
+
Slopify makes its videos with ffmpeg, and you don't need to install it.
|
|
93
|
+
|
|
94
|
+
- A normal install gets a tested ffmpeg for your system through npm when the package is installed. Slopify never uses an ffmpeg from your `PATH` on its own.
|
|
95
|
+
- Before starting, Slopify checks that ffmpeg runs. If the install-time download is missing, it downloads the same build into `<data folder>/bin/`, with its licence and source notice, and reuses it on later starts.
|
|
96
|
+
- The Docker image already contains ffmpeg.
|
|
97
|
+
|
|
98
|
+
To use your own ffmpeg, set `SLOPIFY_FFMPEG` to its full path:
|
|
99
|
+
|
|
100
|
+
```sh
|
|
101
|
+
SLOPIFY_FFMPEG=/usr/bin/ffmpeg npx @gentbajko/slopify@latest
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
In Windows PowerShell:
|
|
105
|
+
|
|
106
|
+
```powershell
|
|
107
|
+
$env:SLOPIFY_FFMPEG = 'C:\tools\ffmpeg\bin\ffmpeg.exe'
|
|
108
|
+
npx @gentbajko/slopify@latest
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
The bundled ffmpeg is a separate program under the GPL-3.0-or-later licence. Slopify runs it as a separate process and does not link to it.
|
|
112
|
+
|
|
113
|
+
## The caption model
|
|
114
|
+
|
|
115
|
+
Captions are timed against the narration by a speech model that runs on your computer, at no cost. The English model (95 MB) is downloaded when Slopify starts, in the background, so a run never waits for it later. It is kept in `<data folder>/models/`. Set `SLOPIFY_NO_MODEL_PREFETCH=1` to skip the download at start. Other languages use a separate model that is downloaded the first time a project in that language needs it.
|
|
116
|
+
|
|
117
|
+
## Anonymous usage stats
|
|
118
|
+
|
|
119
|
+
The first time you open Slopify it shows **Anonymous usage stats**, a notice listing exactly what is counted, with one button, **Got it**. These counts feed the live totals on slopify.stream.
|
|
120
|
+
|
|
121
|
+
| Tracked | Never tracked |
|
|
122
|
+
| --- | --- |
|
|
123
|
+
| Tokens in and out per stage, with provider and model | API keys |
|
|
124
|
+
| Audio seconds, images, thumbnails, videos rendered | Prompt bodies and keyword values |
|
|
125
|
+
| PDF documents, YouTube descriptions and shorts made | Titles, article or research text |
|
|
126
|
+
| Projects created, and that this machine installed Slopify | Files and file names |
|
|
127
|
+
| The time each of those happened | OS, locale, hardware |
|
|
128
|
+
|
|
129
|
+
Each report carries a random id of its own, a random id for this machine and the Slopify version. There is no setting to turn it off. Settings → **Usage** shows the same counters for your machine only.
|
|
130
|
+
|
|
131
|
+
## If it doesn't start
|
|
132
|
+
|
|
133
|
+
| Message | What to do |
|
|
134
|
+
| --- | --- |
|
|
135
|
+
| `Port 6969 is already in use by another program (maybe another Slopify)` | Stop the other program, or start on another port: `npx @gentbajko/slopify --port 7070`. |
|
|
136
|
+
| `Slopify is not allowed to use port …` | Pick a port above 1024 with `--port`. |
|
|
137
|
+
| `Slopify can't listen on … because that address doesn't belong to this machine` | Leave out `--host` and `SLOPIFY_HOST`. |
|
|
138
|
+
| `Slopify can't write to its data folder …` | Make sure your user owns that folder, or choose another with `--data-dir <folder>`. |
|
|
139
|
+
| `The disk is full` | Free some space and start again. |
|
|
140
|
+
| `Slopify could not download and start ffmpeg` | Check your connection and whether antivirus quarantined it, or set `SLOPIFY_FFMPEG`. |
|
|
141
|
+
| `Slopify is already running on this data directory` | Use the Slopify that is already running, or close it first. If none is running, delete the lock file the message names. |
|
|
142
|
+
|
|
143
|
+
More in [Troubleshooting](Troubleshooting).
|
|
144
|
+
|
|
145
|
+
## Related pages
|
|
146
|
+
|
|
147
|
+
- [Docker](Docker)
|
|
148
|
+
- [First Launch and Welcome](First-Launch-and-Welcome)
|
|
149
|
+
- [Where Your Files Live](Where-Your-Files-Live)
|
|
150
|
+
- [Start at Login](Start-at-Login)
|
|
151
|
+
- [Updating and Patch Notes](Updating-and-Patch-Notes)
|
|
152
|
+
- [Providers and Keys](Providers-and-Keys)
|
|
153
|
+
- [AI CLIs](AI-CLIs)
|
|
154
|
+
- [Troubleshooting](Troubleshooting)
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Intros and Outros
|
|
2
|
+
|
|
3
|
+
Intros and outros are short narrated passages read before and after the body of a video, in the same voice: a greeting, a series tagline, a sign-off, a call to subscribe. Write one as fixed text, or as an instruction the text model answers fresh for each video.
|
|
4
|
+
|
|
5
|
+
**Where to find it:** **Library → Intros & Outros**. Pick them on Play in the **Intro** and **Outro** pickers (Narration row → **Audio Advanced**), in **Edit project**, or as a channel default in the channel's brand kit.
|
|
6
|
+
|
|
7
|
+
## Text or LLM
|
|
8
|
+
|
|
9
|
+
Each entry has a **Mode**:
|
|
10
|
+
|
|
11
|
+
| Mode | What happens | Extra cost |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| **Text** (default) | "Text is narrated as written." Keywords are filled in, with no extra call. | Only the voice request |
|
|
14
|
+
| **LLM** | "LLM is an instruction whose answer is narrated." The body goes to the project's text model with the title, the keyword values and the article, and the answer is narrated. The run then needs an LLM. | One text call per entry, plus the voice request |
|
|
15
|
+
|
|
16
|
+
Either way the intro or outro is narrated as its own audio file with the run's voice: one voice request each.
|
|
17
|
+
|
|
18
|
+
## Write an intro or outro
|
|
19
|
+
|
|
20
|
+
1. Open **Library → Intros & Outros**.
|
|
21
|
+
2. Choose **Intros** or **Outros** with **Entry category**.
|
|
22
|
+
3. Press **New intro or outro**.
|
|
23
|
+
4. Fill in the editor:
|
|
24
|
+
- **Name**: what Play and Edit project list it by. Up to 200 characters, unique within its category.
|
|
25
|
+
- **Category**: **Intro** (read before the body) or **Outro** (read after it). You can change it later.
|
|
26
|
+
- **Mode**: **Text** or **LLM**.
|
|
27
|
+
- **Body**: in Text mode, the words the narrator says; in LLM mode, the instruction whose answer is said. Each `{{keyword}}` becomes a field on Play, just like in prompts.
|
|
28
|
+
5. Press **Save** (or `Ctrl+S`).
|
|
29
|
+
|
|
30
|
+
### Examples
|
|
31
|
+
|
|
32
|
+
A text intro:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Welcome back to the channel. Tonight: {{Topic}}. Get comfortable.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
An LLM outro:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Write two sentences that close this video warmly. Mention one idea from the article
|
|
42
|
+
the listener can think about tonight. Do not ask them to subscribe.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Use one in a video
|
|
46
|
+
|
|
47
|
+
**On Play:**
|
|
48
|
+
|
|
49
|
+
1. Open the **Narration** row with **Change**, then open **Audio Advanced**.
|
|
50
|
+
2. Pick an entry in **Intro** and, if you like, in **Outro**. **Off** reads none.
|
|
51
|
+
3. Fill in any new keyword fields the entry added.
|
|
52
|
+
|
|
53
|
+
**From the Library:** press **Use in Play** on the entry's row. It is picked in your open Play draft and Play opens on its field.
|
|
54
|
+
|
|
55
|
+
**For a whole channel:** open **Channels** → the channel → **Brand** and set **Intro** and **Outro** under the brand kit. Every video of that channel whose template has no intro or outro of its own gets them. See [Channels](Channels).
|
|
56
|
+
|
|
57
|
+
**In a finished project:** open **Edit project**, pick a different intro or outro, and save. Only the parts that change are remade. See [Editing a project](Editing-a-Project).
|
|
58
|
+
|
|
59
|
+
## Edit, duplicate, delete and history
|
|
60
|
+
|
|
61
|
+
Entries have the same row actions as prompts:
|
|
62
|
+
|
|
63
|
+
| Action | What it does |
|
|
64
|
+
|---|---|
|
|
65
|
+
| **Edit** | Opens the editor. Change it and press **Save**. |
|
|
66
|
+
| **Duplicate** | Opens the editor with a copy to rename and save. |
|
|
67
|
+
| **Use in Play** | Picks the entry in the open Play draft. |
|
|
68
|
+
| **History** | Versions, compare and **Used by**, exactly as for prompts. See [Prompts](Prompts#history-and-versions). |
|
|
69
|
+
| **Delete** | Asks first, then moves it to **Settings → Trash** for 30 days. |
|
|
70
|
+
|
|
71
|
+
Use **Search intros and outros** (`/`) to find one by name. The pencil beside a name renames the entry in its row, with **Undo** on the notice; see [Rename in the row](Library-Overview#rename-in-the-row).
|
|
72
|
+
|
|
73
|
+
A project keeps its own copy of the intro and outro it started with, so editing an entry here changes only runs started later. Templates keep their own copies too.
|
|
74
|
+
|
|
75
|
+
## Tips
|
|
76
|
+
|
|
77
|
+
- Keep intros short. Viewers leave during long openings; two sentences is plenty.
|
|
78
|
+
- An LLM outro that summarises the video costs one small text call and never repeats itself across videos.
|
|
79
|
+
- Put the channel's standard intro and outro in the brand kit instead of every template.
|
|
80
|
+
|
|
81
|
+
## Related pages
|
|
82
|
+
|
|
83
|
+
- [Narration](Play-Narration)
|
|
84
|
+
- [Prompts](Prompts)
|
|
85
|
+
- [Channels](Channels)
|
|
86
|
+
- [Library overview](Library-Overview)
|