@gentbajko/slopify 4.0.0 → 4.2.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.
- package/dist/adapters/account-limits.js +1 -1
- package/dist/adapters/alignment/audio.js +1 -1
- package/dist/adapters/alignment/cache.js +1 -1
- package/dist/adapters/alignment/multilingual.js +2 -1
- package/dist/adapters/alignment/runner.js +1 -1
- package/dist/adapters/alignment/worker.js +1 -1
- package/dist/adapters/explain.js +10 -9
- package/dist/adapters/host-cli/index.js +2 -1
- package/dist/adapters/host-cli/transport.js +2 -1
- package/dist/adapters/image/bytes.js +2 -1
- package/dist/adapters/image/codex.js +6 -5
- package/dist/adapters/image/fal.js +4 -3
- package/dist/adapters/image/google.js +3 -2
- package/dist/adapters/image/models.js +2 -2
- package/dist/adapters/image/openai.js +2 -1
- package/dist/adapters/image/replicate.js +3 -2
- package/dist/adapters/image/video.js +2 -1
- package/dist/adapters/key-probes.js +1 -1
- package/dist/adapters/llm/antigravity-models.js +1 -1
- package/dist/adapters/llm/antigravity.js +7 -6
- package/dist/adapters/llm/assistant-cli.js +1 -1
- package/dist/adapters/llm/claude-code-models.js +1 -1
- package/dist/adapters/llm/claude-code.js +3 -2
- package/dist/adapters/llm/codex-models.js +1 -1
- package/dist/adapters/llm/document-workspace.js +3 -2
- package/dist/adapters/llm/image-workspace.js +3 -2
- package/dist/adapters/llm/openrouter.js +2 -1
- package/dist/adapters/llm/run-cli.js +3 -2
- package/dist/adapters/tts/gemini.js +2 -1
- package/dist/adapters/tts/inworld-async.js +2 -1
- package/dist/adapters/tts/inworld.js +3 -2
- package/dist/adapters/tts/system.js +2 -1
- package/dist/catalog/registry.js +20 -13
- package/dist/catalog/schema.js +2 -1
- package/dist/catalog/validate.js +5 -2
- package/dist/edge/http/actions.js +7 -7
- package/dist/edge/http/app.js +5 -3
- package/dist/edge/http/assistant.js +3 -1
- package/dist/edge/http/backups.js +1 -1
- package/dist/edge/http/channel-memory.js +2 -2
- package/dist/edge/http/channels.js +1 -1
- package/dist/edge/http/checkpoints.js +7 -5
- package/dist/edge/http/design-templates.js +3 -3
- package/dist/edge/http/designs.js +1 -1
- package/dist/edge/http/document-themes.js +3 -3
- package/dist/edge/http/draft-problem.js +1 -1
- package/dist/edge/http/extension-auth.js +1 -1
- package/dist/edge/http/home.js +9 -1
- package/dist/edge/http/model-checks.js +4 -4
- package/dist/edge/http/onboarding.js +29 -12
- package/dist/edge/http/outputs.js +3 -2
- package/dist/edge/http/patch-notes.js +2 -2
- package/dist/edge/http/planning.js +1 -1
- package/dist/edge/http/project-create.js +1 -1
- package/dist/edge/http/project-templates.js +2 -2
- package/dist/edge/http/projects.js +22 -4
- package/dist/edge/http/prompts.js +2 -2
- package/dist/edge/http/pronunciation-check.js +133 -0
- package/dist/edge/http/pronunciations.js +26 -0
- package/dist/edge/http/providers.js +9 -10
- package/dist/edge/http/refusal.js +1 -1
- package/dist/edge/http/remote-access.js +4 -4
- package/dist/edge/http/remote-guard.js +2 -2
- package/dist/edge/http/reviews.js +1 -1
- package/dist/edge/http/revision-files.js +1 -1
- package/dist/edge/http/revisions.js +4 -4
- package/dist/edge/http/schedules.js +13 -11
- package/dist/edge/http/settings.js +6 -2
- package/dist/edge/http/social.js +5 -4
- package/dist/edge/http/staging.js +1 -1
- package/dist/edge/http/storage.js +12 -4
- package/dist/edge/http/studio.js +71 -19
- package/dist/edge/http/style-preview.js +2 -2
- package/dist/edge/http/template-studio.js +12 -9
- package/dist/edge/http/trash.js +1 -1
- package/dist/edge/http/youtube-edits.js +1 -1
- package/dist/edge/mcp/excluded-routes.js +4 -3
- package/dist/edge/mcp/instructions.js +3 -3
- package/dist/edge/mcp/library-tools.js +8 -5
- package/dist/edge/mcp/remake-tools.js +7 -4
- package/dist/edge/mcp/server.js +1 -1
- package/dist/edge/mcp/tools-channels.js +9 -9
- package/dist/edge/mcp/tools-designs.js +9 -9
- package/dist/edge/mcp/tools-library.js +31 -7
- package/dist/edge/mcp/tools-planning.js +18 -18
- package/dist/edge/mcp/tools-projects.js +10 -10
- package/dist/edge/mcp/tools-publishing.js +9 -9
- package/dist/edge/mcp/tools-runs.js +9 -9
- package/dist/edge/mcp/tools-schedules.js +6 -6
- package/dist/edge/mcp/tools-setup.js +20 -14
- package/dist/edge/mcp/tools-social.js +5 -4
- package/dist/edge/mcp/tools-storage.js +3 -3
- package/dist/edge/mcp/tools-template-studio.js +18 -18
- package/dist/edge/remote-access/model.js +1 -1
- package/dist/extension/slopify-studio-chrome.zip +0 -0
- package/dist/extension/slopify-studio-firefox.zip +0 -0
- package/dist/kernel/db/migrations/0078-uploaded-from-links.sql +7 -0
- package/dist/kernel/pipeline.js +12 -0
- package/dist/kernel/ports/settings-places.js +31 -0
- package/dist/kernel/ports/system-speech.js +31 -3
- package/dist/kernel/runner/attempt.js +11 -3
- package/dist/kernel/runner/providers.js +3 -2
- package/dist/kernel/runner/standalone.js +2 -2
- package/dist/main.js +5 -3
- package/dist/model-catalog.js +20 -0
- package/dist/patch-notes/4.0.0.md +13 -13
- package/dist/patch-notes/4.1.0.md +42 -0
- package/dist/patch-notes/4.2.0.md +28 -0
- package/dist/patch-notes/index.json +12 -0
- package/dist/slices/admission/listing-facts.js +95 -0
- package/dist/slices/admission/repo.js +9 -6
- package/dist/slices/admission/rules.js +7 -7
- package/dist/slices/admission/schema.js +2 -0
- package/dist/slices/admission/start.js +7 -0
- package/dist/slices/admission/state-words.js +34 -5
- package/dist/slices/assistant/cost.js +1 -1
- package/dist/slices/assistant/gate.js +1 -0
- package/dist/slices/assistant/model.js +10 -3
- package/dist/slices/assistant/turn.js +5 -3
- package/dist/slices/autopilot/warnings.js +1 -1
- package/dist/slices/backups/service.js +5 -5
- package/dist/slices/channels/cast-images.js +1 -1
- package/dist/slices/channels/schema.js +1 -1
- package/dist/slices/channels/videos.js +1 -1
- package/dist/slices/control/providers.js +2 -2
- package/dist/slices/designs/budget.js +1 -1
- package/dist/slices/designs/calls.js +2 -2
- package/dist/slices/designs/check-context.js +4 -4
- package/dist/slices/designs/fields.js +4 -4
- package/dist/slices/designs/gate.js +7 -5
- package/dist/slices/designs/render-input.js +1 -1
- package/dist/slices/designs/requests.js +1 -1
- package/dist/slices/designs/runner.js +1 -1
- package/dist/slices/designs/sample.js +2 -1
- package/dist/slices/designs/service.js +1 -1
- package/dist/slices/designs/template-checks.js +2 -2
- package/dist/slices/designs/template-make.js +3 -3
- package/dist/slices/designs/templates.js +3 -3
- package/dist/slices/document/fonts.js +1 -1
- package/dist/slices/document/model.js +7 -4
- package/dist/slices/document/render.js +2 -1
- package/dist/slices/document/theme-schema.js +1 -1
- package/dist/slices/document/theme.js +49 -3
- package/dist/slices/episodes/summarize.js +2 -2
- package/dist/slices/estimate/index.js +28 -22
- package/dist/slices/estimate/requests.js +4 -4
- package/dist/slices/fixes/rules.js +3 -1
- package/dist/slices/fonts/catalog.js +2 -1
- package/dist/slices/fonts/coverage.js +2 -1
- package/dist/slices/images/appearance.js +2 -1
- package/dist/slices/images/scenes.js +2 -1
- package/dist/slices/keywords/digest.js +2 -1
- package/dist/slices/keywords/rules.js +2 -2
- package/dist/slices/keywords/specs.js +5 -5
- package/dist/slices/keywords/values.js +1 -1
- package/dist/slices/library/transfer.js +3 -3
- package/dist/slices/loudness/loudnorm.js +2 -1
- package/dist/slices/loudness/model.js +3 -2
- package/dist/slices/loudness/sentence-level.js +2 -1
- package/dist/slices/model-checks/rules.js +13 -0
- package/dist/slices/model-upkeep/model.js +1 -1
- package/dist/slices/model-upkeep/switch.js +3 -3
- package/dist/slices/model-upkeep/usage.js +13 -2
- package/dist/slices/narration/breaths.js +2 -1
- package/dist/slices/narration/clean-pieces.js +2 -1
- package/dist/slices/narration/pauses-model.js +3 -2
- package/dist/slices/narration/pronunciation-check.js +226 -0
- package/dist/slices/narration/pronunciation.js +7 -2
- package/dist/slices/narration/pronunciations-library.js +94 -0
- package/dist/slices/notifications/subject.js +2 -2
- package/dist/slices/onboarding/copy.js +19 -2
- package/dist/slices/onboarding/first-run.js +13 -38
- package/dist/slices/onboarding/install.js +2 -1
- package/dist/slices/onboarding/model.js +26 -21
- package/dist/slices/onboarding/preferred-model.js +14 -0
- package/dist/slices/onboarding/quick-short.js +103 -64
- package/dist/slices/onboarding/sample.js +4 -1
- package/dist/slices/onboarding/state.js +7 -0
- package/dist/slices/onboarding/template.js +6 -5
- package/dist/slices/outputs/add.js +3 -2
- package/dist/slices/outputs/service.js +2 -2
- package/dist/slices/patch-notes/library.js +1 -1
- package/dist/slices/play-drafts/readiness.js +3 -3
- package/dist/slices/play-drafts/review-inputs.js +1 -1
- package/dist/slices/play-drafts/service.js +17 -7
- package/dist/slices/project-templates/next-chapter.js +2 -1
- package/dist/slices/project-templates/provider-defaults.js +22 -0
- package/dist/slices/project-templates/setup-sections.js +26 -0
- package/dist/slices/project-templates/setup.js +6 -1
- package/dist/slices/rebuild/preview-details.js +5 -5
- package/dist/slices/rebuild/recipe-preparation.js +1 -1
- package/dist/slices/rebuild/recipe-save.js +2 -2
- package/dist/slices/rebuild/recipe-text.js +16 -4
- package/dist/slices/rebuild/recipe-validation.js +5 -4
- package/dist/slices/rebuild/recipe-voices.js +3 -2
- package/dist/slices/rebuild/recipe-work.js +4 -4
- package/dist/slices/rebuild/recovery.js +6 -6
- package/dist/slices/rebuild/remake-outdated.js +5 -5
- package/dist/slices/rebuild/review-redo.js +1 -1
- package/dist/slices/rebuild/runtime-animate.js +2 -2
- package/dist/slices/rebuild/runtime-article.js +4 -3
- package/dist/slices/rebuild/runtime-document.js +5 -4
- package/dist/slices/rebuild/runtime-export-bed.js +2 -1
- package/dist/slices/rebuild/runtime-export-edit.js +2 -1
- package/dist/slices/rebuild/runtime-export-inputs.js +5 -4
- package/dist/slices/rebuild/runtime-export-short.js +1 -1
- package/dist/slices/rebuild/runtime-export.js +4 -3
- package/dist/slices/rebuild/runtime-image.js +4 -3
- package/dist/slices/rebuild/runtime-local.js +3 -2
- package/dist/slices/rebuild/runtime-narration-text.js +3 -2
- package/dist/slices/rebuild/runtime-provider.js +7 -6
- package/dist/slices/rebuild/runtime-review.js +6 -5
- package/dist/slices/rebuild/runtime-shorts.js +6 -5
- package/dist/slices/rebuild/runtime-store.js +17 -2
- package/dist/slices/rebuild/runtime-subtitles.js +13 -12
- package/dist/slices/rebuild/runtime-voices.js +2 -1
- package/dist/slices/rebuild/runtime-youtube.js +3 -2
- package/dist/slices/rebuild/service-readiness.js +11 -3
- package/dist/slices/research/synthesis.js +3 -2
- package/dist/slices/reviews/external-model.js +1 -1
- package/dist/slices/reviews/holds.js +5 -4
- package/dist/slices/reviews/model.js +8 -5
- package/dist/slices/reviews/rules.js +3 -3
- package/dist/slices/reviews/verdict.js +2 -1
- package/dist/slices/revisions/image-plan.js +1 -1
- package/dist/slices/revisions/mutation-assets.js +2 -1
- package/dist/slices/revisions/mutations.js +3 -2
- package/dist/slices/schedules/agenda.js +7 -5
- package/dist/slices/schedules/design-check.js +4 -4
- package/dist/slices/schedules/design-run.js +3 -3
- package/dist/slices/schedules/repo.js +6 -5
- package/dist/slices/schedules/schema.js +3 -0
- package/dist/slices/schedules/topics.js +5 -5
- package/dist/slices/settings/first-run.js +6 -32
- package/dist/slices/settings/health.js +30 -15
- package/dist/slices/settings/key-test.js +1 -1
- package/dist/slices/settings/model.js +4 -2
- package/dist/slices/settings/playback.js +2 -2
- package/dist/slices/shorts/keep.js +2 -1
- package/dist/slices/shorts/pick.js +4 -3
- package/dist/slices/shorts/prompts.js +2 -1
- package/dist/slices/shorts/render.js +3 -2
- package/dist/slices/social/media.js +5 -4
- package/dist/slices/social/pack.js +1 -1
- package/dist/slices/social/post-prompt.js +2 -1
- package/dist/slices/social/reshape.js +2 -2
- package/dist/slices/social/serve.js +1 -1
- package/dist/slices/social/service.js +3 -2
- package/dist/slices/social/state.js +1 -1
- package/dist/slices/storage/backup-import.js +2 -2
- package/dist/slices/storage/portable.js +1 -1
- package/dist/slices/storage/trim.js +23 -13
- package/dist/slices/studio/calendar.js +3 -1
- package/dist/slices/studio/disclosure.js +4 -4
- package/dist/slices/studio/model.js +1 -1
- package/dist/slices/studio/pack.js +9 -8
- package/dist/slices/studio/plan.js +1 -1
- package/dist/slices/studio/settings.js +6 -6
- package/dist/slices/studio/videos.js +23 -4
- package/dist/slices/style-preview/render.js +3 -3
- package/dist/slices/style-preview/schema.js +1 -1
- package/dist/slices/subtitles/captions.js +1 -1
- package/dist/slices/template-studio/anatomy-view.js +46 -3
- package/dist/slices/template-studio/bakeoff.js +3 -3
- package/dist/slices/template-studio/budget.js +6 -3
- package/dist/slices/template-studio/cards.js +78 -0
- package/dist/slices/template-studio/checks.js +99 -50
- package/dist/slices/template-studio/for-all.js +5 -5
- package/dist/slices/template-studio/free-video.js +1 -1
- package/dist/slices/template-studio/free.js +5 -5
- package/dist/slices/template-studio/model.js +19 -15
- package/dist/slices/template-studio/pack-import.js +14 -14
- package/dist/slices/template-studio/pack.js +9 -7
- package/dist/slices/template-studio/paid.js +12 -5
- package/dist/slices/template-studio/quote.js +18 -11
- package/dist/slices/template-studio/ready.js +7 -7
- package/dist/slices/template-studio/runner.js +1 -1
- package/dist/slices/template-studio/save.js +12 -12
- package/dist/slices/template-studio/say-it-as.js +3 -3
- package/dist/slices/template-studio/schedule-gate.js +1 -1
- package/dist/slices/template-studio/schedule-price.js +3 -1
- package/dist/slices/template-studio/schedule-sample.js +5 -1
- package/dist/slices/template-studio/schema.js +25 -0
- package/dist/slices/template-studio/service.js +3 -1
- package/dist/slices/template-studio/status.js +26 -9
- package/dist/slices/template-studio/topic.js +3 -3
- package/dist/slices/thumbnail/by-llm.js +1 -1
- package/dist/slices/uploads/repo.js +37 -1
- package/dist/slices/uploads/rules.js +3 -2
- package/dist/slices/video/edit-list.js +2 -2
- package/dist/slices/video/edit-settings.js +1 -1
- package/dist/slices/video/encoding.js +14 -5
- package/dist/slices/video/ffmpeg.js +2 -2
- package/dist/slices/video/plan.js +2 -1
- package/dist/slices/video/slideshow.js +1 -1
- package/dist/slices/voices/attribution.js +3 -2
- package/dist/slices/voices/model.js +9 -8
- package/dist/slices/voices/script.js +2 -1
- package/dist/slices/youtube/answer.js +2 -1
- package/dist/slices/youtube/edits-repo.js +1 -1
- package/dist/tutorials/AI-CLIs.md +25 -25
- package/dist/tutorials/Agents-MCP.md +32 -32
- package/dist/tutorials/Assistant.md +5 -5
- package/dist/tutorials/Backups.md +7 -7
- package/dist/tutorials/Calendar.md +17 -25
- package/dist/tutorials/Cast-Library.md +19 -19
- package/dist/tutorials/Channels.md +40 -35
- package/dist/tutorials/Costs-and-Run-Cost.md +38 -40
- package/dist/tutorials/Create-Article.md +114 -0
- package/dist/tutorials/Create-Extras.md +112 -0
- package/dist/tutorials/Create-Images.md +165 -0
- package/dist/tutorials/Create-Narration.md +178 -0
- package/dist/tutorials/Create-Overview.md +244 -0
- package/dist/tutorials/Create-Video-and-Style.md +144 -0
- package/dist/tutorials/Docker.md +3 -3
- package/dist/tutorials/Document-Themes.md +32 -32
- package/dist/tutorials/Editing-a-Project.md +95 -94
- package/dist/tutorials/FAQ.md +18 -18
- package/dist/tutorials/First-Launch-and-Welcome.md +50 -64
- package/dist/tutorials/Home-and-Projects.md +101 -76
- package/dist/tutorials/Home.md +33 -33
- package/dist/tutorials/Install.md +13 -13
- package/dist/tutorials/Intros-and-Outros.md +33 -34
- package/dist/tutorials/Keyboard-Shortcuts-and-Command-Palette.md +62 -58
- package/dist/tutorials/Keywords-Slopify-Fills.md +21 -21
- package/dist/tutorials/Models.md +27 -27
- package/dist/tutorials/Multiple-Voices.md +41 -40
- package/dist/tutorials/Narration-Aliases-and-Glossary.md +101 -19
- package/dist/tutorials/Notifications.md +21 -17
- package/dist/tutorials/Other-Languages.md +15 -15
- package/dist/tutorials/PDF-Documents.md +38 -29
- package/dist/tutorials/Posting-to-Social-Sites.md +12 -12
- package/dist/tutorials/Project-Page.md +118 -120
- package/dist/tutorials/Prompts-and-Templates.md +84 -0
- package/dist/tutorials/Prompts.md +45 -45
- package/dist/tutorials/Providers-and-Keys.md +105 -98
- package/dist/tutorials/Publishing-to-YouTube.md +31 -31
- package/dist/tutorials/Recovery-and-Retries.md +31 -31
- package/dist/tutorials/Remote-Access.md +2 -2
- package/dist/tutorials/Reviews-and-Checkpoints.md +90 -93
- package/dist/tutorials/Schedules.md +27 -28
- package/dist/tutorials/Settings-Reference.md +183 -204
- package/dist/tutorials/Shorts.md +34 -33
- package/dist/tutorials/Start-at-Login.md +3 -3
- package/dist/tutorials/Studio-Extension.md +22 -24
- package/dist/tutorials/Template-Studio.md +45 -42
- package/dist/tutorials/Templates.md +50 -79
- package/dist/tutorials/Trash.md +4 -4
- package/dist/tutorials/Troubleshooting.md +44 -44
- package/dist/tutorials/Uninstalling-and-Moving.md +5 -5
- package/dist/tutorials/Updating-and-Patch-Notes.md +18 -18
- package/dist/tutorials/Video-Editing.md +34 -34
- package/dist/tutorials/Where-Your-Files-Live.md +10 -10
- package/dist/tutorials/YouTube-Description.md +26 -26
- package/dist/tutorials/Your-First-Short.md +35 -35
- package/dist/tutorials/_Sidebar.md +15 -15
- package/dist/web/assets/index-BNftKQrA.css +1 -0
- package/dist/web/assets/index-CQASqwjT.js +460 -0
- package/dist/web/assets/pdf-BKh8f7R6.js +56 -0
- package/dist/web/assets/pdf.worker.min-BmVo14Nb.mjs +28 -0
- package/dist/web/assets/pdf.worker.min-D7i8o3wR.js +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +2 -2
- package/dist/tutorials/Library-Overview.md +0 -76
- package/dist/tutorials/Play-Images.md +0 -165
- package/dist/tutorials/Play-Narration.md +0 -167
- package/dist/tutorials/Play-Outputs.md +0 -109
- package/dist/tutorials/Play-Overview.md +0 -227
- package/dist/tutorials/Play-Title-and-Article.md +0 -136
- package/dist/tutorials/Play-Video-and-Style.md +0 -143
- package/dist/web/assets/index-CkAI_2E7.css +0 -1
- package/dist/web/assets/index-DcD0cdfo.js +0 -334
- package/dist/web/assets/pdf-TODRwF31.js +0 -54
- package/dist/web/assets/pdf.worker.min-Dswkl-cV.mjs +0 -29
- package/dist/web/assets/pdf.worker.min-zC6nfbxG.js +0 -1
|
@@ -1,101 +1,75 @@
|
|
|
1
1
|
# Templates
|
|
2
2
|
|
|
3
|
-
A template is a saved
|
|
3
|
+
A template is a saved setup: prompts, voice, images, style, extras, pauses and checks, under a name. Start from it on Create, type a topic, and the video is set up the way you like it. Schedules run templates too, so a template is also the recipe every scheduled video follows.
|
|
4
4
|
|
|
5
|
-
Set a template up section by section, with a live sample beside every setting, in
|
|
5
|
+
Set a template up section by section, with a live sample beside every setting, in **Edit template** (see [Edit template](Template-Studio)).
|
|
6
6
|
|
|
7
|
-
**Where to find it:** **
|
|
7
|
+
**Where to find it:** **Templates** in the rail. You also pick templates under **Start from** on Create, save them with Create's **Save as template** or a project's **More** menu, and move them between channels on a channel's **Templates** tab.
|
|
8
|
+
|
|
9
|
+
## The Templates page
|
|
10
|
+
|
|
11
|
+
Two tabs: **Video templates** (with how many you have) and **Poster templates** (posters, flyers and social sizes). The header holds **Add starter templates**, while a starter is left to add, and **Import a template file (.zip)**. With seven or more templates, **Search templates** and a sort menu sit above the cards; with two or more channels, **Show templates of** narrows them to one channel.
|
|
12
|
+
|
|
13
|
+
Each video template is a card: a still from its sample once it has one, its name in full, one line of what it makes (for example "Landscape 16:9 · Voice: History narrator (storyteller), OpenAI · about 2,200 words · captions on the video · 2 shorts"), what it **Asks for**, its channel and, once schedules run it, how they run it (for example **Used by 1 schedule**). Pressing its name or its still opens Edit template. Its actions:
|
|
14
|
+
|
|
15
|
+
| Action | What it does |
|
|
16
|
+
|---|---|
|
|
17
|
+
| **Make a video** | Opens Create with a fresh draft made from the template. Nothing starts until you press **Make the video**. |
|
|
18
|
+
| **Edit template** | Opens the template's editor, section by section, with a sample beside the settings. See [Edit template](Template-Studio). |
|
|
19
|
+
| **More** → **Duplicate** | Makes a copy in the same channel, named "<name> copy", then "<name> copy 2" and so on. |
|
|
20
|
+
| **More** → **Versions** | Every saved version (see [Versions](#versions)). |
|
|
21
|
+
| **More** → **Export as a file (.zip)** | Saves the template as a `<name>.slopify-template.zip` file you can import on another computer with **Import a template file (.zip)**. |
|
|
22
|
+
| **More** → **Delete…** | Asks first, then moves the template to the trash (see [Delete a template](#delete-a-template)). |
|
|
23
|
+
|
|
24
|
+
With no templates yet, the page says what a template is for and offers **Add starter templates**.
|
|
8
25
|
|
|
9
26
|
## What a template keeps
|
|
10
27
|
|
|
11
28
|
| Kept | Left out |
|
|
12
29
|
|---|---|
|
|
13
|
-
| Every
|
|
14
|
-
| A copy of each prompt the setup uses (article, image, thumbnail, description, shorts and so on) | Extra videos you
|
|
30
|
+
| Every setting of Create and every pause and check | The topic you typed: keywords the project title names, such as `{{Topic}}`, are saved empty |
|
|
31
|
+
| A copy of each prompt the setup uses (article, image, thumbnail, description, shorts and so on) | Extra videos you added with **Another topic** |
|
|
15
32
|
| A copy of each picked intro and outro | Uploaded fonts |
|
|
16
33
|
| Values of the other keywords, such as a word count | Uploaded files keep their names but must be attached again when you use the template |
|
|
17
34
|
| The channel it belongs to | |
|
|
18
35
|
|
|
19
|
-
Because the template keeps copies of its prompts, editing a prompt
|
|
36
|
+
Because the template keeps copies of its prompts, editing a prompt on Prompts later does not change a template you already saved. Save the template again to pick up the new prompt.
|
|
20
37
|
|
|
21
|
-
## Save a template from
|
|
38
|
+
## Save a template from Create
|
|
22
39
|
|
|
23
|
-
1. Set up a video on [
|
|
24
|
-
2.
|
|
40
|
+
1. Set up a video on [Create](Create-Overview) the way you want every video of this kind to look.
|
|
41
|
+
2. Press **Save as template** in the page header.
|
|
25
42
|
3. Type a **Template name** (up to 120 characters). The placeholder suggests the title without its keywords.
|
|
26
|
-
4. Read the
|
|
27
|
-
5. Press **Save template**. The template appears
|
|
43
|
+
4. Read the line under the name. It says what is left out, such as the topic you typed.
|
|
44
|
+
5. Press **Save template**. The template appears under Create's **Start from** and on **Templates**.
|
|
28
45
|
|
|
29
46
|
## Save a template from a finished project
|
|
30
47
|
|
|
31
|
-
You can turn any project's current setup into a template, which is handy after you have tuned a project with **Edit
|
|
48
|
+
You can turn any project's current setup into a template, which is handy after you have tuned a project with **Edit settings**.
|
|
32
49
|
|
|
33
50
|
1. Open the project.
|
|
34
|
-
2.
|
|
51
|
+
2. Press **Save as template…** under the project's status (or press `Ctrl+K` and search for **Save as template**).
|
|
35
52
|
3. Type a **Template name** (up to 120 characters) and press **Save template**.
|
|
36
53
|
|
|
37
|
-
The template takes the
|
|
38
|
-
|
|
39
|
-
## Save a template from Library → Templates
|
|
40
|
-
|
|
41
|
-
1. Open **Library → Templates** and press **Save a setup**.
|
|
42
|
-
2. Under **Saved Play draft**, choose a draft. Only drafts saved in Play are listed; open Play and set one up first if the list is empty. The draft itself is not changed.
|
|
43
|
-
3. Type a **Template name** (up to 120 characters).
|
|
44
|
-
4. Pick the **Channel**. The default, **The draft's channel**, is the draft's own channel, or its template's channel when it has none.
|
|
45
|
-
5. Press **Save template**.
|
|
54
|
+
The template takes the settings of the version you are looking at.
|
|
46
55
|
|
|
47
56
|
## Use a template
|
|
48
57
|
|
|
49
|
-
**From
|
|
58
|
+
**From Create:**
|
|
50
59
|
|
|
51
|
-
1. Open **
|
|
52
|
-
2. Pick the template
|
|
53
|
-
3. Type the topic, check the rows, and press **
|
|
60
|
+
1. Open **Create**.
|
|
61
|
+
2. Pick the template under **Start from**. Create opens a fresh draft made from it and carries over the topic you already typed.
|
|
62
|
+
3. Type the topic, check the rows, and press **Make the video**.
|
|
54
63
|
|
|
55
|
-
**From
|
|
56
|
-
|
|
57
|
-
1. Find the template in the list.
|
|
58
|
-
2. Press **Use in Play**. Slopify makes a new Play draft from the template and opens it. Nothing starts until you press **Start run**.
|
|
64
|
+
**From Templates or Home:** press **Make a video** on the template. Create opens with a fresh draft made from it.
|
|
59
65
|
|
|
60
66
|
Keywords the project title names start empty so you can type this video's topic. Uploaded files keep their names but must be attached again.
|
|
61
67
|
|
|
62
|
-
##
|
|
63
|
-
|
|
64
|
-
Every template row has the same actions as the other Library lists, always in this order:
|
|
65
|
-
|
|
66
|
-
| Action | What it does |
|
|
67
|
-
|---|---|
|
|
68
|
-
| **Edit** | Picks the template and shows its keywords beside the list (below). To change its settings, press **Use in Play**, change the draft, then **Save a setup**. |
|
|
69
|
-
| **Duplicate** | Makes `<name> copy` in the same channel ("Duplicated as …"). |
|
|
70
|
-
| **Use in Play** | Makes a fresh Play draft from the template and opens it. |
|
|
71
|
-
| **History** (clock icon) | Every saved version, compared with the current one, with **Restore** (see [History](#history)). |
|
|
72
|
-
| **Delete** (bin icon) | Asks first, then moves the template to the trash (see [Delete a template](#delete-a-template)). |
|
|
73
|
-
|
|
74
|
-
A press anywhere on a row picks it. The pencil beside a template's name renames it in the row (see [Rename a template](#rename-a-template)).
|
|
75
|
-
|
|
76
|
-
## See a template's keywords
|
|
77
|
-
|
|
78
|
-
Pick a template (or press **Edit**) and its keywords show beside the list: each keyword, whether it is a topic keyword (saved empty) or a setting-like keyword that keeps its value, and which prompts or fields it feeds. This is the same list Play and Edit project show. With nothing picked it says "Pick a template to see the keywords it fills."; a template with none says "No keywords: the prompts and the title name none."
|
|
79
|
-
|
|
80
|
-
## Rename a template
|
|
81
|
-
|
|
82
|
-
1. Press the pencil (**Rename <name>**) beside the template's name.
|
|
83
|
-
2. Type the new name (up to 120 characters) and press **Save name** or Enter. `Esc` or **Cancel** keeps the old name.
|
|
84
|
-
|
|
85
|
-
The notice says "Renamed “A” to “B”." with **Undo**. A rename saves a new version of the template; its settings stay as they are.
|
|
86
|
-
|
|
87
|
-
## History
|
|
88
|
-
|
|
89
|
-
Press the clock icon (**History of <name>**) on a template's row. The drawer has:
|
|
90
|
-
|
|
91
|
-
- **Versions**: every version, newest first, as **Version N** with its name and date. The newest is marked **Current**; the others have **Restore**.
|
|
92
|
-
- **Compare with the current version**: the version you picked, side by side with the current one. A rename between them is said above ("Renamed from … to …").
|
|
93
|
-
|
|
94
|
-
**Restore** saves the old version again as a new version ("Restored version 2 of … as version 5."), so nothing after it is lost. Schedules keep the version they were set up with; see [Versions](#versions).
|
|
68
|
+
## Versions
|
|
95
69
|
|
|
96
|
-
|
|
70
|
+
Every save of a template is a new version. **More** → **Versions** lists them, newest first, as **Version N** with its name and date, the newest marked current, the others with **Restore**, and **Compare with the current version** beside the list. **Restore** saves the old version again as a new version ("Restored version 2 of … as version 5."), so nothing after it is lost.
|
|
97
71
|
|
|
98
|
-
|
|
72
|
+
Schedules run the template's newest version until you approve one for schedules in Edit template (**More** → **Approve for schedules**); from then on they run the approved one. See [Edit template](Template-Studio#approve-for-schedules) and [Schedules](Schedules).
|
|
99
73
|
|
|
100
74
|
## Move a template to another channel
|
|
101
75
|
|
|
@@ -105,44 +79,41 @@ Use **Show templates of** above the list to see only one channel's templates, or
|
|
|
105
79
|
|
|
106
80
|
The template and every schedule that runs it move together. Their next runs use the new channel's brand kit, cast and series brief. Projects already made keep what they were made with. Moving a template does not make a new version of it.
|
|
107
81
|
|
|
108
|
-
## Versions
|
|
109
|
-
|
|
110
|
-
Each template shows **Version N · updated** with the date. Schedules remember the version they were set up with; to make a schedule use a newer version, pick the template again in the schedule's **Template** field. See [Schedules](Schedules).
|
|
111
|
-
|
|
112
82
|
## Delete a template
|
|
113
83
|
|
|
114
|
-
1.
|
|
84
|
+
1. Open the template's **More** and choose **Delete…**.
|
|
115
85
|
2. Confirm with **Delete template**.
|
|
116
86
|
|
|
117
|
-
The template goes to **Settings →
|
|
87
|
+
The template goes to **Settings → Trash** for 30 days, where you can restore it. Projects already made from it keep their setup. A template that a schedule still runs can't be deleted: delete or change that schedule first. See [Trash](Trash).
|
|
118
88
|
|
|
119
89
|
## Retired models
|
|
120
90
|
|
|
121
|
-
When a template picks a model that has been retired,
|
|
91
|
+
When a template picks a model that has been retired, it says so, for example "Images … is retired.", with **Switch to <model>**. One press switches the template to the replacement, as in Settings → **Models**, and the schedules that run it follow. When there is no replacement, it says to choose another model in Settings → **Models** or edit the template. See [Models](Models#switch-away-from-a-retired-model).
|
|
122
92
|
|
|
123
|
-
## Starter
|
|
93
|
+
## Starter templates
|
|
124
94
|
|
|
125
|
-
**
|
|
95
|
+
**Templates → Add starter templates** offers a ready-made set for one kind of channel. Each adds prompts, a suggested voice and a ready-made template, named `<kind> starter`:
|
|
126
96
|
|
|
127
|
-
|
|
|
97
|
+
| Starter | What it is for |
|
|
128
98
|
|---|---|
|
|
129
99
|
| **Sleep lore** | Slow, gentle myths and legends told to fall asleep to |
|
|
130
100
|
| **True crime** | Measured, factual retellings of real cases and their investigations |
|
|
131
101
|
| **History** | Narrative history of people, places and events, told like a documentary |
|
|
132
102
|
| **Science explainers** | Clear, friendly explanations of how the world works, one idea at a time |
|
|
133
103
|
|
|
134
|
-
Adding
|
|
104
|
+
Adding one twice changes nothing, and it never replaces a prompt or template of yours with the same name. The first-run screen offers the same starters; see [First launch and welcome](First-Launch-and-Welcome#starter-templates).
|
|
135
105
|
|
|
136
106
|
## Tips
|
|
137
107
|
|
|
138
108
|
- Make one template per kind of video (a long documentary, a 60-second short, a podcast) rather than one template you change each time.
|
|
139
|
-
- Put the topic keyword in the title, like `History: {{Topic}}`. Then the template saves it empty,
|
|
109
|
+
- Put the topic keyword in the title, like `History: {{Topic}}`. Then the template saves it empty, Create asks for it, and a schedule can fill it from its topic list.
|
|
140
110
|
- Keep settings you vary per video, such as a word count, as their own keywords. A schedule can set them per topic in its table.
|
|
141
111
|
|
|
142
112
|
## Related pages
|
|
143
113
|
|
|
144
|
-
- [
|
|
145
|
-
- [
|
|
114
|
+
- [Edit template](Template-Studio)
|
|
115
|
+
- [Create Overview](Create-Overview)
|
|
116
|
+
- [Prompts and Templates](Prompts-and-Templates)
|
|
146
117
|
- [Schedules](Schedules)
|
|
147
118
|
- [Channels](Channels)
|
|
148
119
|
- [Prompts](Prompts)
|
package/dist/tutorials/Trash.md
CHANGED
|
@@ -9,8 +9,8 @@ Deleting something in Slopify does not remove it at once. Deleted projects, prom
|
|
|
9
9
|
| Kind | Shown as | Deleted from |
|
|
10
10
|
| --- | --- | --- |
|
|
11
11
|
| Project | Project | Projects (the delete button on a project's row, then **Delete project**) |
|
|
12
|
-
|
|
|
13
|
-
| Intro or outro | Intro or Outro |
|
|
12
|
+
| Prompt | Prompt · *type* (for example Prompt · article) | Prompts |
|
|
13
|
+
| Intro or outro | Intro or Outro | Prompts → Intros and Outros |
|
|
14
14
|
| Template | Template | Templates |
|
|
15
15
|
| Schedule | Schedule | Schedules |
|
|
16
16
|
|
|
@@ -29,7 +29,7 @@ It comes back as it was. A few kinds have their own rules:
|
|
|
29
29
|
| Item | What happens on restore |
|
|
30
30
|
| --- | --- |
|
|
31
31
|
| Prompt, intro/outro or template whose name was taken meanwhile | It comes back as "Name (restored)", then "Name (restored 2)" and so on. The message says which name it got. A renamed template gets a new version. |
|
|
32
|
-
| Project that was waiting its turn (
|
|
32
|
+
| Project that was waiting its turn (queued behind other videos, or held at a pause) | It was held while in the trash and picks up where it was. |
|
|
33
33
|
| Schedule | It comes back **paused**, with no next run. Press **Resume** on Schedules to run it again. |
|
|
34
34
|
| Schedule whose template is also in the trash | Restore the template first (it is listed in the trash too), then the schedule. |
|
|
35
35
|
| Schedule whose template was removed for good | It cannot be restored: it has nothing to run. **Delete now** removes it from the trash. |
|
|
@@ -58,7 +58,7 @@ A project's disk space is freed only when it leaves the trash. Settings → **Ba
|
|
|
58
58
|
|
|
59
59
|
| Situation | What to do |
|
|
60
60
|
| --- | --- |
|
|
61
|
-
| A project that is still running | Open the project and
|
|
61
|
+
| A project that is still running | Open the project and press **Cancel the run…** under its status first. On Projects the delete button says "Cancel the run first, then delete it." |
|
|
62
62
|
| A template that a schedule (not in the trash) uses | Delete that schedule first. |
|
|
63
63
|
|
|
64
64
|
## Messages you may see
|
|
@@ -2,31 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
Most problems in Slopify show up as a failed step on the project page with a message that says what failed and where to fix it. This page collects the common ones, grouped by where you meet them, with the fix for each.
|
|
4
4
|
|
|
5
|
-
**Where to find it:** failed steps show on the project page (the
|
|
5
|
+
**Where to find it:** failed steps show on the project page (the title row's next action and the step's part, under **Error details**). Startup problems show in the terminal that started Slopify. **Download diagnostics** is at the foot of Settings → **About** and in the **Help** menu.
|
|
6
6
|
|
|
7
7
|
## First steps for any problem
|
|
8
8
|
|
|
9
9
|
1. Read the message. Slopify's messages name the screen or the command that fixes them.
|
|
10
10
|
2. On a project, press the next action button. For a failed step it is the fix, or **Try ... again**, which keeps everything already made. See [Recovery and Retries](Recovery-and-Retries).
|
|
11
11
|
3. Reload the page. A lot of "couldn't load" messages clear with a reload.
|
|
12
|
-
4. If it keeps happening,
|
|
12
|
+
4. If it keeps happening, press **Download diagnostics** (Settings → **About**, or the **Help** menu), then attach the file to a bug report.
|
|
13
13
|
|
|
14
14
|
### Download diagnostics
|
|
15
15
|
|
|
16
|
-
**Download diagnostics** saves `slopify-diagnostics.json`: the Slopify version, your system and Node version, which
|
|
16
|
+
**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.
|
|
17
17
|
|
|
18
|
-
##
|
|
18
|
+
## Service keys and accounts
|
|
19
19
|
|
|
20
20
|
| Message (or part of it) | Cause | Fix |
|
|
21
21
|
| --- | --- | --- |
|
|
22
|
-
| "*
|
|
23
|
-
| "No *
|
|
24
|
-
| "*
|
|
22
|
+
| "*Service* did not accept the API key ... The key may be wrong, expired or revoked" | The key is wrong or was revoked. | Paste a current key in Settings → **Keys & services**, save, then press **Try ... again** on the project. The fix-it button **Open Settings → Keys & services → *service*** takes you there. |
|
|
23
|
+
| "No *service* API key is saved. Add one in Settings → Keys & services, then use Try again." | The project uses a service with no key. | Add the key, or switch the project to another service in **Edit settings** (under **Written by** in Article, in Narration or in Images). |
|
|
24
|
+
| "*Service* says the account is out of credits" | Your account with that service has no balance. | Add credits on the service's website, then try again. |
|
|
25
25
|
| "Google gives this API key no image quota for this model" | The Google project behind the key has no quota for that image model. | Enable billing or quota in Google's console, or pick another image model. |
|
|
26
|
-
| "Slopify could not load this provider's model list. Check the API key in Settings →
|
|
27
|
-
| "Save this provider's API key in Settings →
|
|
26
|
+
| "Slopify could not load this provider's model list. Check the API key in Settings → Keys & services and your internet connection, then refresh the list." | The model list could not be fetched. | Check the key and your connection, then refresh. |
|
|
27
|
+
| "Save this provider's API key in Settings → Keys & services to load its models." | No key yet. | Save the key first. |
|
|
28
28
|
|
|
29
|
-
Keys and how to get them: [
|
|
29
|
+
Keys and how to get them: [Keys and Services](Providers-and-Keys).
|
|
30
30
|
|
|
31
31
|
## AI CLIs (Claude Code, Codex, Antigravity)
|
|
32
32
|
|
|
@@ -36,31 +36,31 @@ Keys and how to get them: [Providers and Keys](Providers-and-Keys).
|
|
|
36
36
|
| "Your Codex plan's usage limit is used up ... Slopify waits for it to reset and then carries on by itself." (also Claude and Antigravity) | Nothing to do: the run waits instead of failing. The project, Home, Projects and the Calendar say "Waiting for Codex limits (resets at 14:00)". See [Recovery and Retries](Recovery-and-Retries#waiting-for-cli-plan-limits). |
|
|
37
37
|
| "The *CLI* stopped without answering" | Run the CLI in a terminal to check it works and is signed in, then try again. |
|
|
38
38
|
| "Slopify could not hand the whole prompt to the CLI, so it cannot tell what the CLI worked on (it may already have used your quota)." | Use **Try again**. This is not retried automatically, so you choose whether to spend the quota again. |
|
|
39
|
-
| "No Codex model is chosen for images." | Choose a model (or Codex default)
|
|
40
|
-
| "Slopify could not get the model list from the *CLI* CLI." | Check the CLI is installed and signed in (Settings →
|
|
41
|
-
| A CLI shows as not installed in Settings | Install the CLI so it is on your `PATH`, or, in Docker, rerun the Docker install after installing or moving a CLI so the host helper finds it. Then press **Check
|
|
42
|
-
| "The Antigravity CLI tried to use a tool Slopify does not allow (it said: …), so it gave no answer." | Headless `agy` refuses page reading, the browser and commands, and then ends its turn with no text. Press **Try again**. If it keeps happening, choose another model or
|
|
43
|
-
| "The Antigravity CLI answered with no text." | Press **Try again**. If it keeps happening, run `agy` in a terminal to check it works, or choose another model
|
|
44
|
-
| "The Antigravity CLI is busy: Google's capacity for this model is used for the moment…" | Nothing to do: Slopify tries again by itself shortly. If it keeps happening, run fewer projects at once or choose another model
|
|
39
|
+
| "No Codex model is chosen for images." | Choose a model (or Codex default) under **Images by** in **Edit settings** → **Images**, then try again. |
|
|
40
|
+
| "Slopify could not get the model list from the *CLI* CLI." | Check the CLI is installed and signed in (Settings → Keys & services), refresh the list, or type an exact model ID. |
|
|
41
|
+
| A CLI shows as not installed in Settings | Install the CLI so it is on your `PATH`, or, in Docker, rerun the Docker install after installing or moving a CLI so the host helper finds it. Then press **Check every service** on Settings → **Keys & services**, or **Check again** on its row. |
|
|
42
|
+
| "The Antigravity CLI tried to use a tool Slopify does not allow (it said: …), so it gave no answer." | Headless `agy` refuses page reading, the browser and commands, and then ends its turn with no text. Press **Try again**. If it keeps happening, choose another model or writing service under **Written by** in **Edit settings** → **Article**. |
|
|
43
|
+
| "The Antigravity CLI answered with no text." | Press **Try again**. If it keeps happening, run `agy` in a terminal to check it works, or choose another model under **Written by** in **Edit settings** → **Article**. |
|
|
44
|
+
| "The Antigravity CLI is busy: Google's capacity for this model is used for the moment…" | Nothing to do: Slopify tries again by itself shortly. If it keeps happening, run fewer projects at once or choose another model under **Written by** in **Edit settings** → **Article**. |
|
|
45
45
|
| "The Antigravity CLI is not signed in…" | Run `agy` in a terminal, sign in with your Google account, then press **Try again**. |
|
|
46
|
-
| A run stops with "The chosen model is not available…" after the move from Gemini CLI | The old Gemini CLI model ids (for example `gemini-2.5-pro`) are not in the Antigravity CLI list. Run `agy models` and pick a model in **Edit
|
|
46
|
+
| A run stops with "The chosen model is not available…" after the move from Gemini CLI | The old Gemini CLI model ids (for example `gemini-2.5-pro`) are not in the Antigravity CLI list. Run `agy models` and pick a model under **Written by** in **Edit settings** → **Article**. |
|
|
47
47
|
|
|
48
48
|
See [AI CLIs](AI-CLIs).
|
|
49
49
|
|
|
50
|
-
##
|
|
50
|
+
## Refusals, models and timeouts
|
|
51
51
|
|
|
52
52
|
| Message (or part of it) | Fix |
|
|
53
53
|
| --- | --- |
|
|
54
|
-
| "*
|
|
55
|
-
| A content filter refused a text prompt | Press **Edit the prompt** and reword
|
|
56
|
-
| "The chosen model may not exist or not be available to your account" / "The model for ... is no longer offered." | Press **Switch model**, pick another model in **Edit
|
|
57
|
-
| "The
|
|
58
|
-
| "*
|
|
59
|
-
| "Check that voice ... still exists in Settings → Voices and that each narration part fits the model's length limit" | The voice was removed, or a chunk is too long for the model. Pick a saved voice, or
|
|
60
|
-
| An animated image failed ("choose another image-to-video model under Animate images
|
|
54
|
+
| "*Service* refused to make this image under its content rules" | Press **Soften and retry**, or reword the image prompt in **Edit settings** → **Images**, or choose another image service. |
|
|
55
|
+
| A content filter refused a text prompt | Press **Edit the prompt** and reword the prompt in **Edit settings**, in the section of the step that failed. |
|
|
56
|
+
| "The chosen model may not exist or not be available to your account" / "The model for ... is no longer offered." | Press **Switch model**, pick another model in **Edit settings** (under **Written by**, **Read by** or **Images by**), save, try again. See [Models](Models). |
|
|
57
|
+
| "The … did not answer within … seconds. It may be overloaded" (the AI model, the voice service, the image service or the image-to-video model) | Wait a few minutes, then **Try again**, or choose another model. Slopify already retried several times before showing this. |
|
|
58
|
+
| "*Service* sent back something that is not a PNG or JPEG image" | Use **Try again**; if it keeps happening, choose another image model. |
|
|
59
|
+
| "Check that voice ... still exists in Settings → Voices and that each narration part fits the model's length limit" | The voice was removed, or a chunk is too long for the model. Pick a saved voice, or split the narration into smaller parts (**Split the narration by** in **Edit settings** → **Narration**). |
|
|
60
|
+
| An animated image failed ("choose another image-to-video model under Animate images …") | Try again, or pick another model under **Animate images** (**Edit settings** → **Video and style** → **Look**). The image stays still meanwhile, and the Video part says so in its notes. |
|
|
61
61
|
| Rate limit messages (429) | Nothing to do: Slopify waits and tries again by itself. |
|
|
62
62
|
|
|
63
|
-
## ffmpeg, captions and
|
|
63
|
+
## ffmpeg, captions and making the video
|
|
64
64
|
|
|
65
65
|
Slopify ships its own ffmpeg; you do not need to install one. In Docker it is inside the image.
|
|
66
66
|
|
|
@@ -68,13 +68,13 @@ Slopify ships its own ffmpeg; you do not need to install one. In Docker it is in
|
|
|
68
68
|
| --- | --- |
|
|
69
69
|
| "Slopify can't find ffmpeg ... its bundled copy is missing for this computer." | Reinstall Slopify, or set `SLOPIFY_FFMPEG` to the path of an ffmpeg program. On first start Slopify also tries to download the same build into `<data-dir>/bin/`; if that fails, check your connection and your antivirus quarantine. |
|
|
70
70
|
| "Slopify could not start ffmpeg ..." | Reinstall Slopify. If you set `SLOPIFY_FFMPEG`, check it points to a working ffmpeg. |
|
|
71
|
-
| "The audio/video export failed (ffmpeg exited with code ...)" | Open **Error details**: it quotes what ffmpeg could not do, for example an input file it could not open. Replace that file (an uploaded image or clip in **Edit
|
|
72
|
-
| "Slopify couldn't measure the loudness of the narration" | Try again. If it happens again, turn off **Level the volume** in **Edit
|
|
73
|
-
| "The style preview couldn't
|
|
74
|
-
| "The free subtitle model could not be downloaded" / "download was interrupted" / "failed download verification" | The caption model (378 MB by default, the size chosen in Settings → Production defaults → **
|
|
75
|
-
| "Captions can't be edited until the current narration has finished and its
|
|
76
|
-
| "The saved
|
|
77
|
-
|
|
|
71
|
+
| "The audio/video export failed (ffmpeg exited with code ...)" | Open **Error details**: it quotes what ffmpeg could not do, for example an input file it could not open. Replace that file (an uploaded image or clip in **Edit settings** → **Images**), or try again. |
|
|
72
|
+
| "Slopify couldn't measure the loudness of the narration" | Try again. If it happens again, turn off **Level the volume** in **Edit settings** → **Video and style** → **Sound polish**, then download diagnostics and report it. |
|
|
73
|
+
| "The style preview couldn't be made. Press Make the preview again." | Press **Make the preview again**. If it fails again, download diagnostics and report it. |
|
|
74
|
+
| "The free subtitle model could not be downloaded" / "download … was interrupted" / "failed download verification" | The caption timing model (378 MB by default, the size chosen in Settings → Production defaults → **Caption timing model**) downloads on first use. Check your connection, then **Continue** the run, or pick a smaller model there. `SLOPIFY_NO_MODEL_PREFETCH` only skips the download at start; captions still need it. |
|
|
75
|
+
| "Captions can't be edited until the current narration has finished and its caption timing is ready." | Let the narration and its caption timing finish, then edit the captions. |
|
|
76
|
+
| "The saved caption timing doesn't match the current narration." | Do what the message says: press **Make the video again** in the project's Video part, which times the captions again, then edit the captions. |
|
|
77
|
+
| **Passages left out of the captions** under the video | Some passages could not be matched to the audio, so the captions skip them. The audio is fine. Press a passage's time to hear it, and look them over before sharing. |
|
|
78
78
|
|
|
79
79
|
With **Language** set to one without word timing, captions and cuts work differently; see [Other Languages](Other-Languages).
|
|
80
80
|
|
|
@@ -99,15 +99,15 @@ See [Install](Install) for the command-line options.
|
|
|
99
99
|
| "Slopify hit an unexpected error (*code*). Reload the page and try again." | Reload. If it keeps happening, download diagnostics and report it. |
|
|
100
100
|
| "The project could not be loaded." | Reload, or go back to Projects. |
|
|
101
101
|
| "The upload stopped before the file finished copying. Choose the file again." | Pick the file again and wait for "Waiting for uploads to finish…" to clear before saving. |
|
|
102
|
-
| "A newer
|
|
102
|
+
| "A newer version is available. Your unsaved changes are kept below and in this browser." | The project was saved elsewhere (another tab, or something made again). Press **Reload latest and re-apply my edit** to lay your changes over the newer version, check them and press **Save changes**; **Copy my edit** puts your changes on the clipboard first. |
|
|
103
103
|
|
|
104
104
|
## Disk space
|
|
105
105
|
|
|
106
106
|
| Symptom | Fix |
|
|
107
107
|
| --- | --- |
|
|
108
108
|
| A step fails with "The disk is full, so ... stopped." | Press **Free space**; Settings → **Backup & storage** shows each project's size. Delete projects you do not need (they go to the [Trash](Trash); **Delete now** frees the space at once), or use **Keep outputs only** on finished projects. Then try again. |
|
|
109
|
-
| You want space back from a finished project | On its page, **
|
|
110
|
-
|
|
|
109
|
+
| You want space back from a finished project | On its page, **Edit settings** → **Versions** → **Free space** → **Free …**. See [Project Page](Project-Page#free-space). |
|
|
110
|
+
| **Versions** or **All files** shows "File missing" | That file was removed from disk (for example by **Keep outputs only**, or by hand). Make it again to get it back. |
|
|
111
111
|
|
|
112
112
|
See [Where Your Files Live](Where-Your-Files-Live).
|
|
113
113
|
|
|
@@ -120,7 +120,7 @@ See [Where Your Files Live](Where-Your-Files-Live).
|
|
|
120
120
|
| AI CLIs | Run directly with your logins | Run on the host through a small helper, `slopify-cli-bridge.service`, with your existing logins. Check it with `systemctl --user status slopify-cli-bridge.service`. Without it, Settings shows the CLIs as unavailable. |
|
|
121
121
|
| **Open folder** | Opens your file manager | Opens it through the host helper; without the helper you get the path to copy, and "run the Docker launcher again ... so it sets up the host helper" |
|
|
122
122
|
| Start at login | Settings → General → **Start Slopify when I log in** | Slopify starts whenever Docker does; Settings only shows Docker's own setting (with Docker Desktop, its **Start Docker Desktop when you sign in**) |
|
|
123
|
-
| Updating |
|
|
123
|
+
| Updating | **Help → Check for updates** at the foot of the rail, or `npx @gentbajko/slopify@latest update` while Slopify is running | `npx @gentbajko/slopify@latest update` from the terminal. It keeps a recovery copy of your data in a Docker volume and puts the previous version back if the new one does not start. |
|
|
124
124
|
|
|
125
125
|
If an install or update fails, the message names what failed and, in Docker, the volume that holds the recovery copy of your data. Do not delete that volume; fix the problem and run the same command again. See [Docker](Docker) and [Updating and Patch Notes](Updating-and-Patch-Notes).
|
|
126
126
|
|
|
@@ -128,27 +128,27 @@ If an install or update fails, the message names what failed and, in Docker, the
|
|
|
128
128
|
|
|
129
129
|
| What you see | What it means |
|
|
130
130
|
| --- | --- |
|
|
131
|
-
| **Queued** | Other videos in the
|
|
131
|
+
| **Queued** | Other videos in the queue go first. Home's and the Calendar's **Waiting to start** show the order. |
|
|
132
132
|
| **Waiting for limits** / "Waiting for Codex limits (resets at 14:00)" | A CLI plan is used up; the run waits and carries on after the reset time shown. |
|
|
133
133
|
| **Waiting to try again** | A rate limit or timeout; it retries at the time shown. |
|
|
134
|
-
| **Waiting for your review** | A
|
|
135
|
-
| **Waiting for the agent** |
|
|
136
|
-
| **
|
|
137
|
-
| A step says **taking longer than usual** | It has run longer than the same step usually takes in your finished runs. It is still going; open **
|
|
134
|
+
| **Waiting for your review** | A pause is holding the run. Press **Approve and make the …**. See [Pauses and Checks](Reviews-and-Checkpoints). |
|
|
135
|
+
| **Waiting for the agent** | An AI check set to **Your own AI agent** waits for your agent. Check the agent's routine is running; with no answer, the review passes by itself after 2 hours. See [Agents (MCP)](Agents-MCP). |
|
|
136
|
+
| **Waiting for its day** | Its schedule made it ahead; the video is made on its day. |
|
|
137
|
+
| A step says **taking longer than usual** | It has run longer than the same step usually takes in your finished runs. It is still going; open **Progress** to see whether text or images are still arriving. |
|
|
138
138
|
| **Paused** | Press **Continue the run**. |
|
|
139
139
|
| **Stopped** | The run was interrupted (for example by a restart). Press **Continue the run**. |
|
|
140
140
|
| A step is failed with "interrupted" | Slopify stopped while it ran. Press **Try ... again**. |
|
|
141
141
|
|
|
142
142
|
## Tips
|
|
143
143
|
|
|
144
|
-
- Open
|
|
144
|
+
- Open **Progress** on a running project to watch text, narration and images arrive; it shows whether anything is still happening.
|
|
145
145
|
- Keep Slopify on `127.0.0.1`. There is no login, so anyone who reaches the port controls the app and its keys.
|
|
146
146
|
|
|
147
147
|
## Related pages
|
|
148
148
|
|
|
149
149
|
- [Recovery and Retries](Recovery-and-Retries)
|
|
150
150
|
- [FAQ](FAQ)
|
|
151
|
-
- [
|
|
151
|
+
- [Keys and Services](Providers-and-Keys)
|
|
152
152
|
- [AI CLIs](AI-CLIs)
|
|
153
153
|
- [Docker](Docker)
|
|
154
154
|
- [Install](Install)
|
|
@@ -7,7 +7,7 @@ How to take Slopify off a computer, and how to move your projects between a norm
|
|
|
7
7
|
## Before you remove anything
|
|
8
8
|
|
|
9
9
|
1. Let running projects finish, or pause them.
|
|
10
|
-
2. Open Settings → **Backup & storage** and press **Export everything**. Keep the downloaded `.tar` file somewhere safe. It holds every project with its files and
|
|
10
|
+
2. Open Settings → **Backup & storage** and press **Export everything**. Keep the downloaded `.tar` file somewhere safe. It holds every project with its files and versions, your prompts, templates, schedules, Create drafts, fonts, settings and usage. It does not hold your service keys; keep those in your password manager.
|
|
11
11
|
3. If you turned on Settings → **General** → **Start Slopify when I log in**, turn it off. That removes the login entry, so nothing tries to start Slopify at your next login.
|
|
12
12
|
|
|
13
13
|
Deleting the folders below can't be undone. Scheduled backups in your `Backups` folder are deleted with it unless you move them first.
|
|
@@ -59,7 +59,7 @@ The installer turned on user lingering for the bridge (so your user services run
|
|
|
59
59
|
3. Start Slopify normally: `npx @gentbajko/slopify@latest`. See [Install](Install).
|
|
60
60
|
4. In the new Slopify, open Settings → **Backup & storage** → **Import a backup** and pick the `.tar` file. Large backups take a while to upload and check.
|
|
61
61
|
5. Read the summary. Projects, library, templates and settings come in; schedules arrive paused.
|
|
62
|
-
6. Enter your
|
|
62
|
+
6. Enter your service keys in Settings → **Keys & services** and check your voices in Settings → **Voices**.
|
|
63
63
|
7. Resume your schedules on the Schedules screen. See [Schedules](Schedules).
|
|
64
64
|
8. Once everything opens fine, remove the Docker install as above.
|
|
65
65
|
|
|
@@ -69,7 +69,7 @@ The installer turned on user lingering for the bridge (so your user services run
|
|
|
69
69
|
2. Stop it (`Ctrl+C`). If start-at-login is on, turn it off first so it doesn't come back at the next login and take port 6969.
|
|
70
70
|
3. Install Docker: `npx @gentbajko/slopify@latest --docker`. See [Docker](Docker).
|
|
71
71
|
4. Open `http://127.0.0.1:6969`, go to Settings → **Backup & storage** → **Import a backup** and pick the file.
|
|
72
|
-
5. Enter your
|
|
72
|
+
5. Enter your service keys, resume schedules, and check that your projects open.
|
|
73
73
|
6. Remove the old install when you are sure.
|
|
74
74
|
|
|
75
75
|
## Move to another computer
|
|
@@ -87,7 +87,7 @@ An import adds and never replaces:
|
|
|
87
87
|
| Schedules | Arrive paused, so two installs never run them both. |
|
|
88
88
|
| Settings | Filled in where this install has none; this install's own are kept. |
|
|
89
89
|
| Usage history | Added once; importing the same backup again doesn't count it twice. |
|
|
90
|
-
|
|
|
90
|
+
| Service keys | Never in a backup. Enter them again. |
|
|
91
91
|
|
|
92
92
|
Running projects must finish or pause before an import. See [Backups](Backups) for what an archive carries in full.
|
|
93
93
|
|
|
@@ -108,6 +108,6 @@ To put your project files on another disk or in Documents while keeping the same
|
|
|
108
108
|
- [Install](Install)
|
|
109
109
|
- [Docker](Docker)
|
|
110
110
|
- [Start at Login](Start-at-Login)
|
|
111
|
-
- [
|
|
111
|
+
- [Keys and Services](Providers-and-Keys)
|
|
112
112
|
- [Schedules](Schedules)
|
|
113
113
|
- [Trash](Trash)
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
Slopify checks for new versions by itself and updates with one click or one command. An update waits for running work, keeps a copy to go back to, and puts the previous version back if the new one doesn't start. After an update, the new version's patch notes open once.
|
|
4
4
|
|
|
5
|
-
**Where to find it:**
|
|
5
|
+
**Where to find it:** **Help → Check for updates** at the foot of the rail, and **Update ready** in the rail when a new version is ready. Patch notes are in **Help → What's new** (Settings → **Patch notes**); Settings → **About** has **What's new in this version**.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Where updates show
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
**Help** at the foot of the rail ends with the update row: a line with the version you are running (`You have Slopify …`, or `Your version: … · Newest: …`) and the one thing to do. While there is something new, the rail also shows an item for it, in words, above **Search**. On a phone the update stays inside **Help**, which turns lime-ink while an update is ready.
|
|
10
10
|
|
|
11
|
-
| What you see | Meaning |
|
|
11
|
+
| What you see | Meaning | The row does |
|
|
12
12
|
| --- | --- | --- |
|
|
13
|
-
| No
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
13
|
+
| No item in the rail; Help says **Check for updates** | You have the newest version, as of the last check. | Checks again now. |
|
|
14
|
+
| **Update ready** in the rail; its menu says what installing does | An update is ready. | **Install update X** downloads and installs it. |
|
|
15
|
+
| **Checking for updates…** or **Updating…** | Checking, or updating. | Nothing; wait. |
|
|
16
|
+
| **Update waiting**, and the line **Update to X will install when 'Title' finishes.** | The update is waiting for running work. | **Cancel the update** drops the waiting update. |
|
|
17
|
+
| **Update failed**, and the line says what | The last update had a problem. | **Install update X** tries again. |
|
|
18
18
|
|
|
19
19
|
Slopify checks every 15 minutes and whenever you come back to the tab.
|
|
20
20
|
|
|
21
21
|
## Update from the app
|
|
22
22
|
|
|
23
|
-
1.
|
|
24
|
-
2. If a video is being made, the update waits. A message says **Update to X will install when 'Title' finishes.**
|
|
23
|
+
1. Press **Update ready** in the rail (or **Help**), then **Install update X**. The menu says first that installing restarts Slopify and that anything running finishes first.
|
|
24
|
+
2. If a video is being made, the update waits. A message says **Update to X will install when 'Title' finishes.** **Cancel the update** in the same menu drops it; nothing has changed yet.
|
|
25
25
|
3. When nothing is running, Slopify installs the new version, stops, and starts the new one.
|
|
26
26
|
4. The page reconnects by itself. If another open tab was loaded before the update, it shows **Slopify was updated** with **Reload**.
|
|
27
27
|
|
|
@@ -33,7 +33,7 @@ Run:
|
|
|
33
33
|
npx @gentbajko/slopify@latest update
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
It asks the running Slopify to update itself, exactly as
|
|
36
|
+
It asks the running Slopify to update itself, exactly as **Install update** does, and follows it until it is done:
|
|
37
37
|
|
|
38
38
|
- `Slopify X is already the newest version.` when there is nothing to do.
|
|
39
39
|
- `Slopify is generating right now. Waiting for running work to finish before updating (press Ctrl+C to cancel; nothing has been changed yet)...` while work runs.
|
|
@@ -58,9 +58,9 @@ Later starts of Slopify, including an older `npx` or a global `slopify` command,
|
|
|
58
58
|
|
|
59
59
|
For Docker, the installer does the update from the host with a recovery copy of the whole data volume. See [Docker](Docker#update-the-docker-install).
|
|
60
60
|
|
|
61
|
-
## When the
|
|
61
|
+
## When the app can't update
|
|
62
62
|
|
|
63
|
-
The
|
|
63
|
+
The line above the update row says why:
|
|
64
64
|
|
|
65
65
|
| Message | What to do |
|
|
66
66
|
| --- | --- |
|
|
@@ -68,7 +68,7 @@ The button's label says why:
|
|
|
68
68
|
| Run Slopify from its installed package to use in-app updates. | You are running from source or a copy without its package files. Start it with `npx @gentbajko/slopify@latest`. |
|
|
69
69
|
| npm was not found, so in-app updates are off. | Install Node.js with npm from nodejs.org, or update from the terminal with `npx @gentbajko/slopify@latest`. |
|
|
70
70
|
| An update is already in progress. | Wait for it to finish. |
|
|
71
|
-
| An update is already waiting for running work to finish. | Wait, or
|
|
71
|
+
| An update is already waiting for running work to finish. | Wait, or press **Cancel the update**. |
|
|
72
72
|
|
|
73
73
|
If an update didn't finish, Slopify keeps or puts back the previous version. `logs/updates.log` in the data folder says why.
|
|
74
74
|
|
|
@@ -92,7 +92,7 @@ After an update to a new major version (for example 2.x to 3.0), the first launc
|
|
|
92
92
|
- The last step has **Read the full patch notes**.
|
|
93
93
|
- Closing the tour also counts as having seen that version's patch notes.
|
|
94
94
|
|
|
95
|
-
The 3.0 tour covers Home,
|
|
95
|
+
The 3.0 tour covers Home, Create's one path, An AI checks the results, Channels and cast, A channel that remembers (its Memory and Titles to avoid tabs), The calendar, What a run cost, Copy for YouTube Studio, Multiple voices, Long videos stay watchable (more images per hour and ambient sound), Other languages and A trash bin. A fresh install never sees it.
|
|
96
96
|
|
|
97
97
|
## Read the patch notes
|
|
98
98
|
|
|
@@ -106,8 +106,8 @@ To open the notes for the version you are running, go to Settings → **About**
|
|
|
106
106
|
|
|
107
107
|
## Tips
|
|
108
108
|
|
|
109
|
-
- Keep Slopify running overnight? Updates wait for running work, so you can press
|
|
110
|
-
- Settings → **About** has the same explanation of
|
|
109
|
+
- Keep Slopify running overnight? Updates wait for running work, so you can press **Install update** at any time and it installs when the current video is done.
|
|
110
|
+
- Settings → **About** has the same explanation of updates. GitHub, Patreon and Buy Me a Coffee are under **Support Slopify** at the foot of the rail.
|
|
111
111
|
- Updating doesn't touch your projects folder. For extra safety before a big update, use **Export everything** or turn on [Backups](Backups).
|
|
112
112
|
|
|
113
113
|
## Related pages
|