@gentbajko/slopify 3.25.9 → 4.1.0

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.
Files changed (718) hide show
  1. package/dist/adapters/account-limits.js +30 -0
  2. package/dist/adapters/alignment/audio.js +1 -1
  3. package/dist/adapters/alignment/cache.js +4 -6
  4. package/dist/adapters/alignment/ctc.js +1 -2
  5. package/dist/adapters/alignment/lock.js +4 -3
  6. package/dist/adapters/alignment/multilingual.js +2 -4
  7. package/dist/adapters/alignment/prefetch.js +2 -1
  8. package/dist/adapters/alignment/runner.js +1 -1
  9. package/dist/adapters/alignment/worker.js +3 -2
  10. package/dist/adapters/explain.js +10 -12
  11. package/dist/adapters/ffmpeg.js +19 -1
  12. package/dist/adapters/host-cli/index.js +21 -4
  13. package/dist/adapters/host-cli/transport.js +2 -1
  14. package/dist/adapters/http-failure.js +53 -0
  15. package/dist/adapters/image/bytes.js +2 -1
  16. package/dist/adapters/image/codex.js +42 -9
  17. package/dist/adapters/image/fal.js +21 -53
  18. package/dist/adapters/image/google.js +33 -56
  19. package/dist/adapters/image/models.js +2 -2
  20. package/dist/adapters/image/openai.js +22 -48
  21. package/dist/adapters/image/reference.js +36 -0
  22. package/dist/adapters/image/replicate.js +21 -49
  23. package/dist/adapters/image/video.js +2 -1
  24. package/dist/adapters/interest/search-interest.js +113 -0
  25. package/dist/adapters/key-probes.js +54 -3
  26. package/dist/adapters/llm/antigravity-models.js +1 -1
  27. package/dist/adapters/llm/antigravity.js +11 -6
  28. package/dist/adapters/llm/assistant-cli.js +388 -0
  29. package/dist/adapters/llm/child-session.js +83 -0
  30. package/dist/adapters/llm/claude-code-models.js +52 -99
  31. package/dist/adapters/llm/claude-code.js +16 -4
  32. package/dist/adapters/llm/codex-limits.js +27 -68
  33. package/dist/adapters/llm/codex-models.js +1 -1
  34. package/dist/adapters/llm/codex-server-models.js +61 -109
  35. package/dist/adapters/llm/codex.js +12 -1
  36. package/dist/adapters/llm/document-workspace.js +3 -2
  37. package/dist/adapters/llm/image-workspace.js +3 -2
  38. package/dist/adapters/llm/openrouter.js +12 -48
  39. package/dist/adapters/llm/run-cli.js +9 -24
  40. package/dist/adapters/llm/sse-lines.js +5 -1
  41. package/dist/adapters/model-access.js +37 -0
  42. package/dist/adapters/tts/cartesia.js +15 -46
  43. package/dist/adapters/tts/elevenlabs.js +20 -52
  44. package/dist/adapters/tts/gemini.js +21 -41
  45. package/dist/adapters/tts/inworld-async.js +6 -2
  46. package/dist/adapters/tts/inworld.js +6 -2
  47. package/dist/adapters/tts/openai.js +20 -50
  48. package/dist/adapters/tts/system.js +2 -1
  49. package/dist/assets/models-lifecycle.yaml +6 -0
  50. package/dist/assistant-wiring.js +60 -0
  51. package/dist/autopilot-timers.js +59 -0
  52. package/dist/catalog/lifecycle.js +52 -0
  53. package/dist/catalog/propose.js +204 -0
  54. package/dist/catalog/registry.js +23 -14
  55. package/dist/catalog/schema.js +4 -1
  56. package/dist/catalog/store.js +39 -0
  57. package/dist/catalog/validate.js +5 -2
  58. package/dist/edge/autostart/native.js +3 -5
  59. package/dist/edge/autostart/prompt.js +2 -1
  60. package/dist/edge/autostart/service.js +3 -4
  61. package/dist/edge/cli-args.js +3 -4
  62. package/dist/edge/cli.js +2 -1
  63. package/dist/edge/docker-install/apply.js +11 -11
  64. package/dist/edge/docker-install/run.js +2 -1
  65. package/dist/edge/docker-install/state.js +4 -3
  66. package/dist/edge/docker-install/tree.js +2 -4
  67. package/dist/edge/docker-install/volume.js +3 -2
  68. package/dist/edge/docker.js +5 -4
  69. package/dist/edge/events/hub.js +5 -5
  70. package/dist/edge/http/actions.js +11 -32
  71. package/dist/edge/http/actor.js +5 -3
  72. package/dist/edge/http/app.js +86 -11
  73. package/dist/edge/http/assistant.js +129 -0
  74. package/dist/edge/http/audio-preview.js +4 -11
  75. package/dist/edge/http/auditions.js +1 -1
  76. package/dist/edge/http/autostart.js +5 -5
  77. package/dist/edge/http/backups.js +2 -4
  78. package/dist/edge/http/channel-memory.js +9 -22
  79. package/dist/edge/http/channels.js +14 -27
  80. package/dist/edge/http/checkpoints.js +39 -21
  81. package/dist/edge/http/design-templates.js +167 -0
  82. package/dist/edge/http/designs.js +178 -0
  83. package/dist/edge/http/diagnostics.js +5 -1
  84. package/dist/edge/http/document-themes.js +5 -14
  85. package/dist/edge/http/draft-files.js +1 -3
  86. package/dist/edge/http/draft-problem.js +5 -10
  87. package/dist/edge/http/drafts.js +3 -3
  88. package/dist/edge/http/entries.js +6 -9
  89. package/dist/edge/http/extension-auth.js +27 -0
  90. package/dist/edge/http/external-reviews.js +12 -11
  91. package/dist/edge/http/files.js +5 -11
  92. package/dist/edge/http/folder-location.js +1 -4
  93. package/dist/edge/http/fonts.js +0 -7
  94. package/dist/edge/http/home.js +47 -14
  95. package/dist/edge/http/host-cli.js +18 -8
  96. package/dist/edge/http/ids.js +8 -0
  97. package/dist/edge/http/keywords.js +35 -0
  98. package/dist/edge/http/model-checks.js +132 -0
  99. package/dist/edge/http/narration-peaks.js +5 -13
  100. package/dist/edge/http/onboarding.js +30 -26
  101. package/dist/edge/http/open-folder.js +5 -10
  102. package/dist/edge/http/outputs.js +7 -14
  103. package/dist/edge/http/patch-notes.js +6 -12
  104. package/dist/edge/http/planning.js +3 -7
  105. package/dist/edge/http/problem.js +2 -4
  106. package/dist/edge/http/project-create.js +2 -1
  107. package/dist/edge/http/project-templates.js +31 -19
  108. package/dist/edge/http/projects.js +24 -16
  109. package/dist/edge/http/prompts.js +9 -16
  110. package/dist/edge/http/pronunciations.js +1 -2
  111. package/dist/edge/http/providers.js +48 -34
  112. package/dist/edge/http/refusal.js +29 -0
  113. package/dist/edge/http/remote-access.js +40 -0
  114. package/dist/edge/http/remote-guard.js +71 -0
  115. package/dist/edge/http/request-guard.js +91 -0
  116. package/dist/edge/http/reviews.js +12 -25
  117. package/dist/edge/http/revision-files.js +6 -11
  118. package/dist/edge/http/revisions.js +14 -19
  119. package/dist/edge/http/run-cost.js +1 -2
  120. package/dist/edge/http/same-page.js +80 -0
  121. package/dist/edge/http/schedules.js +69 -40
  122. package/dist/edge/http/settings.js +27 -14
  123. package/dist/edge/http/social.js +283 -0
  124. package/dist/edge/http/staging.js +3 -5
  125. package/dist/edge/http/storage-files.js +5 -7
  126. package/dist/edge/http/storage.js +33 -25
  127. package/dist/edge/http/studio.js +94 -69
  128. package/dist/edge/http/style-preview.js +3 -6
  129. package/dist/edge/http/subtitles.js +3 -17
  130. package/dist/edge/http/template-studio.js +436 -0
  131. package/dist/edge/http/trash.js +11 -12
  132. package/dist/edge/http/tutorial.js +1 -2
  133. package/dist/edge/http/tutorials.js +5 -11
  134. package/dist/edge/http/update.js +7 -13
  135. package/dist/edge/http/waveform.js +3 -6
  136. package/dist/edge/http/youtube-edits.js +3 -4
  137. package/dist/edge/mcp/assistant.js +279 -0
  138. package/dist/edge/mcp/attribution.js +8 -2
  139. package/dist/edge/mcp/call-route.js +11 -2
  140. package/dist/edge/mcp/excluded-routes.js +29 -3
  141. package/dist/edge/mcp/http.js +11 -2
  142. package/dist/edge/mcp/instructions.js +6 -4
  143. package/dist/edge/mcp/library-tools.js +9 -5
  144. package/dist/edge/mcp/remake-tools.js +7 -4
  145. package/dist/edge/mcp/route-tool.js +35 -15
  146. package/dist/edge/mcp/server.js +13 -8
  147. package/dist/edge/mcp/tools-channels.js +11 -9
  148. package/dist/edge/mcp/tools-designs.js +165 -0
  149. package/dist/edge/mcp/tools-library.js +19 -7
  150. package/dist/edge/mcp/tools-planning.js +40 -21
  151. package/dist/edge/mcp/tools-projects.js +38 -11
  152. package/dist/edge/mcp/tools-publishing.js +9 -9
  153. package/dist/edge/mcp/tools-runs.js +23 -10
  154. package/dist/edge/mcp/tools-schedules.js +32 -8
  155. package/dist/edge/mcp/tools-setup.js +75 -11
  156. package/dist/edge/mcp/tools-social.js +47 -0
  157. package/dist/edge/mcp/tools-storage.js +11 -3
  158. package/dist/edge/mcp/tools-template-studio.js +166 -0
  159. package/dist/edge/mcp/tools.js +6 -0
  160. package/dist/edge/remote-access/cli.js +71 -0
  161. package/dist/edge/remote-access/model.js +32 -0
  162. package/dist/edge/remote-access/rules.js +207 -0
  163. package/dist/edge/remote-access/service.js +203 -0
  164. package/dist/edge/remote-access/store.js +44 -0
  165. package/dist/edge/remote-access/views.js +43 -0
  166. package/dist/extension/slopify-studio-chrome.zip +0 -0
  167. package/dist/extension/slopify-studio-firefox.zip +0 -0
  168. package/dist/host-cli/install.js +2 -2
  169. package/dist/host-cli/open-folder.js +2 -2
  170. package/dist/host-cli/paths.js +2 -4
  171. package/dist/host-cli/server.js +4 -4
  172. package/dist/host-cli/service.js +3 -3
  173. package/dist/host-cli/status.js +7 -7
  174. package/dist/kernel/db/migrations/0063-model-checks.sql +20 -0
  175. package/dist/kernel/db/migrations/0064-template-studio.sql +46 -0
  176. package/dist/kernel/db/migrations/0065-promise-and-assistant-reviews.sql +58 -0
  177. package/dist/kernel/db/migrations/0066-assistant.sql +44 -0
  178. package/dist/kernel/db/migrations/0067-autopilot.sql +6 -0
  179. package/dist/kernel/db/migrations/0068-topic-scores.sql +17 -0
  180. package/dist/kernel/db/migrations/0070-designs.sql +53 -0
  181. package/dist/kernel/db/migrations/0071-design-usage.sql +33 -0
  182. package/dist/kernel/db/migrations/0072-design-templates.sql +33 -0
  183. package/dist/kernel/db/migrations/0073-schedule-design-kind.sql +5 -0
  184. package/dist/kernel/db/migrations/0074-template-bakeoffs.sql +44 -0
  185. package/dist/kernel/db/migrations/0075-social-posts.sql +25 -0
  186. package/dist/kernel/db/migrations/0076-channel-social.sql +5 -0
  187. package/dist/kernel/db/migrations/0077-post-prompts.sql +17 -0
  188. package/dist/kernel/db/migrations/0078-uploaded-from-links.sql +7 -0
  189. package/dist/kernel/db/tx.js +2 -4
  190. package/dist/kernel/errors.js +27 -1
  191. package/dist/kernel/json-answer.js +15 -0
  192. package/dist/kernel/lock.js +4 -9
  193. package/dist/kernel/paths.js +8 -0
  194. package/dist/kernel/pipeline.js +12 -0
  195. package/dist/kernel/ports/assistant-cli.js +4 -0
  196. package/dist/kernel/ports/host-cli.js +3 -0
  197. package/dist/kernel/ports/interest.js +4 -0
  198. package/dist/kernel/ports/languages.js +0 -3
  199. package/dist/kernel/ports/model.js +2 -0
  200. package/dist/kernel/ports/settings-places.js +31 -0
  201. package/dist/kernel/ports/system-speech.js +31 -3
  202. package/dist/kernel/runner/attempt.js +14 -4
  203. package/dist/kernel/runner/audition.js +3 -1
  204. package/dist/kernel/runner/checkpoint-authority.js +2 -1
  205. package/dist/kernel/runner/index.js +8 -10
  206. package/dist/kernel/runner/model-access.js +40 -0
  207. package/dist/kernel/runner/model-check.js +153 -0
  208. package/dist/kernel/runner/providers.js +18 -12
  209. package/dist/kernel/runner/standalone.js +11 -7
  210. package/dist/main.js +338 -21
  211. package/dist/model-catalog.js +20 -0
  212. package/dist/model-checks.js +166 -0
  213. package/dist/patch-notes/4.0.0.md +51 -0
  214. package/dist/patch-notes/4.1.0.md +42 -0
  215. package/dist/patch-notes/index.json +12 -0
  216. package/dist/slices/admission/heads.js +2 -1
  217. package/dist/slices/admission/listing-facts.js +95 -0
  218. package/dist/slices/admission/repo.js +11 -7
  219. package/dist/slices/admission/rules.js +50 -15
  220. package/dist/slices/admission/schema.js +8 -0
  221. package/dist/slices/admission/stage-writes.js +0 -3
  222. package/dist/slices/admission/start.js +48 -31
  223. package/dist/slices/admission/state-words.js +34 -5
  224. package/dist/slices/admission/substitute.js +7 -4
  225. package/dist/slices/agents/attention-posts.js +31 -0
  226. package/dist/slices/agents/attention-templates.js +33 -0
  227. package/dist/slices/agents/attention.js +10 -1
  228. package/dist/slices/agents/connection.js +2 -6
  229. package/dist/slices/agents/model.js +6 -3
  230. package/dist/slices/agents/repo.js +15 -7
  231. package/dist/slices/article/continuation.js +0 -63
  232. package/dist/slices/article/plain.js +3 -2
  233. package/dist/slices/article/segments.js +2 -62
  234. package/dist/slices/assistant/access.js +1 -0
  235. package/dist/slices/assistant/asks.js +80 -0
  236. package/dist/slices/assistant/cost.js +54 -0
  237. package/dist/slices/assistant/gate.js +222 -0
  238. package/dist/slices/assistant/model.js +86 -0
  239. package/dist/slices/assistant/names.js +23 -0
  240. package/dist/slices/assistant/prompt.js +74 -0
  241. package/dist/slices/assistant/repo.js +74 -0
  242. package/dist/slices/assistant/tokens.js +18 -0
  243. package/dist/slices/assistant/turn.js +344 -0
  244. package/dist/slices/autopilot/buffer.js +76 -0
  245. package/dist/slices/autopilot/model.js +14 -0
  246. package/dist/slices/autopilot/notify.js +27 -0
  247. package/dist/slices/autopilot/repo.js +34 -0
  248. package/dist/slices/autopilot/signals.js +194 -0
  249. package/dist/slices/autopilot/warnings.js +85 -0
  250. package/dist/slices/autopilot/weekly.js +100 -0
  251. package/dist/slices/backups/files.js +2 -6
  252. package/dist/slices/backups/repo.js +3 -15
  253. package/dist/slices/backups/service.js +8 -7
  254. package/dist/slices/channels/cast-images.js +3 -2
  255. package/dist/slices/channels/model.js +0 -1
  256. package/dist/slices/channels/rebrand.js +0 -3
  257. package/dist/slices/channels/repo.js +4 -0
  258. package/dist/slices/channels/schema.js +7 -1
  259. package/dist/slices/channels/service.js +10 -0
  260. package/dist/slices/channels/videos.js +3 -15
  261. package/dist/slices/checkpoints/index.js +0 -1
  262. package/dist/slices/control/providers.js +2 -28
  263. package/dist/slices/designs/artwork.js +66 -0
  264. package/dist/slices/designs/budget.js +23 -0
  265. package/dist/slices/designs/calls.js +124 -0
  266. package/dist/slices/designs/check-context.js +38 -0
  267. package/dist/slices/designs/check-text.js +43 -0
  268. package/dist/slices/designs/fields.js +88 -0
  269. package/dist/slices/designs/frames.js +34 -0
  270. package/dist/slices/designs/gate.js +130 -0
  271. package/dist/slices/designs/layout.js +293 -0
  272. package/dist/slices/designs/model.js +35 -0
  273. package/dist/slices/designs/pdf-job.js +23 -0
  274. package/dist/slices/designs/pdf-pages.js +30 -0
  275. package/dist/slices/designs/pdf-runner.js +68 -0
  276. package/dist/slices/designs/pdf-worker.js +24 -0
  277. package/dist/slices/designs/picture-size.js +79 -0
  278. package/dist/slices/designs/pictures.js +55 -0
  279. package/dist/slices/designs/quote.js +24 -0
  280. package/dist/slices/designs/render-args.js +36 -0
  281. package/dist/slices/designs/render-input.js +59 -0
  282. package/dist/slices/designs/render.js +215 -0
  283. package/dist/slices/designs/repo.js +101 -0
  284. package/dist/slices/designs/requests.js +80 -0
  285. package/dist/slices/designs/runner.js +239 -0
  286. package/dist/slices/designs/sample-repo.js +91 -0
  287. package/dist/slices/designs/sample.js +223 -0
  288. package/dist/slices/designs/schema.js +87 -0
  289. package/dist/slices/designs/sections.js +44 -0
  290. package/dist/slices/designs/service.js +233 -0
  291. package/dist/slices/designs/steps-repo.js +102 -0
  292. package/dist/slices/designs/studio-kind.js +39 -0
  293. package/dist/slices/designs/template-checks.js +44 -0
  294. package/dist/slices/designs/template-make.js +118 -0
  295. package/dist/slices/designs/templates.js +218 -0
  296. package/dist/slices/document/fonts.js +2 -1
  297. package/dist/slices/document/model.js +7 -4
  298. package/dist/slices/document/render.js +2 -1
  299. package/dist/slices/document/theme-schema.js +1 -1
  300. package/dist/slices/document/theme.js +49 -3
  301. package/dist/slices/episodes/summarize.js +6 -2
  302. package/dist/slices/estimate/index.js +72 -28
  303. package/dist/slices/estimate/requests.js +4 -4
  304. package/dist/slices/fixes/rules.js +3 -1
  305. package/dist/slices/fonts/catalog.js +5 -3
  306. package/dist/slices/fonts/coverage.js +2 -1
  307. package/dist/slices/fonts/discovery.js +3 -2
  308. package/dist/slices/fonts/files.js +2 -6
  309. package/dist/slices/fonts/index.js +0 -1
  310. package/dist/slices/fonts/sfnt.js +45 -10
  311. package/dist/slices/images/appearance.js +8 -16
  312. package/dist/slices/images/scenes.js +102 -28
  313. package/dist/slices/keywords/digest.js +85 -0
  314. package/dist/slices/keywords/facts.js +92 -0
  315. package/dist/slices/keywords/fill.js +80 -0
  316. package/dist/slices/keywords/model.js +75 -0
  317. package/dist/slices/keywords/rules.js +187 -0
  318. package/dist/slices/keywords/schema.js +28 -0
  319. package/dist/slices/keywords/specs.js +260 -0
  320. package/dist/slices/keywords/values.js +74 -0
  321. package/dist/slices/library/lint.js +29 -12
  322. package/dist/slices/library/model.js +2 -0
  323. package/dist/slices/library/photorealistic.js +4 -12
  324. package/dist/slices/library/rename.js +9 -7
  325. package/dist/slices/library/save.js +14 -10
  326. package/dist/slices/library/slots.js +37 -11
  327. package/dist/slices/library/transfer.js +5 -4
  328. package/dist/slices/library/used-by.js +25 -10
  329. package/dist/slices/loudness/loudnorm.js +53 -12
  330. package/dist/slices/loudness/model.js +3 -2
  331. package/dist/slices/loudness/sentence-level.js +2 -1
  332. package/dist/slices/model-checks/cost.js +61 -0
  333. package/dist/slices/model-checks/listing.js +124 -0
  334. package/dist/slices/model-checks/model.js +20 -0
  335. package/dist/slices/model-checks/record.js +32 -0
  336. package/dist/slices/model-checks/repo.js +120 -0
  337. package/dist/slices/model-checks/rules.js +125 -0
  338. package/dist/slices/model-checks/run.js +143 -0
  339. package/dist/slices/model-checks/service.js +198 -0
  340. package/dist/slices/model-upkeep/model.js +1 -1
  341. package/dist/slices/model-upkeep/switch.js +72 -27
  342. package/dist/slices/model-upkeep/usage.js +39 -13
  343. package/dist/slices/narration/breaths.js +3 -1
  344. package/dist/slices/narration/clean-pieces.js +3 -1
  345. package/dist/slices/narration/concat.js +2 -1
  346. package/dist/slices/narration/pauses-model.js +3 -2
  347. package/dist/slices/narration/peaks.js +3 -4
  348. package/dist/slices/narration/pronunciation-chunks.js +4 -3
  349. package/dist/slices/narration/pronunciation.js +6 -4
  350. package/dist/slices/narration/steering.js +4 -3
  351. package/dist/slices/notifications/notifier.js +4 -3
  352. package/dist/slices/notifications/rules.js +5 -2
  353. package/dist/slices/notifications/settings.js +4 -12
  354. package/dist/slices/notifications/subject.js +4 -3
  355. package/dist/slices/onboarding/copy.js +21 -3
  356. package/dist/slices/onboarding/first-run.js +16 -40
  357. package/dist/slices/onboarding/full-video.js +3 -2
  358. package/dist/slices/onboarding/install.js +6 -4
  359. package/dist/slices/onboarding/model.js +26 -37
  360. package/dist/slices/onboarding/packs.js +22 -22
  361. package/dist/slices/onboarding/preferred-model.js +14 -0
  362. package/dist/slices/onboarding/quick-short.js +105 -65
  363. package/dist/slices/onboarding/sample.js +4 -2
  364. package/dist/slices/onboarding/state.js +9 -11
  365. package/dist/slices/onboarding/template.js +8 -6
  366. package/dist/slices/outputs/add.js +3 -2
  367. package/dist/slices/outputs/service.js +2 -2
  368. package/dist/slices/patch-notes/library.js +4 -3
  369. package/dist/slices/play-drafts/convert.js +4 -0
  370. package/dist/slices/play-drafts/readiness.js +3 -3
  371. package/dist/slices/play-drafts/review-inputs.js +9 -3
  372. package/dist/slices/play-drafts/review.js +5 -4
  373. package/dist/slices/play-drafts/schema.js +4 -0
  374. package/dist/slices/play-drafts/service.js +17 -7
  375. package/dist/slices/project-templates/from-project.js +9 -2
  376. package/dist/slices/project-templates/next-chapter.js +2 -1
  377. package/dist/slices/project-templates/provider-defaults.js +22 -0
  378. package/dist/slices/project-templates/repo.js +6 -1
  379. package/dist/slices/project-templates/setup-sections.js +26 -0
  380. package/dist/slices/project-templates/setup.js +14 -1
  381. package/dist/slices/project-templates/stand-ins.js +22 -0
  382. package/dist/slices/rebuild/activity.js +2 -0
  383. package/dist/slices/rebuild/admission-repo.js +3 -2
  384. package/dist/slices/rebuild/narration-history.js +4 -5
  385. package/dist/slices/rebuild/narration-retry.js +2 -1
  386. package/dist/slices/rebuild/preview-details.js +32 -14
  387. package/dist/slices/rebuild/preview-plan.js +3 -8
  388. package/dist/slices/rebuild/recipe-build.js +8 -3
  389. package/dist/slices/rebuild/recipe-describe.js +3 -3
  390. package/dist/slices/rebuild/recipe-digest.js +58 -0
  391. package/dist/slices/rebuild/recipe-input-schema.js +10 -0
  392. package/dist/slices/rebuild/recipe-keywords.js +71 -0
  393. package/dist/slices/rebuild/recipe-legacy.js +5 -1
  394. package/dist/slices/rebuild/recipe-model.js +4 -0
  395. package/dist/slices/rebuild/recipe-narration-text.js +2 -1
  396. package/dist/slices/rebuild/recipe-preparation.js +4 -4
  397. package/dist/slices/rebuild/recipe-reference.js +8 -4
  398. package/dist/slices/rebuild/recipe-reviews.js +27 -7
  399. package/dist/slices/rebuild/recipe-save.js +8 -5
  400. package/dist/slices/rebuild/recipe-scenes.js +40 -11
  401. package/dist/slices/rebuild/recipe-shorts.js +8 -8
  402. package/dist/slices/rebuild/recipe-social.js +46 -0
  403. package/dist/slices/rebuild/recipe-text.js +64 -20
  404. package/dist/slices/rebuild/recipe-validation.js +102 -31
  405. package/dist/slices/rebuild/recipe-visual.js +55 -16
  406. package/dist/slices/rebuild/recipe-voices.js +3 -2
  407. package/dist/slices/rebuild/recipe-work.js +19 -7
  408. package/dist/slices/rebuild/recipe-youtube.js +4 -3
  409. package/dist/slices/rebuild/recovery-selection.js +3 -1
  410. package/dist/slices/rebuild/recovery.js +9 -8
  411. package/dist/slices/rebuild/remake-outdated.js +5 -5
  412. package/dist/slices/rebuild/repo.js +4 -3
  413. package/dist/slices/rebuild/review-promise.js +25 -0
  414. package/dist/slices/rebuild/review-redo.js +3 -2
  415. package/dist/slices/rebuild/runtime-admission.js +4 -3
  416. package/dist/slices/rebuild/runtime-agent-review.js +11 -5
  417. package/dist/slices/rebuild/runtime-animate.js +10 -9
  418. package/dist/slices/rebuild/runtime-article.js +7 -5
  419. package/dist/slices/rebuild/runtime-checkpoints.js +5 -4
  420. package/dist/slices/rebuild/runtime-document.js +11 -13
  421. package/dist/slices/rebuild/runtime-export-bed.js +8 -12
  422. package/dist/slices/rebuild/runtime-export-edit.js +8 -16
  423. package/dist/slices/rebuild/runtime-export-inputs.js +12 -11
  424. package/dist/slices/rebuild/runtime-export-short.js +9 -5
  425. package/dist/slices/rebuild/runtime-export.js +38 -15
  426. package/dist/slices/rebuild/runtime-figure-card.js +2 -1
  427. package/dist/slices/rebuild/runtime-image.js +8 -12
  428. package/dist/slices/rebuild/runtime-instructions.js +2 -0
  429. package/dist/slices/rebuild/runtime-keywords.js +59 -0
  430. package/dist/slices/rebuild/runtime-lines.js +2 -11
  431. package/dist/slices/rebuild/runtime-local.js +17 -22
  432. package/dist/slices/rebuild/runtime-narration-publication.js +2 -5
  433. package/dist/slices/rebuild/runtime-narration-reuse.js +9 -13
  434. package/dist/slices/rebuild/runtime-narration-text.js +13 -17
  435. package/dist/slices/rebuild/runtime-pictures.js +2 -4
  436. package/dist/slices/rebuild/runtime-piece-label.js +10 -6
  437. package/dist/slices/rebuild/runtime-plan.js +31 -5
  438. package/dist/slices/rebuild/runtime-provider.js +67 -25
  439. package/dist/slices/rebuild/runtime-publication.js +10 -9
  440. package/dist/slices/rebuild/runtime-review.js +39 -33
  441. package/dist/slices/rebuild/runtime-run.js +4 -1
  442. package/dist/slices/rebuild/runtime-shorts.js +31 -50
  443. package/dist/slices/rebuild/runtime-store.js +20 -10
  444. package/dist/slices/rebuild/runtime-subtitles.js +28 -25
  445. package/dist/slices/rebuild/runtime-voices.js +10 -16
  446. package/dist/slices/rebuild/runtime-youtube.js +14 -31
  447. package/dist/slices/rebuild/service-readiness.js +11 -3
  448. package/dist/slices/rebuild/transition-repo.js +6 -5
  449. package/dist/slices/rebuild/work-records.js +6 -0
  450. package/dist/slices/reruns/cascade.js +1 -2
  451. package/dist/slices/reruns/index.js +6 -9
  452. package/dist/slices/research/synthesis.js +3 -2
  453. package/dist/slices/reviews/external-model.js +4 -1
  454. package/dist/slices/reviews/external-repo.js +2 -1
  455. package/dist/slices/reviews/external-rows.js +2 -3
  456. package/dist/slices/reviews/holds.js +5 -4
  457. package/dist/slices/reviews/model.js +32 -11
  458. package/dist/slices/reviews/repo.js +2 -1
  459. package/dist/slices/reviews/rules.js +4 -3
  460. package/dist/slices/reviews/verdict.js +2 -1
  461. package/dist/slices/reviews/view.js +5 -2
  462. package/dist/slices/revisions/downloads.js +4 -5
  463. package/dist/slices/revisions/image-plan.js +1 -1
  464. package/dist/slices/revisions/mutation-assets.js +9 -5
  465. package/dist/slices/revisions/mutation-cues.js +2 -5
  466. package/dist/slices/revisions/mutations.js +3 -3
  467. package/dist/slices/revisions/repo.js +3 -1
  468. package/dist/slices/revisions/schema.js +1 -0
  469. package/dist/slices/revisions/view.js +20 -0
  470. package/dist/slices/run-cost/limits.js +5 -2
  471. package/dist/slices/run-cost/meter.js +12 -5
  472. package/dist/slices/run-cost/panel.js +8 -74
  473. package/dist/slices/run-cost/plan-readings.js +127 -0
  474. package/dist/slices/run-cost/plan-use.js +169 -0
  475. package/dist/slices/run-cost/pricing.js +3 -3
  476. package/dist/slices/run-cost/week.js +32 -4
  477. package/dist/slices/schedules/agenda.js +18 -7
  478. package/dist/slices/schedules/by-date.js +42 -0
  479. package/dist/slices/schedules/calendar.js +5 -0
  480. package/dist/slices/schedules/design-agenda.js +36 -0
  481. package/dist/slices/schedules/design-check.js +41 -0
  482. package/dist/slices/schedules/design-run.js +126 -0
  483. package/dist/slices/schedules/next-run.js +62 -0
  484. package/dist/slices/schedules/prepare.js +18 -2
  485. package/dist/slices/schedules/repo.js +30 -21
  486. package/dist/slices/schedules/rescore.js +35 -0
  487. package/dist/slices/schedules/scheduler.js +13 -3
  488. package/dist/slices/schedules/schema.js +57 -3
  489. package/dist/slices/schedules/score.js +107 -0
  490. package/dist/slices/schedules/service.js +57 -24
  491. package/dist/slices/schedules/topic-list.js +15 -0
  492. package/dist/slices/schedules/topic-scores.js +104 -0
  493. package/dist/slices/schedules/topics.js +53 -41
  494. package/dist/slices/settings/cli-paths.js +4 -6
  495. package/dist/slices/settings/first-run.js +8 -43
  496. package/dist/slices/settings/health.js +30 -15
  497. package/dist/slices/settings/key-test.js +1 -1
  498. package/dist/slices/settings/model-reach.js +3 -17
  499. package/dist/slices/settings/model.js +14 -2
  500. package/dist/slices/settings/playback.js +34 -23
  501. package/dist/slices/settings/probe-read.js +16 -0
  502. package/dist/slices/settings/repo.js +33 -0
  503. package/dist/slices/settings/tutorial.js +2 -2
  504. package/dist/slices/settings/voices.js +4 -12
  505. package/dist/slices/shorts/keep.js +2 -1
  506. package/dist/slices/shorts/pick.js +6 -18
  507. package/dist/slices/shorts/prompts.js +4 -14
  508. package/dist/slices/shorts/render.js +6 -2
  509. package/dist/slices/social/channel.js +44 -0
  510. package/dist/slices/social/defaults.js +17 -0
  511. package/dist/slices/social/due.js +36 -0
  512. package/dist/slices/social/extension.js +18 -0
  513. package/dist/slices/social/fit.js +115 -0
  514. package/dist/slices/social/limits.js +186 -0
  515. package/dist/slices/social/links.js +21 -0
  516. package/dist/slices/social/media.js +132 -0
  517. package/dist/slices/social/model.js +75 -0
  518. package/dist/slices/social/notice.js +19 -0
  519. package/dist/slices/social/pack.js +176 -0
  520. package/dist/slices/social/post-prompt.js +56 -0
  521. package/dist/slices/social/queue.js +31 -0
  522. package/dist/slices/social/repo.js +133 -0
  523. package/dist/slices/social/reshape.js +97 -0
  524. package/dist/slices/social/rules.js +5 -0
  525. package/dist/slices/social/schema.js +70 -0
  526. package/dist/slices/social/serve.js +51 -0
  527. package/dist/slices/social/service.js +129 -0
  528. package/dist/slices/social/settings.js +21 -0
  529. package/dist/slices/social/sources.js +114 -0
  530. package/dist/slices/social/state.js +110 -0
  531. package/dist/slices/social/text.js +149 -0
  532. package/dist/slices/storage/arrange.js +3 -1
  533. package/dist/slices/storage/assets.js +8 -10
  534. package/dist/slices/storage/backup-designs.js +74 -0
  535. package/dist/slices/storage/backup-export.js +8 -3
  536. package/dist/slices/storage/backup-format.js +10 -0
  537. package/dist/slices/storage/backup-import.js +22 -4
  538. package/dist/slices/storage/delete-project.js +6 -5
  539. package/dist/slices/storage/files-location.js +6 -8
  540. package/dist/slices/storage/layout.js +13 -2
  541. package/dist/slices/storage/model.js +3 -0
  542. package/dist/slices/storage/portable.js +17 -12
  543. package/dist/slices/storage/schema.js +2 -0
  544. package/dist/slices/storage/staging-refs.js +2 -1
  545. package/dist/slices/storage/staging.js +6 -9
  546. package/dist/slices/storage/trim.js +26 -9
  547. package/dist/slices/studio/calendar.js +7 -2
  548. package/dist/slices/studio/disclosure.js +4 -4
  549. package/dist/slices/studio/model.js +1 -1
  550. package/dist/slices/studio/pack.js +9 -8
  551. package/dist/slices/studio/pick.js +2 -11
  552. package/dist/slices/studio/plan.js +7 -16
  553. package/dist/slices/studio/queue.js +3 -14
  554. package/dist/slices/studio/releases.js +26 -0
  555. package/dist/slices/studio/settings.js +20 -57
  556. package/dist/slices/studio/videos.js +35 -4
  557. package/dist/slices/style-preview/render.js +37 -16
  558. package/dist/slices/style-preview/schema.js +14 -1
  559. package/dist/slices/style-preview/service.js +2 -1
  560. package/dist/slices/style-preview/settings.js +33 -5
  561. package/dist/slices/subtitles/captions.js +1 -1
  562. package/dist/slices/telemetry/collector-client.js +2 -4
  563. package/dist/slices/telemetry/flush.js +2 -4
  564. package/dist/slices/telemetry/model.js +0 -7
  565. package/dist/slices/telemetry/record.js +10 -3
  566. package/dist/slices/template-studio/anatomy-view.js +161 -0
  567. package/dist/slices/template-studio/anatomy.js +73 -0
  568. package/dist/slices/template-studio/bakeoff-make.js +225 -0
  569. package/dist/slices/template-studio/bakeoff-repo.js +83 -0
  570. package/dist/slices/template-studio/bakeoff.js +333 -0
  571. package/dist/slices/template-studio/budget.js +106 -0
  572. package/dist/slices/template-studio/cards.js +78 -0
  573. package/dist/slices/template-studio/checks.js +322 -0
  574. package/dist/slices/template-studio/document-sample.js +56 -0
  575. package/dist/slices/template-studio/edit.js +15 -0
  576. package/dist/slices/template-studio/for-all.js +161 -0
  577. package/dist/slices/template-studio/free-video.js +31 -0
  578. package/dist/slices/template-studio/free.js +176 -0
  579. package/dist/slices/template-studio/gate.js +40 -0
  580. package/dist/slices/template-studio/hidden.js +20 -0
  581. package/dist/slices/template-studio/jobs.js +79 -0
  582. package/dist/slices/template-studio/loudness.js +111 -0
  583. package/dist/slices/template-studio/make.js +40 -0
  584. package/dist/slices/template-studio/model.js +58 -0
  585. package/dist/slices/template-studio/pack-import.js +253 -0
  586. package/dist/slices/template-studio/pack-samples.js +60 -0
  587. package/dist/slices/template-studio/pack.js +207 -0
  588. package/dist/slices/template-studio/paid-view.js +66 -0
  589. package/dist/slices/template-studio/paid.js +355 -0
  590. package/dist/slices/template-studio/quote.js +155 -0
  591. package/dist/slices/template-studio/ready.js +104 -0
  592. package/dist/slices/template-studio/repo.js +134 -0
  593. package/dist/slices/template-studio/reviews-path.js +58 -0
  594. package/dist/slices/template-studio/runner.js +84 -0
  595. package/dist/slices/template-studio/save.js +236 -0
  596. package/dist/slices/template-studio/say-it-as.js +248 -0
  597. package/dist/slices/template-studio/schedule-gate.js +34 -0
  598. package/dist/slices/template-studio/schedule-price.js +32 -0
  599. package/dist/slices/template-studio/schedule-sample.js +91 -0
  600. package/dist/slices/template-studio/schema.js +243 -0
  601. package/dist/slices/template-studio/scope.js +124 -0
  602. package/dist/slices/template-studio/sections.js +176 -0
  603. package/dist/slices/template-studio/service.js +175 -0
  604. package/dist/slices/template-studio/status.js +191 -0
  605. package/dist/slices/template-studio/topic.js +223 -0
  606. package/dist/slices/thumbnail/by-llm.js +1 -1
  607. package/dist/slices/trash/designs.js +76 -0
  608. package/dist/slices/trash/model.js +13 -4
  609. package/dist/slices/trash/service.js +52 -2
  610. package/dist/slices/tutorials/library.js +3 -2
  611. package/dist/slices/uploads/repo.js +37 -1
  612. package/dist/slices/uploads/rules.js +3 -2
  613. package/dist/slices/video/ass-text.js +17 -0
  614. package/dist/slices/video/audio-export.js +2 -64
  615. package/dist/slices/video/edit-list.js +2 -2
  616. package/dist/slices/video/edit-settings.js +1 -1
  617. package/dist/slices/video/encoding.js +169 -0
  618. package/dist/slices/video/ffmpeg.js +23 -21
  619. package/dist/slices/video/figure-card.js +1 -15
  620. package/dist/slices/video/plan.js +2 -1
  621. package/dist/slices/video/slideshow.js +43 -18
  622. package/dist/slices/voices/attribution.js +3 -2
  623. package/dist/slices/voices/model.js +9 -8
  624. package/dist/slices/voices/palette.js +0 -3
  625. package/dist/slices/voices/script.js +2 -1
  626. package/dist/slices/youtube/answer.js +4 -16
  627. package/dist/slices/youtube/edits-repo.js +3 -12
  628. package/dist/tutorials/AI-CLIs.md +25 -25
  629. package/dist/tutorials/Agents-MCP.md +34 -33
  630. package/dist/tutorials/Assistant.md +42 -0
  631. package/dist/tutorials/Backups.md +7 -7
  632. package/dist/tutorials/Calendar.md +17 -25
  633. package/dist/tutorials/Cast-Library.md +19 -19
  634. package/dist/tutorials/Channels.md +42 -35
  635. package/dist/tutorials/Costs-and-Run-Cost.md +38 -40
  636. package/dist/tutorials/Create-Article.md +114 -0
  637. package/dist/tutorials/Create-Extras.md +112 -0
  638. package/dist/tutorials/Create-Images.md +165 -0
  639. package/dist/tutorials/Create-Narration.md +178 -0
  640. package/dist/tutorials/Create-Overview.md +244 -0
  641. package/dist/tutorials/Create-Video-and-Style.md +144 -0
  642. package/dist/tutorials/Docker.md +3 -3
  643. package/dist/tutorials/Document-Themes.md +32 -32
  644. package/dist/tutorials/Editing-a-Project.md +94 -94
  645. package/dist/tutorials/FAQ.md +18 -18
  646. package/dist/tutorials/First-Launch-and-Welcome.md +50 -64
  647. package/dist/tutorials/Home-and-Projects.md +115 -71
  648. package/dist/tutorials/Home.md +33 -33
  649. package/dist/tutorials/Install.md +14 -13
  650. package/dist/tutorials/Intros-and-Outros.md +33 -34
  651. package/dist/tutorials/Keyboard-Shortcuts-and-Command-Palette.md +62 -58
  652. package/dist/tutorials/Keywords-Slopify-Fills.md +87 -0
  653. package/dist/tutorials/Models.md +53 -21
  654. package/dist/tutorials/Multiple-Voices.md +41 -40
  655. package/dist/tutorials/Narration-Aliases-and-Glossary.md +14 -14
  656. package/dist/tutorials/Notifications.md +27 -17
  657. package/dist/tutorials/Other-Languages.md +15 -15
  658. package/dist/tutorials/PDF-Documents.md +38 -29
  659. package/dist/tutorials/Posting-to-Social-Sites.md +121 -0
  660. package/dist/tutorials/Project-Page.md +118 -120
  661. package/dist/tutorials/Prompts-and-Templates.md +84 -0
  662. package/dist/tutorials/Prompts.md +48 -44
  663. package/dist/tutorials/Providers-and-Keys.md +105 -98
  664. package/dist/tutorials/Publishing-to-YouTube.md +31 -31
  665. package/dist/tutorials/Recovery-and-Retries.md +31 -31
  666. package/dist/tutorials/Remote-Access.md +63 -0
  667. package/dist/tutorials/Reviews-and-Checkpoints.md +98 -90
  668. package/dist/tutorials/Schedules.md +46 -27
  669. package/dist/tutorials/Settings-Reference.md +194 -174
  670. package/dist/tutorials/Shorts.md +34 -33
  671. package/dist/tutorials/Start-at-Login.md +3 -3
  672. package/dist/tutorials/Studio-Extension.md +22 -24
  673. package/dist/tutorials/Template-Studio.md +128 -0
  674. package/dist/tutorials/Templates.md +51 -77
  675. package/dist/tutorials/Trash.md +4 -4
  676. package/dist/tutorials/Troubleshooting.md +44 -44
  677. package/dist/tutorials/Uninstalling-and-Moving.md +5 -5
  678. package/dist/tutorials/Updating-and-Patch-Notes.md +18 -18
  679. package/dist/tutorials/Video-Editing.md +34 -34
  680. package/dist/tutorials/Where-Your-Files-Live.md +10 -10
  681. package/dist/tutorials/YouTube-Description.md +26 -26
  682. package/dist/tutorials/Your-First-Short.md +35 -35
  683. package/dist/tutorials/_Sidebar.md +19 -14
  684. package/dist/updater/work-in-progress.js +42 -12
  685. package/dist/web/assets/index-BNftKQrA.css +1 -0
  686. package/dist/web/assets/index-Cpa58woP.js +459 -0
  687. package/dist/web/assets/pdf-BKh8f7R6.js +56 -0
  688. package/dist/web/assets/pdf.worker.min-BmVo14Nb.mjs +28 -0
  689. package/dist/web/assets/pdf.worker.min-D7i8o3wR.js +1 -0
  690. package/dist/web/index.html +2 -2
  691. package/package.json +6 -2
  692. package/dist/slices/article/provided-entries.js +0 -66
  693. package/dist/slices/article/run.js +0 -145
  694. package/dist/slices/images/run.js +0 -234
  695. package/dist/slices/narration/legacy-plan.js +0 -58
  696. package/dist/slices/narration/run.js +0 -270
  697. package/dist/slices/rebuild/runtime-actions.js +0 -90
  698. package/dist/slices/research/run.js +0 -224
  699. package/dist/slices/subtitles/prepare.js +0 -194
  700. package/dist/slices/subtitles/transcript.js +0 -34
  701. package/dist/slices/thumbnail/run.js +0 -219
  702. package/dist/slices/video/audio-inputs.js +0 -33
  703. package/dist/slices/video/reuse-audio.js +0 -62
  704. package/dist/slices/video/run.js +0 -78
  705. package/dist/slices/video/write-export.js +0 -158
  706. package/dist/slices/video/write-subtitles.js +0 -59
  707. package/dist/tutorials/Library-Overview.md +0 -76
  708. package/dist/tutorials/Play-Images.md +0 -161
  709. package/dist/tutorials/Play-Narration.md +0 -167
  710. package/dist/tutorials/Play-Outputs.md +0 -109
  711. package/dist/tutorials/Play-Overview.md +0 -227
  712. package/dist/tutorials/Play-Title-and-Article.md +0 -136
  713. package/dist/tutorials/Play-Video-and-Style.md +0 -143
  714. package/dist/web/assets/index-BadsoORk.css +0 -1
  715. package/dist/web/assets/index-D8LqNsCl.js +0 -326
  716. package/dist/web/assets/pdf-T7MCwjIv.js +0 -54
  717. package/dist/web/assets/pdf.worker.min-Dswkl-cV.mjs +0 -29
  718. package/dist/web/assets/pdf.worker.min-zC6nfbxG.js +0 -1
@@ -1,285 +1,305 @@
1
1
  # Settings Reference
2
2
 
3
- Every section of Settings, what each control does and its default. Sections with a page of their own are summarised here and linked for the details.
3
+ Every page of Settings, what each control does and its default. Pages with a tutorial of their own are summed up here and linked for the details.
4
4
 
5
- **Where to find it:** **Settings** in the sidebar, or press `Ctrl+K` and run **Open settings** (or **Open Settings: <section>** for one section). Settings opens on **Connections → Providers**. The rail on the left has seven groups; a group with more than one section shows them as tabs across the top. On a phone the rail is a row of tabs you can scroll sideways. An old link to a section (`?section=backups`, for example) still opens where it went.
5
+ **Where to find it:** **Settings** in the rail, or press `Ctrl+K` and run **Open Settings** (or type a page's name, such as "voices"). `G` then `,` opens it too. Settings opens on **Keys & services**.
6
6
 
7
- ## Sections at a glance
7
+ Settings is one list of pages down the left, each named once: the name in the list is the page's title. The list comes in four runs with a little space between them: what makes the videos, how new videos are made and published, this computer, and Slopify itself. With only one channel, **Your channel** follows YouTube Studio and posting in the list: it opens the channel's own page (with two or more, **Channels** in the rail does). Each page's header says in one line what it holds. On a phone, a **Settings page** picker replaces the list. An old link to a page that was folded into another (`?section=backups`, `?section=template-studio`, `?section=channel-links`) opens the page that holds it now.
8
8
 
9
- | Group | Section | What it holds | Details |
10
- |---|---|---|---|
11
- | Connections | [Providers](#providers) | API keys, command-line tools, the system voice, health check | [Providers-and-Keys](Providers-and-Keys), [AI-CLIs](AI-CLIs) |
12
- | Connections | [Voices](#voices) | Voice IDs for narration | [Providers-and-Keys](Providers-and-Keys#add-a-voice) |
13
- | Connections | [Models](#models) | Model catalogue, retired models | [Models](Models) |
14
- | Connections | [Agents (MCP)](#agents-mcp) | The MCP address and setup lines for Claude Code and Codex, the last connection, what agents did | [Agents-MCP](Agents-MCP) |
15
- | Production defaults | [Production defaults](#production-defaults) | Silence gap, volume levelling for new runs | This page |
16
- | Notifications | [Notifications](#notifications) | Browser and phone notifications | [Notifications](Notifications) |
17
- | Publishing | [Channel links](#channel-links) | A pointer to each channel's own links | [Channels](Channels#channel-links) |
18
- | Publishing | [YouTube Studio](#youtube-studio) | Playlists per channel, the Studio extension's download and pairing | [Studio-Extension](Studio-Extension) |
19
- | Backup & storage | [Backup & storage](#backup--storage) | Your files folder, daily backups, export and import, disk space, samples | [Where-Your-Files-Live](Where-Your-Files-Live), [Backups](Backups) |
20
- | Backup & storage | [Trash](#trash) | Deleted items, kept 30 days | [Trash](Trash) |
21
- | General | [General](#general) | Light or dark, and starting Slopify when you log in | [Start-at-Login](Start-at-Login) |
22
- | About | [About](#about) | Updates, what's new, links, the welcome screen | [Updating-and-Patch-Notes](Updating-and-Patch-Notes) |
23
- | About | [Usage](#usage) | This install's counters | [Costs-and-Run-Cost](Costs-and-Run-Cost#your-usage-totals-settings--usage) |
24
- | About | [Patch notes](#patch-notes) | What changed in each version | [Updating-and-Patch-Notes](Updating-and-Patch-Notes) |
9
+ ## Pages at a glance
25
10
 
26
- ## Download diagnostics
27
-
28
- At the top right of every Settings section.
29
-
30
- | Control | What it does |
31
- |---|---|
32
- | **Download diagnostics** | Saves `slopify-diagnostics.json`: the Slopify version, your system and Node version, which providers are set up or found, the project count and the model catalogue's state. It never holds your keys, prompts or project content. Attach it to a bug report. |
33
-
34
- You can also press `Ctrl+K` and run **Download diagnostics** from anywhere in Settings.
35
-
36
- ## General
37
-
38
- "How Slopify looks and how it starts on this computer."
39
-
40
- ### Appearance
41
-
42
- | Control | What it does | Default |
11
+ | Page | What it holds | Details |
43
12
  |---|---|---|
44
- | **Appearance** | **System**, **Dark** or **Light** colours for Slopify on this computer. System follows your operating system and changes with it. It changes at once and does not affect your videos. | System |
45
-
46
- ### Start at login
47
-
48
- | Control | What it does | Default |
49
- |---|---|---|
50
- | **Start Slopify when I log in** | Slopify starts in the background when you log in, without opening a browser tab; open it from your bookmark. It uses your account's own start-up list, so no administrator password is needed, and turning it off removes exactly what it added. | Off |
51
-
52
- In Docker, this section only shows whether Docker starts at login ("Starts with Docker: yes / no / unknown"), when the installer checked, and where to change that. With Docker Desktop it names Docker Desktop's own setting: Docker Desktop → Settings → General → **Start Docker Desktop when you sign in to your computer**. Slopify starts whenever Docker does and never changes Docker's own settings. See [Start-at-Login](Start-at-Login).
53
-
54
- ## Providers
55
-
56
- "Keys stay on this machine and go only to their provider. Readiness is checked again before each run."
13
+ | [Keys & services](#keys--services) | What writes, reads aloud and draws your videos: keys, sign-in tools, the system voice, the check of every service | [Keys and Services](Providers-and-Keys), [AI CLIs](AI-CLIs) |
14
+ | [Voices](#voices) | The voices you can pick for narration, and their pronunciation | [Keys and Services](Providers-and-Keys#add-a-voice) |
15
+ | [Models](#models) | Which models work with your keys and sign-ins, the model list, retired models | [Models](Models) |
16
+ | [Production defaults](#production-defaults) | The silence gap, the caption timing model, volume levelling for new runs, how this computer encodes videos, the PDF look, what template samples may spend | This page |
17
+ | [Notifications](#notifications) | Browser notifications, run sounds, a notification URL, the weekly report | [Notifications](Notifications) |
18
+ | [YouTube Studio and posting](#youtube-studio-and-posting) | Playlists, upload lead time, the Studio extension's pairing and install | [Studio Extension](Studio-Extension), [Posting to Social Sites](Posting-to-Social-Sites) |
19
+ | [Backup & storage](#backup--storage) | Daily backup, your files folder, export and import, disk space, sample projects | [Where Your Files Live](Where-Your-Files-Live), [Backups](Backups) |
20
+ | [Trash](#trash) | What you deleted, to bring back or remove for good | [Trash](Trash) |
21
+ | [General](#general) | Light or dark, and starting Slopify when you log in | [Start at Login](Start-at-Login) |
22
+ | [Remote access](#remote-access) | Opening Slopify on your phone or laptop through Tailscale | [Remote Access](Remote-Access) |
23
+ | [AI agents](#ai-agents) | Letting Claude Code or Codex on this computer run Slopify | [Agents (MCP)](Agents-MCP) |
24
+ | [About](#about) | Your version, updates, where to get help, Download diagnostics | [Updating and Patch Notes](Updating-and-Patch-Notes) |
25
+ | [Usage](#usage) | What this computer made | [Costs and Run Cost](Costs-and-Run-Cost#your-usage-totals-settings--usage) |
26
+ | [What's new](#whats-new) | What changed in each version | [Updating and Patch Notes](Updating-and-Patch-Notes) |
27
+
28
+ ## Keys & services
29
+
30
+ "What writes, reads aloud and draws your videos. Keys stay on this computer."
57
31
 
58
32
  | Control | What it does |
59
33
  |---|---|
60
- | Provider lists (**Text**, **Speech**, **Images**) | Every supported provider with its state and kind (**Command line**, **Built in, no key** or **API key**). Pick one to open its setup. |
61
- | **<Provider> API key** and **Save** | Stores a key on this computer only. Never in backups or exports. |
62
- | **Test** | Checks a pasted key before you save it (without storing it), or the saved key when the field is empty, with the cheapest harmless call. Nothing is billed. |
63
- | **System voice** | Shows the speech program found on this computer and its voices, or what to install, with **Add a system voice**. See [the system voice](Providers-and-Keys#the-system-voice). |
64
- | **Remove** | Deletes the saved key after you confirm with **Remove key**. |
65
- | **Where to get a key** | The provider's own sign-up, key and billing pages, with the permissions a key needs. |
66
- | **Change path** / **Executable path** / **Save path** | Where a command-line tool is. Blank finds it on PATH. Shows **Managed on host** in Docker. |
67
- | **Check all** | Checks every tool's sign-in, the system voice, every saved key, whether each chosen model is still offered and reachable with your key (**Model reachable**). Results show under **Health check**. |
68
- | **Check again** | On one provider's health row: checks that provider alone. |
69
-
70
- On a first launch you may also see the welcome message about command-line tools that were found, with **Got it** to hide it. Full details: [Providers-and-Keys](Providers-and-Keys) and [AI-CLIs](AI-CLIs).
34
+ | **Article**, **Narration**, **Images** | One line each saying whether your videos have that part now (**Ready**, **No key** or **No voice saved**) and why, with **Set up a voice service** (and the like) or **Save a voice** while it is not ready. |
35
+ | **Check every service** | Checks every tool's sign-in, the system voice, every saved key, and whether each chosen model is still offered and reachable with your key. The result lists each service that needs something, with **Check again**, then one line of the ready ones and one of those not used anywhere. The line beside it says when it last checked. |
36
+ | **Writing services**, **Voice services**, **Image services** | Every supported service with how it connects (**API key**, **Sign-in** or **Built in**) and its state (**Ready**, **No key**, **Not found**, **Signed out**, **Needs fixing**, **Not installed**). Pick one to open its setup beside the list on a wide window, or under its own row. |
37
+ | **<Service> API key** and **Save** | Stores a key on this computer only, sent only to that service, never in backups or exports. |
38
+ | **Test the key (free)** | Checks a pasted key before you save it (without storing it), or the saved key, with the cheapest harmless call. Nothing is billed. |
39
+ | **Remove the key** | Deletes the saved key after you confirm. |
40
+ | **Where to get a key** | The service's own sign-up, key and billing pages, with the permissions a key needs. |
41
+ | **Change path** / **Executable path** / **Save path** | Where a sign-in tool is. Blank finds it in the folders your terminal searches. Shows **Managed on host** in Docker. |
42
+ | **Add a system voice** | On **System voice**, once a speech program is found: opens Voices to pick one of its voices. |
43
+
44
+ Full details: [Keys and Services](Providers-and-Keys) and [AI CLIs](AI-CLIs).
71
45
 
72
46
  ## Voices
73
47
 
74
- "A wrong voice ID shows up when the audio stage uses it."
48
+ "The voices you can pick for narration."
75
49
 
76
50
  | Control | What it does | Rules |
77
51
  |---|---|---|
78
- | **Voice name** | The name you pick the voice by on Play and in Edit project. | Required, up to 200 characters. |
79
- | **Provider** | The speech provider the ID belongs to. | Speech providers only. |
80
- | **Voice ID** | The provider's own ID for the voice. For **System voice** and **Google Gemini** it is a list to pick from. | Required, up to 200 characters, unique per provider. |
81
- | **Languages** | Codes such as `es, de`. Play lists the voice only for projects in these languages. | Blank: asked from the provider when it can say; otherwise offered for every language. |
82
- | **Add voice** | Adds the voice to the table. | |
83
- | **Edit** (Languages cell) | Changes a voice's languages; **Save** or **Cancel**. | |
84
- | **Real person** | On for a voice cloned from, or made to sound like, a real person. Prepare upload then answers Yes to YouTube's AI use question for videos it narrates. | Default: off. |
85
- | **Remove** | Removes the voice after **Remove voice**. Projects keep the audio they made with it. | |
86
-
87
- See [Providers-and-Keys](Providers-and-Keys#add-a-voice).
52
+ | **Voice service** | The service the voice belongs to. | Voice services only. |
53
+ | **Voice** | The service's own voices to pick from, or **A voice of my own (paste its ID)**. For **System voice**, the voices found on this computer, with a filter and **Listen**. | Required, up to 200 characters, one per voice and service. |
54
+ | **Name** | How you pick it on Create. | Required, up to 200 characters. |
55
+ | **Languages it speaks** | Picked by name. Create lists the voice only for projects in these languages. | **Any language** until you pick one: asked from the service when it can say; otherwise offered for every language. |
56
+ | **Add voice** | Adds the voice to the list. The line beside it says what is still missing. | |
57
+ | **Speaks** (each voice's row) | Picks or removes the voice's languages; each change is saved at once. | |
58
+ | **Sounds like a real person** | On for a voice cloned from, or made to sound like, someone real. Copy for YouTube Studio then answers Yes to YouTube's question for videos it narrates. | Default: off. |
59
+ | **Listen** | Reads one sentence aloud: free with the system voice, one short paid request with a service that has a key. | |
60
+ | **Remove** | Removes the voice after you confirm. Projects keep the audio they made with it. | |
61
+ | **Pronunciation** | Opens the narration aliases: words the narrator says differently from how they are written. | |
62
+
63
+ A line above the table says when a voice's service has no key yet, with a button to add it. See [Keys and Services](Providers-and-Keys#add-a-voice) and [Narration Aliases and Glossary](Narration-Aliases-and-Glossary).
88
64
 
89
65
  ## Models
90
66
 
91
- "New models, prices and retirements, checked once a day."
67
+ "Which models work with your keys and sign-ins."
92
68
 
93
69
  | Control | What it does |
94
70
  |---|---|
95
- | **Check now** | Checks the published catalogue and OpenRouter's live list at once. Slopify also does this at start and once a day. |
96
- | **Replace with published file** | Overwrites your local catalogue with the published one, dropping your edits. The previous file is kept as `models.yaml.previous`. |
97
- | **Catalogue file**, **Verified**, **Last checked** | Where the file is, when its prices were verified, and what the last check changed. |
98
- | **Switch to <model>** | Replaces one retired model choice with the suggestion shown. |
99
- | **Switch all** | Replaces every retired choice that has a suggestion. |
100
-
101
- Templates and schedules that pick a retired model are also flagged on their own rows, with the same **Switch to <model>**. See [Models](Models).
71
+ | **Models that work for you** | One row per service with a key or sign-in: how many of its models work, how many are listed, when it was last checked and what checks cost. Pickers show working models first. |
72
+ | **Check models** (per service) | Sends each of that service's models one tiny request to learn whether it works for your key or sign-in. When that costs money the price is shown first and nothing is sent until you confirm. See [Models](Models#models-that-work-for-you). |
73
+ | **Automatic checks** | **Free and near-free checks only** (default): checks that cost nothing or well under a tenth of a cent run when a key is added and once a week. **Off: only when I choose Check models**. Images are never checked by themselves. See [Models](Models#automatic-checks). |
74
+ | **New for you** | Models that started working for you since the first check, each with **Dismiss**. |
75
+ | Retired models | Templates, schedules and drafts that pick a retired model, each with **Switch to <model>**, and **Switch all**. |
76
+ | **Model list** → **Check for new models** | Checks the published list of models, prices and retirements at once. Slopify also does this at start and once a day; the line says when and what changed. |
77
+ | **Catalog file** → **Replace with the published file** | Where the local copy of the published list is, and when it was published. Replacing it drops your edits; the old file is kept beside it. |
102
78
 
103
- ## Agents (MCP)
104
-
105
- "Let an AI agent on this computer, such as Claude Code or Codex, run Slopify."
106
-
107
- | Control | What it does |
108
- |---|---|
109
- | **MCP address** | This install's address with `/mcp`, for example `http://127.0.0.1:6969/mcp`. No token: only requests from a web page at another address are refused. |
110
- | **Claude Code** → **Copy** | Copies `claude mcp add --transport http slopify <address>`. Run it once in a terminal. |
111
- | **Codex** → **Copy** | Copies the `[mcp_servers.slopify]` lines. Add them to `~/.codex/config.toml`. |
112
- | Last connected | When an agent last connected, or "No agent has connected yet." |
113
- | **What agents did** | The latest 20 changes agents made, with the project or schedule and the time. |
114
-
115
- There is nothing to turn on: the address works whenever Slopify runs. See [Agents (MCP)](Agents-MCP).
79
+ See [Models](Models).
116
80
 
117
81
  ## Production defaults
118
82
 
119
- "How new runs pace the narration and level the volume, and which model times English captions."
83
+ "How new videos sound and are encoded, and what template samples may spend."
120
84
 
121
85
  ### Silence between segments
122
86
 
123
87
  | Control | What it does | Default / range |
124
88
  |---|---|---|
125
- | **Silence between segments** | Seconds of quiet between the intro and the narration, and between the narration and the outro, in every new video, unless Play sets a different gap for one video. It only matters when an intro or outro is set; 0 runs them together. Type a whole number and choose **Save**. | 3 seconds, 0 to 30 |
89
+ | **Silence between segments** | Seconds of quiet between the intro and the narration, and between the narration and the outro, in every new video, unless Create sets a different gap for one video. It only matters when an intro or outro is set; 0 runs them together. Type a whole number and press **Save**. | 3 seconds, 0 to 30 |
126
90
 
127
- Videos already started keep their own gap. A value that is not a whole number from 0 to 30 is refused with "The silence gap is a whole number of seconds between 0 and 30." See [Intros-and-Outros](Intros-and-Outros).
91
+ Videos already started keep their own gap. A value that is not a whole number from 0 to 30 is refused. See [Intros and Outros](Intros-and-Outros).
128
92
 
129
- ### Level the volume for new runs
93
+ ### Caption timing model
130
94
 
131
- | Control | What it does | Default / range |
95
+ | Control | What it does | Default |
132
96
  |---|---|---|
133
- | **Level the volume for new runs** | Whether a new run on Play (and a template or quick short) starts with **Level the volume** on. On evens out every narration piece and sets the finished files to a standard loudness. | On |
134
- | **Video volume** | How loud the long video and shorts are, in dB from the recommended -14 LUFS (the level YouTube and Spotify play at). Type dB or a percentage. Peaks stay under -1.5 dBTP. | 0 dB (-14 LUFS); -10 dB to +4 dB (32% to 158%) |
135
- | **Audio files volume** | How loud the audio-only WAV and an audiobook's MP3 and M4B are, in dB from the recommended -18 LUFS. Peaks stay under -3 dBTP. | 0 dB (-18 LUFS); -10 dB to +4 dB |
97
+ | **Caption timing model** | The speech model that times English captions on this computer. The same model in three sizes: **Most accurate (378 MB, recommended)**, **Balanced (189 MB)** and **Smallest (95 MB, less accurate)**. Bigger hears the narration more accurately and, on most computers, also runs faster. | Most accurate |
136
98
 
137
- The volume fields show only while the switch is on. A project keeps what it started with; change it there in **Edit project**. Levelling runs on this computer and makes no API calls. Changes save as you make them.
99
+ The chosen model downloads once, the first time captions are timed (or when Slopify starts, unless `SLOPIFY_NO_MODEL_PREFETCH` is set), and is kept in `<data folder>/models/english-subtitles/`. A model already downloaded stays there when you switch, so switching back costs nothing. Smallest can mishear a line and stop a run where the narration is fine. Changing the model never marks finished captions outdated, and a timing that is already running finishes with the model it started with; the next one uses the new choice. It is a setting of this computer, not of a project. Other languages use their own model and are not affected. Changes save as you make them.
138
100
 
139
- ### Subtitle timing model
101
+ ### Level the volume for new runs
140
102
 
141
103
  | Control | What it does | Default / range |
142
104
  |---|---|---|
143
- | **Subtitle timing model** | The speech model that times English captions on this computer. The same model in three sizes: **Most accurate (378 MB, recommended)**, **Balanced (189 MB)** and **Smallest (95 MB, less accurate)**. Bigger hears the narration more accurately and, on most computers, also runs faster. | Most accurate |
105
+ | **Level the volume for new runs** | Whether a new run on Create (and a template or quick short) starts with **Level the volume** on. On evens out every narration piece and sets the finished files to a standard loudness. | On |
106
+ | **Video volume** | How loud the long video and shorts are, in dB from the loudness YouTube plays videos at (−14 LUFS). Type dB or a percentage. Peaks stay under −1.5 dBTP. | 0 dB; −10 dB to +4 dB |
107
+ | **Audio files volume** | How loud the sound-only WAV and an audiobook's MP3 and M4B are, in dB from the loudness audiobook shops ask for (−18 LUFS). Peaks stay under −3 dBTP. | 0 dB; −10 dB to +4 dB |
144
108
 
145
- The chosen model downloads once, the first time captions are timed (or when Slopify starts, unless `SLOPIFY_NO_MODEL_PREFETCH` is set), and is kept in `<data folder>/models/english-subtitles/`. A model already downloaded stays there when you switch, so switching back costs nothing. Smallest can mishear a line and stop a run with "Subtitles stopped matching the audio" where the narration is fine. Changing the model never marks finished subtitles outdated, and a timing that is already running finishes with the model it started with; the next one uses the new choice. It is a setting of this computer, not of a project. Other languages use their own model and are not affected. Changes save as you make them.
109
+ The volume fields show only while the switch is on. A project keeps what it started with; change it there in **Edit settings**. Levelling runs on this computer and makes no service calls. Changes save as you make them.
146
110
 
147
- ## Notifications
111
+ ### Encoding
148
112
 
149
- "When a run finishes, fails, or waits for you."
113
+ "How this computer turns videos and shorts into files. Changing these never marks anything outdated." Like the caption timing model, these belong to the computer, not a project: no project copies them, because they change how a video is made, not what it is. A video reads them once as it starts; one already being made finishes as it began. Changes save as you make them.
150
114
 
151
115
  | Control | What it does | Default |
152
116
  |---|---|---|
153
- | **Browser notifications** | Shows a notification from this browser while any Slopify tab is open, even in the background. Turning it on asks the browser's permission. Applies to this browser only. | Off |
154
- | **Send test notification** (beside the switch) | Shows a sample notification in this browser. | |
155
- | **Notification URL** | An address Slopify POSTs a short plain-text message to, with no tab open, for example `https://ntfy.sh/your-topic`. Each message is sent once, with a 5 second timeout. Empty turns it off. **Save** stores it; **Send test notification** sends a sample. | Empty |
117
+ | **Video encoder** | What turns the frames into the finished file. **Processor (x264)** is the one every computer has. **NVIDIA graphics card (NVENC)** encodes on the card at its highest-quality settings (preset p7, tune hq, constant quality) and leaves the processor for the rest. It is offered only when Slopify finds an ffmpeg with NVENC (its own, else the `ffmpeg` on your `PATH` or `/usr/bin/ffmpeg`) that passes a tiny test encode; otherwise the line under it says "No working NVIDIA graphics card was found on this computer" (or that none was found) and that videos are encoded on the processor, with what the test printed under **Details**. | Processor (x264) |
118
+ | **Clip encoding** | How hard the processor works on each image's clip before the captions are drawn over them. **Thorough** is x264's medium preset; **Fast** is its veryfast preset at the same quality setting (CRF 16), about half the processor time for a slightly softer picture. Only the clips under captions in the video change. Has no effect with the NVIDIA encoder. | Thorough |
119
+ | **Encoding priority** | **Background (your other programs come first)** runs every ffmpeg of a video, short or audio file, its volume mastering included, below normal priority, and that of the style preview, template samples, designs and posts' pictures too (nice 10 on Linux and macOS, below-normal on Windows): your browser, games and other programs take the processor first and the video gets what is left. **Normal** competes with them as an equal. The finished video is the same either way. | Background |
120
+
121
+ What they cost and give, measured on two minutes of a real project with captions in the video (32-core processor, RTX 5080): **Fast** halved the clips' processor time and cut the whole video's by 30% (10 to 17% less waiting), for a slightly softer picture (0.9 VMAF less) at the same file size. **NVIDIA** cut the processor time by 80% and the waiting by a quarter (the zoom and pan on each image still runs on the processor), at about the same file size, but with a visibly softer picture than x264 (about 2.5 VMAF less): pick it when keeping the computer free matters more than the last bit of sharpness. **Background** makes no difference to the file at all.
122
+
123
+ If the NVIDIA encoder is chosen but stops working (a driver update, the card busy elsewhere), the video is encoded on the processor instead, never failed, and the project's Video part says so, with the reason and where to change it. Slopify checks for the card once per start; restart Slopify after installing a driver or an ffmpeg with NVENC.
124
+
125
+ Agents read and change these with `get_settings` and `update_settings`, and check the card with `get_video_encoders`.
126
+
127
+ ### PDF look
156
128
 
157
- Messages hold the project title and what happened, never your keys. See [Notifications](Notifications).
129
+ "The fonts, colors and page layout of the PDFs Slopify makes." **Edit PDF looks** opens the PDF looks. See [PDF looks](Document-Themes).
158
130
 
159
- ## Channel links
131
+ ### Template samples
160
132
 
161
- "The links a YouTube description's {{Name}} placeholders fill from."
133
+ "What a template's samples may spend while you edit it."
162
134
 
163
- Each channel now keeps its own links, on its **Brand** tab under **Channel links**. This section only says so, with **Open the default channel's links**. Links saved here in an earlier version still fill the default channel's descriptions until you save its Brand tab. See [Channels](Channels#channel-links) and [YouTube-Description](YouTube-Description).
135
+ | Control | What it does | Default / range |
136
+ |---|---|---|
137
+ | **Video templates: daily budget** | The most video templates' samples, **Compare models** and **Make samples for all** may spend in one day, in US dollars, counted from midnight on this computer; one over it waits for tomorrow or a higher budget. At $0.00 no sample spends money. The line under it says what the samples spent today and what is left. Type an amount and press **Save video budget**. | $2.00, $0 to $1,000 |
138
+ | **Poster templates: daily budget** | The most the samples of poster templates (Templates → Poster templates) may spend in one day, in US dollars. It is separate from the budget above. Type an amount and press **Save poster budget**. | $1.00, $0 to $1,000 |
139
+ | **Let samples use my Claude Code or Codex plan** | Whether those samples, poster samples included, may run steps on your Claude Code or Codex plan. Plan usage has no dollar price, so the budgets can't limit it: off, a sample that needs your plan waits until you turn this on; on, it runs on your plan whatever the budget. The line under the switch says which. | Off |
140
+ | **Samples for all templates** → **Make samples for all** | Makes every template's sample for its newest version, with the estimated cost on the button. | |
164
141
 
165
- ## YouTube Studio
142
+ A sample that would go over the budget is not made: the template's editor shows it waiting, with what it costs and what is left of today's budget, and makes it once there is room again. A sample with a step on a Claude Code or Codex plan waits the same way while **Let samples use my Claude Code or Codex plan** is off. Only samples count; your projects and posters never do. See [Edit template](Template-Studio).
166
143
 
167
- "The playlists upload packs offer, and the Studio extension's pairing."
144
+ ## Notifications
145
+
146
+ "When a run finishes, fails or waits for you." Under **Browser and phone**: when a run finishes, fails or waits for your review, Slopify sends the project's title and a link, never your keys.
147
+
148
+ | Control | What it does | Default |
149
+ |---|---|---|
150
+ | **Notify me in this browser** | Shows a notification on this computer when a run finishes, fails or waits for you, while any Slopify tab is open, even in the background. Turning it on asks the browser's permission. Applies to this browser at once. Once it is on, **Send test notification** beside it shows a sample. | Off |
151
+ | **Play a sound when a run starts and ends** | A chime when a run starts and a different one when it ends; the end sound also plays when a run fails or waits for you. You hear them in this browser while a Slopify tab is open and has been clicked once. **Hear the start sound** and **Hear the end sound** play them. Applies to this browser at once. | On |
152
+ | **Notification URL** | An address Slopify sends a short plain-text message to, with no tab open, for example an ntfy topic on your phone. Saved only when you press **Save**; once there is an address, **Send test notification** sends a sample. Empty turns it off. | Empty |
153
+ | **Weekly report** | Each Monday from 09:00, what was made, what failed and what it cost last week go to the Notification URL. | Off |
154
+
155
+ See [Notifications](Notifications).
156
+
157
+ ## YouTube Studio and posting
158
+
159
+ "The browser extension that fills YouTube Studio, release times and playlists." Slopify never uploads or publishes: a finished project's **Copy for YouTube Studio** lists everything Studio asks for, with Copy buttons, and the optional Slopify Studio browser extension fills Studio's upload dialog for you; you still press Publish.
168
160
 
169
161
  | Control | What it does | Default / limit |
170
162
  |---|---|---|
171
- | **Upload pack and extension** | Explains that Slopify never uploads or publishes: **Prepare upload** on a finished project lists everything Studio asks for, and the optional extension fills Studio's upload dialog from it. | |
172
- | **Playlists** | The YouTube playlists upload packs offer, each typed exactly as it is called in Studio. Pick **Every channel (default)** or one channel first: the default list is used by every channel without its own. **Add playlist** adds a row; **On by default** puts every project into it; **Remove** drops it; **Save playlists** stores the list. A project's **Prepare upload** changes which ones it goes into. | None; up to 20, each up to 150 characters |
173
- | **Extension pairing token** | A secret the Slopify Studio extension needs before it may read your upload packs. **Copy** it into the extension's options and press Pair there. | |
163
+ | **Playlists** | The YouTube playlists a project can go into, each typed exactly as it is called in Studio. Pick **Every channel (default)** or one channel first: the default list is used by every channel without its own. **Add playlist** adds a row; ticked ones are on for every project; **Remove** drops one; **Save playlists** stores the list. A project's **Copy for YouTube Studio** changes them for that project. | None; up to 20, each up to 150 characters |
164
+ | **Release times** | Each schedule sets when its videos and shorts go out, under **Edit** on Calendar → Schedules. | |
165
+ | **Upload lead time** | How many hours before release the upload should happen, so YouTube's copyright and ad checks finish while the video is still private. Type it and press **Save**. | |
166
+ | **Post and pin each video's comment** | Once the video is public, the extension posts its comment in your name and pins it. | Off |
167
+ | **Extension pairing token** | A secret the Slopify Studio extension needs before it may read your projects. **Copy** it into the extension and press Pair there. The line under it says whether an extension is paired. | |
174
168
  | **New pairing token** | Makes a fresh token, unpairs the extension until you paste the new one, and clears the uploads waiting for Studio. | |
175
- | **Install the Studio extension** | **Chrome, Edge, Brave** or **Firefox**, then **Download for Chrome** or **Download for Firefox**, with the three install steps. | |
169
+ | **Install the Studio extension** | **Chrome, Edge, Brave** or **Firefox** (the browser you open YouTube Studio in), then the install steps, with **Copy folder path**. Updates arrive in that folder by themselves. To fill posts on X, LinkedIn, Instagram, TikTok, Reddit or Bluesky too, press **Allow posting on** each site in the extension's options. | |
170
+ | **Links saved here before** | Shown only while links saved here before channels had their own still fill the default channel's descriptions. **Open <channel>'s links** goes to its **Name and look** tab; saving that tab moves them. | |
176
171
 
177
- See [Studio-Extension](Studio-Extension) and [Publishing-to-YouTube](Publishing-to-YouTube).
172
+ See [Studio Extension](Studio-Extension), [Publishing to YouTube](Publishing-to-YouTube), [Posting to Social Sites](Posting-to-Social-Sites) and [Channels](Channels#channel-links).
178
173
 
179
174
  ## Backup & storage
180
175
 
181
- "Daily backups, export and import, and what uses disk space." Its second tab is [Trash](#trash).
176
+ "Daily backups, export and import, and disk space."
177
+
178
+ ### Daily backup
179
+
180
+ | Control | What it does | Default / range |
181
+ |---|---|---|
182
+ | **Back up now** | Writes a backup at once, whether or not the daily backup is on. Also in `Ctrl+K`. | |
183
+ | **Back up automatically** | Turns the daily backup on or off. Each backup holds every project with its videos, so it can be many gigabytes. | Off |
184
+ | **Time of day** | When the daily backup runs, in this browser's time zone. A backup waits while videos are being made. | 03:00 |
185
+ | **Keep last** | How many of Slopify's own backups stay; the oldest beyond it are deleted. | 5, from 1 to 30 |
186
+ | **Folder** | Where backups go. Empty uses the Backups folder beside your projects. | Empty |
187
+
188
+ Each backup is the same file Export everything makes. See [Backups](Backups).
182
189
 
183
190
  ### Your files
184
191
 
185
192
  | Control | What it does |
186
193
  |---|---|
187
- | **Your files** | Where your projects, automatic backups and exports live; new installs use `Documents/Slopify`. The database, settings, keys and logs stay in Slopify's hidden data folder. |
194
+ | **Your files** | Where your projects, automatic backups and exports are kept, with the **Projects** and **Automatic backups** folders. Your keys, settings and the database stay in Slopify's own folder. |
195
+ | **Move to Documents/Slopify** | Shown when your files are elsewhere: moves them to the usual place. |
188
196
  | **Open folder** | Opens the folder on this computer. |
189
- | **Choose another folder** / **New folder** / **Move here** | Moves your files to another folder. Slopify copies every file, checks each copy, then switches, and keeps the old folder until you delete it. The new folder must be empty or not exist yet. It cannot start while a project is being made. |
197
+ | **Choose another folder** | Moves your files to another folder. Slopify copies every file, checks each copy, then switches, and keeps the old folder until you delete it. The new folder must be empty or not exist yet. It cannot start while a project is being made. |
190
198
 
191
- In Docker, this shows the command to run on the computer running Docker, with **Copy command**. See [Where-Your-Files-Live](Where-Your-Files-Live).
199
+ In Docker, this shows the command to run on the computer running Docker, with **Copy command**. See [Where Your Files Live](Where-Your-Files-Live).
192
200
 
193
201
  ### Export and import
194
202
 
195
203
  | Control | What it does |
196
204
  |---|---|
197
- | **Export everything** | Downloads one `.tar` file with every project (files and history), your library, templates, schedules, Play drafts, fonts, settings and usage. Never provider keys. Your browser's downloads show its progress; keep Slopify running until it finishes. |
198
- | **Import a backup** | Adds a `.tar` from Export everything (or a `.zip` from an older version's Export backup, up to 100 MB) to this install. It replaces nothing: projects already here are skipped, taken names arrive as "(imported)" and schedules arrive paused. Running projects must finish or pause first. A summary lists what was added and skipped. |
199
- | **Clear leftover files** | Deletes files in the projects folder that no project records any more, and uploaded files nothing uses. Your projects, outputs and library are never touched. Slopify also does this at each start. |
205
+ | **Export everything** | Downloads one `.tar` file with every project (files and versions), your prompts, templates, schedules, drafts, fonts, settings and usage. Never your keys. Your browser's downloads show its progress; keep Slopify running until it finishes. |
206
+ | **Import a backup** | Adds a `.tar` from Export everything (or a `.zip` from an older version's export, up to 100 MB) to this install. It replaces nothing: projects already here are skipped, taken names arrive as "(imported)" and schedules arrive paused. Running projects must finish or pause first. A summary lists what was added and skipped. |
207
+ | **Clear leftover files** | Deletes files in the projects folder that no project records any more, and uploaded files nothing uses. Your projects, outputs, prompts and templates are never touched. Slopify also does this at each start. |
200
208
 
201
- After importing, enter your keys again in Settings → Providers. You can also run **Export everything** from `Ctrl+K`. See [Backups](Backups).
209
+ After importing, add your keys again on Keys & services. You can also run **Export everything** from `Ctrl+K`. See [Backups](Backups).
202
210
 
203
211
  ### Disk space
204
212
 
205
213
  | Control | What it does |
206
214
  |---|---|
207
- | **Disk space** | What Slopify stores: the total, project files, staged uploads, and deleted projects still in the trash (freed when the trash removes them after 30 days, or with **Delete now**). |
208
- | Storage by project | Each project's size, split into outputs and working files, largest first. A finished project's page offers the same on its own (**Free space**, see [Project Page](Project-Page#free-space)). |
209
- | **Keep outputs only** | On a finished project, deletes the working files (narration parts, subtitle timing, render settings) and keeps the video, shorts, the images they show, thumbnail, article, description, document and your uploads. You confirm first. Changing the project later makes those files again, which takes time and provider credits. |
215
+ | **Disk space** | What Slopify stores: the total, project files and staged uploads, then what can be cleaned up, or "Nothing to clean up." |
216
+ | **Delete all old versions** | Shown when projects keep old versions' files: deletes them all after you confirm. |
217
+ | Storage by project | Each project's size, split into outputs and working files, largest first, with **Open** on a sample. A finished project's own **Free space** does the same for one project (see [Project Page](Project-Page#free-space)). |
218
+ | **Keep outputs only** | On a finished project, deletes the working files (narration pieces, caption timing, video settings) and keeps the video, shorts, the images they show, thumbnail, article, description, document and your uploads. You confirm first. Changing the project later makes those files again, which takes time and service credits. |
219
+ | **Delete old versions** | On a project with old versions: deletes their files. |
220
+ | **Restore samples** | Puts the three finished examples that come with Slopify (a narrated video, an audiobook and a podcast) back as they shipped. Your own copies of them are not touched. |
221
+
222
+ ## Trash
210
223
 
211
- ### Sample projects
224
+ "What you deleted, to bring back or remove for good." Deleted projects, prompts, intros and outros, templates, schedules and designs stay here for 30 days. Channels, cast members, PDF looks and episode summaries are deleted permanently and never come here.
212
225
 
213
226
  | Control | What it does |
214
227
  |---|---|
215
- | **Sample projects** | Lists the three samples that come with Slopify (a narrated video, an audiobook and a podcast), with **Open** for each one in your projects. |
216
- | **Restore samples** | Adds back any that were deleted and puts the others back as they shipped. Your own copies of them are not touched. |
217
-
218
- ### Daily backups
219
-
220
- "A daily copy of everything, in a folder you choose." On the Backup & storage tab.
228
+ | **Restore** | Puts an item back. If its name was taken meanwhile it comes back renamed, and a schedule comes back paused. |
229
+ | **Delete now** | Removes an item for good at once, freeing its space. You confirm first. |
230
+ | **Filter by kind** | Shows one kind of item, when there are several. |
231
+ | Ticks and **Select all** | Pick several items; **Restore selected** and **Delete selected** act on them. **Restore all** and **Empty trash** act on everything. |
221
232
 
222
- | Control | What it does | Default / range |
223
- |---|---|---|
224
- | **Back up now** | Writes a backup at once, whether or not the daily backup is on. Also in `Ctrl+K`. | |
225
- | **Back up automatically** | Turns the daily backup on or off. | Off |
226
- | **Time of day** | When the daily backup runs, in this browser's time zone. | 03:00 |
227
- | **Keep last** | How many of Slopify's own backups stay; older ones are deleted. | 5, from 1 to 30 |
228
- | **Folder** | Where backups go. Empty uses the Backups folder beside your projects. | Empty |
229
- | **Save** | Saves the four settings above. | |
233
+ See [Trash](Trash).
230
234
 
231
- Each backup is the same file Export everything makes and can be many gigabytes. See [Backups](Backups).
235
+ ## General
232
236
 
233
- ## Trash
237
+ "How Slopify looks and how it starts."
234
238
 
235
- "Deleted projects, prompts, templates and schedules, kept for 30 days." A tab of **Backup & storage**.
239
+ | Control | What it does | Default |
240
+ |---|---|---|
241
+ | **Appearance** | **System**, **Dark** or **Light** colors for Slopify on this computer. System follows your computer's light or dark setting and changes with it. Your videos are not affected. | System |
242
+ | **Start Slopify when I log in** | Slopify starts in the background when you log in, without opening a browser tab, so your bookmark always opens it. It uses your account's own start-up list, so no administrator password is needed, and turning it off removes exactly what it added. | Off |
236
243
 
237
- | Control | What it does |
238
- |---|---|
239
- | **Restore** | Puts an item back. If its name was taken meanwhile it comes back renamed, and a schedule comes back paused. |
240
- | **Delete now** | Removes an item for good at once, freeing its space. You confirm first. |
241
- | Checkboxes and **Select all** | Pick several items; **Restore selected** and **Delete selected** above the list act on them. **Restore all** and **Empty trash** act on everything. |
244
+ In Docker, **Start at login** only shows whether Docker starts at login, when the installer checked, and where to change that. With Docker Desktop it names Docker Desktop's own setting: Docker Desktop → Settings → General → **Start Docker Desktop when you sign in to your computer**. Slopify starts whenever Docker does and never changes Docker's own settings. See [Start at Login](Start-at-Login).
242
245
 
243
- Deleted projects, prompts, intros and outros, templates and schedules stay 30 days, then are removed for good. See [Trash](Trash).
246
+ ## Remote access
244
247
 
245
- ## Usage
248
+ "Open Slopify on your phone or laptop through Tailscale."
246
249
 
247
- "This machine only. The same counters, anonymised, feed slopify.stream."
250
+ | Control | What it does | Default |
251
+ |---|---|---|
252
+ | **Open on my other devices (Tailscale)** | Has the Tailscale already on this computer serve Slopify's page at `https://<computer>.<tailnet>.ts.net`, reachable only from devices signed in to your tailnet. Shows the address with **Copy address** and a QR code. Uses Tailscale Serve, never Funnel. Turning it off removes only the serve setting Slopify added. Off, the line says Slopify answers only on this computer. | Off |
253
+ | **Use port 8443** | Shown when another Tailscale serve setting already uses HTTPS port 443: gives Slopify its own address on another port and leaves yours alone. | |
254
+ | **Check again** | Asks Tailscale again after you fixed what the notice says. | |
248
255
 
249
- Shows **Videos made**, **Hours of audio**, **Images made**, **Tokens used** and **Projects**, then **Tokens by stage** by provider and model, and the machine ID and version. There are no controls. Money figures are on each project's **Run cost** tab and Home's **This week**. See [Costs-and-Run-Cost](Costs-and-Run-Cost).
256
+ See [Remote Access](Remote-Access).
250
257
 
251
- ## Patch notes
258
+ ## AI agents
252
259
 
253
- "What changed in each version of Slopify."
260
+ "Let Claude Code or Codex on this computer run Slopify for you." An agent can start and fix runs, edit your prompts and templates and answer AI checks set to Your own AI agent. It needs no key, like this page, and never uploads to YouTube. What it changes is marked by agent in the project's versions, in notifications and in the list below.
254
261
 
255
262
  | Control | What it does |
256
263
  |---|---|
257
- | **Latest version** | The newest notes, open. |
258
- | **Earlier versions** | Older versions, each opened with **Read**. |
264
+ | **Address for agents (MCP)** | This install's address with `/mcp`, for example `http://127.0.0.1:6969/mcp`. |
265
+ | **Claude Code** → **Copy** | Copies `claude mcp add --transport http slopify <address>`. Run it once in a terminal. |
266
+ | **Codex** → **Copy** | Copies the `[mcp_servers.slopify]` lines. Add them to `~/.codex/config.toml`. |
267
+ | Last connected | When an agent last connected, or "No agent has connected yet." |
268
+ | **What agents did** | The latest changes agents made, with the project or schedule and the time. |
259
269
 
260
- The notes ship with the app, so they work offline. After an update, the new version's notes open by themselves once; a fresh install skips that. On a major update the What's new tour shows instead and links here. `Ctrl+K` → **Show patch notes** opens this section. See [Updating-and-Patch-Notes](Updating-and-Patch-Notes).
270
+ There is nothing to turn on: the address works whenever Slopify runs. See [Agents (MCP)](Agents-MCP).
261
271
 
262
272
  ## About
263
273
 
264
- "Free and open source, running on your machine with your own keys."
274
+ "Your version, updates and where to get help."
265
275
 
266
276
  | Control | What it does |
267
277
  |---|---|
268
- | **Updates** | Points to the circular-arrows button (at the foot of the sidebar), which checks for a newer Slopify and installs it. A dot on it means an update is ready. If a video is being made, the update waits until it finishes, and you can cancel it meanwhile. Slopify restarts itself and the page reconnects. |
269
- | **What's new in this version** | Opens the patch notes for the version you are running. When this version has no notes of its own, it opens the newest ones. |
270
- | Links | GitHub (code, issues, releases), Patreon, Buy Me a Coffee, and "How I run a channel with it". |
278
+ | Version | The version you run and whether it is up to date. |
279
+ | **Check for updates** | Checks for a newer Slopify and installs it. **Help** at the foot of the rail does the same, and says while one is ready. If a video is being made, the update waits until it finishes, and you can cancel it meanwhile. Slopify restarts itself and the page reconnects. |
280
+ | **Read what's new** | Opens **What's new** for the version you are running. |
281
+ | **How I run a channel with it** | The maker's own story of running a channel with Slopify. |
282
+ | **Something wrong?** → **Download diagnostics** | Saves `slopify-diagnostics.json`: the Slopify version, your system and Node version, which services are set up or found, the project count and the state of the model list. It never holds your keys, prompts or project content. Attach it to a bug report. Also in `Ctrl+K`. |
283
+
284
+ "Free. Your keys, your machine." Slopify is made by Gent Bajko under the Apache License 2.0. The welcome screen (what this computer can do, the samples, a first short) opens again from **Help** → **Tutorials** → **Welcome screen** or `Ctrl+K` → **Open the welcome screen**. See [Updating and Patch Notes](Updating-and-Patch-Notes).
285
+
286
+ ## Usage
287
+
288
+ "What this computer made. Slopify always adds these counts, anonymously, to slopify.stream's totals; there is no switch."
289
+
290
+ Shows **Videos made**, **Hours of narration**, **Images made**, **AI text read and written** (in tokens, pieces of about three quarters of a word) and **Projects**, then **AI text by part of the video**, read and written by service and model, and this computer's random number and the version. Before anything is made it says **Nothing made yet** with **Make your first video**. There are no other controls. Money figures are on each project's cost line (**See the breakdown**) and Home's **This week**. See [Costs and Run Cost](Costs-and-Run-Cost).
271
291
 
272
- The welcome screen (what this computer can do, the samples, a first short) opens again from **Help → Tutorials → Welcome screen** or `Ctrl+K` → **Open the welcome screen**.
292
+ ## What's new
273
293
 
274
- Slopify is made by Gent Bajko under the Apache License 2.0. See [Updating-and-Patch-Notes](Updating-and-Patch-Notes).
294
+ "What changed in each version." Pick a **Version** to read its notes; yours is marked. The notes ship with the app, so they work offline. After an update, the new version's notes open by themselves once; a fresh install skips that. On a major update the What's new tour shows instead and links here. `Ctrl+K` → **What's new** opens this page. See [Updating and Patch Notes](Updating-and-Patch-Notes).
275
295
 
276
296
  ## Related pages
277
297
 
278
- - [Providers-and-Keys](Providers-and-Keys)
279
- - [AI-CLIs](AI-CLIs)
298
+ - [Keys and Services](Providers-and-Keys)
299
+ - [AI CLIs](AI-CLIs)
280
300
  - [Models](Models)
281
- - [Costs-and-Run-Cost](Costs-and-Run-Cost)
282
- - [Keyboard-Shortcuts-and-Command-Palette](Keyboard-Shortcuts-and-Command-Palette)
283
- - [Where-Your-Files-Live](Where-Your-Files-Live)
301
+ - [Costs and Run Cost](Costs-and-Run-Cost)
302
+ - [Keyboard Shortcuts and Command Palette](Keyboard-Shortcuts-and-Command-Palette)
303
+ - [Where Your Files Live](Where-Your-Files-Live)
284
304
  - [Backups](Backups)
285
305
  - [Troubleshooting](Troubleshooting)