@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
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Create: Video and Style
|
|
2
|
+
|
|
3
|
+
The **Video and style** row decides how your images become a video: the frame shape, the captions, how long each image stays on screen and how it moves and cuts, the Look over the picture, an optional ambient sound and the polish on the narration's sound. The video is put together on this computer, so none of this costs service money except **Animate images**. A six-second style preview shows your choices on the bundled sample.
|
|
4
|
+
|
|
5
|
+
**Where to find it:** Create → **Video and style** row → **Change**. For an audiobook or podcast the row is called **Sound and captions**, and for a set of images **Shape and look**. After the run, the same controls are in the project's **Edit settings**; see [Video Editing](Video-Editing).
|
|
6
|
+
|
|
7
|
+
## Choose whether to make a video
|
|
8
|
+
|
|
9
|
+
The row starts with a **Video** switch:
|
|
10
|
+
|
|
11
|
+
| Choice | What happens | Cost |
|
|
12
|
+
| --- | --- | --- |
|
|
13
|
+
| **On (free)** (default) | Puts the slideshow video together on this computer from the images and narration. | No service money, only time |
|
|
14
|
+
| **Off (sound only)** | No video. With narration on, you get the narration as one audio file (a WAV with the intro, the article, the outro and the gaps between them). Without narration, each finished part downloads on its own. | None |
|
|
15
|
+
|
|
16
|
+
**On** needs images, so the video is off while Images is **None**. The line under the switch says what you will get: "The narration over the images, put together on this computer · free.", "Sound only: the narration as one audio file." or "Each finished stage downloads on its own."
|
|
17
|
+
|
|
18
|
+
## Frame format
|
|
19
|
+
|
|
20
|
+
| Option | What it does | Default |
|
|
21
|
+
| --- | --- | --- |
|
|
22
|
+
| **Frame format** | **Landscape** (16:9, for YouTube and screens), **Portrait** (9:16, for shorts and phones) or **Square** (1:1, for feeds). The images are drawn in this shape and the captions placed for it. Shorts are always portrait. | Landscape |
|
|
23
|
+
|
|
24
|
+
## Captions
|
|
25
|
+
|
|
26
|
+
Captions are timed from your narration on this computer, with no paid service. The first English captions download the speech model chosen in Settings → Production defaults → **Caption timing model** (378 MB unless changed). They need narration.
|
|
27
|
+
|
|
28
|
+
| Option | What it does | Default / range |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| **Captions** | **Off** makes none. **Caption files only (.srt + .vtt)** gives you files to upload beside the video. **Show captions in the video** draws them into the picture and also makes the files; it needs the video on. | Off |
|
|
31
|
+
| **Caption font** | The typeface of captions shown in the video and of chapter cards: the bundled **Barlow**, the fonts on this computer, or a font you uploaded. A sample line shows each one. | Barlow |
|
|
32
|
+
| **Upload font (.ttf or .otf)** | Adds your own font, right here in the caption font picker. Uploaded fonts stay available to every project and to a channel's brand kit. | |
|
|
33
|
+
| **Caption size** | How big captions in the video are. Larger is easier to read on phones but covers more of the picture. Once changed, it says **Changed · default 48** with **Reset**. | 48; 16 to 120, whole numbers |
|
|
34
|
+
| **Caption position** | Where captions in the video sit: **Top**, **Upper-middle**, **Center**, **Lower-middle** or **Bottom**. Move them up when the pictures have important detail near the bottom. | Bottom |
|
|
35
|
+
| **Preview sentence** | The words the style preview's captions show. Only the preview shows it; real captions come from the narration. | "Every story begins with a word." |
|
|
36
|
+
|
|
37
|
+
Font, size and position show only while captions are shown in the video: with caption files only (or no video) they are left out, since players style `.srt` and `.vtt` files themselves. The channel's brand kit can fill the caption font when you leave it at the default.
|
|
38
|
+
|
|
39
|
+
### Show captions in the video
|
|
40
|
+
|
|
41
|
+
1. Make sure Narration is not **Off** and Video is **Make the video**.
|
|
42
|
+
2. Set **Captions** to **Show captions in the video**.
|
|
43
|
+
3. Pick a **Caption font**, or press **Upload font (.ttf or .otf)** and pick a file. Wait for the upload to finish; the run cannot start during it.
|
|
44
|
+
4. Set **Caption size** and **Caption position**.
|
|
45
|
+
5. Press **Watch a 6-second preview** in the rail.
|
|
46
|
+
|
|
47
|
+
If a saved font is missing (for example after a reinstall), the picker says so: choose another font or upload it again.
|
|
48
|
+
|
|
49
|
+
After the run, you can fix a misheard word or nudge a caption's timing on the project page. See [Video Editing](Video-Editing).
|
|
50
|
+
|
|
51
|
+
## Images and cuts
|
|
52
|
+
|
|
53
|
+
**Images and cuts** is the part of the row under the captions.
|
|
54
|
+
|
|
55
|
+
| Option | What it does | Default / range |
|
|
56
|
+
| --- | --- | --- |
|
|
57
|
+
| **Seconds per image** | How long each image stays on screen. When cuts follow the narration, it is the target and a cut waits for a sentence end. When the images run out they start again. | 15; 1 to 600 |
|
|
58
|
+
| **Zoom (%)** | How far each image zooms in or out over its time on screen. 0 keeps images still. | 22.5; 0 to 50 |
|
|
59
|
+
| **Motion** | How each image moves: **Zoom in and out**, **Pan across**, **Mix of both** (by turns) or **Still**. A mix keeps a long video watchable. | Zoom in and out |
|
|
60
|
+
| **Cuts** | **Every N seconds** holds each image for Seconds per image. **Follow the narration** cuts in the pause after a sentence, as close to that length as the sentences allow (never under 40% of it), and starts a new image at every chapter. | Follow the narration for new projects |
|
|
61
|
+
|
|
62
|
+
**Follow the narration** needs word timing, so it works in English and the languages that have it. For a language without word timing, **Cuts** stays on **Every N seconds** and a note under it says why. See [Other Languages](Other-Languages).
|
|
63
|
+
|
|
64
|
+
Turning on **More images for long videos** in the Images row switches **Motion** from Zoom to **Mix of both**. See [Images](Create-Images#more-images-for-long-videos).
|
|
65
|
+
|
|
66
|
+
## The Look
|
|
67
|
+
|
|
68
|
+
**Look** is a fold in the row. Folded, its line lists what is on (for example **Crossfade 2 s · Warm fantasy · Fog · Vignette**). Everything in it is drawn on this computer at no cost; only animated images are charged, by the image service.
|
|
69
|
+
|
|
70
|
+
| Option | What it does | Default / range |
|
|
71
|
+
| --- | --- | --- |
|
|
72
|
+
| **Transition** | How one image hands over to the next: **Cut**, **Crossfade**, **Fade through black**, **Slide** or **Wipe**. The change is centred on the cut and takes the length you pick, so the video stays exactly as long as its narration. | Cut; length 0.6 s (0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.5 or 2 s) |
|
|
73
|
+
| **Color grade** | A color treatment over the whole video: **Warm fantasy**, **Cold**, **Desaturated** or **Sepia**. | None |
|
|
74
|
+
| **Vignette** | Darkens the corners to draw the eye to the middle: **Subtle** or **Strong**. | Off |
|
|
75
|
+
| **Film grain** | Moving film grain over the whole picture for an older, filmic feel: **Subtle** or **Strong**. | Off |
|
|
76
|
+
| **Atmosphere** | An overlay Slopify draws itself: rising **Embers**, drifting **Dust**, or low **Fog** along the bottom of the frame. Nothing is downloaded and no service is called. | None |
|
|
77
|
+
| **Chapter cards** | Shows each chapter's title in the middle of the picture for 2.5 seconds as the chapter starts, in the caption font. Chapters come from the YouTube description when that step runs, otherwise from the article's headings. Needs narration. | Off |
|
|
78
|
+
| **Animate images** | Turns some images into 5-second moving clips with an image-to-video model on your image service (fal.ai or Replicate). **Chapter openers** animates the first image of each chapter (needs narration); **Every Nth image** animates every 2nd to 10th. Pick the image-to-video model in the box beside it. Each clip is one paid call, shown in the estimate. An image that cannot be animated stays still. | Off |
|
|
79
|
+
|
|
80
|
+
### Animate some images
|
|
81
|
+
|
|
82
|
+
1. Make sure the Images row uses fal.ai or Replicate. Other services have no image-to-video models, and the Look says so.
|
|
83
|
+
2. Open **Look** and set **Animate images** to **Chapter openers** or **Every Nth image**.
|
|
84
|
+
3. For **Every Nth image**, pick how often (every 2 to every 10).
|
|
85
|
+
4. Pick the image-to-video model. The run cannot start until one is picked.
|
|
86
|
+
5. Check the added cost in the estimate.
|
|
87
|
+
|
|
88
|
+
## Ambient sound
|
|
89
|
+
|
|
90
|
+
An optional sound of rain, a fireplace, wind or your own audio file, played quietly under the whole narration of the long video. It dips while the narrator speaks, including under the intro and outro. It is shown while both the video and the narration are on.
|
|
91
|
+
|
|
92
|
+
| Option | What it does | Default / range |
|
|
93
|
+
| --- | --- | --- |
|
|
94
|
+
| **Ambient sound** | **The channel's (brand kit)** uses whatever the channel's kit says, which may be nothing. **None** plays nothing, whatever the channel has. **Rain**, **Fireplace** and **Wind** are made on this computer, so nothing is downloaded and the same settings always sound the same. **My own file** uploads an audio file, looped if shorter than the video. | The channel's (brand kit) |
|
|
95
|
+
| **Level (dB)** | How loud it plays under the voice, from −40 (barely there) to −6 (close to the voice). Whole numbers only. | −18 |
|
|
96
|
+
| **Fade in (seconds)** | How long it takes to rise from silence at the start. | 3; 0 to 30 in steps of 0.5 |
|
|
97
|
+
| **Tail after the narration (seconds)** | How long it keeps playing, fading out, after the narration ends. It plays over the silence already at the end; a tail longer than **Silence at start and end** makes the video that much longer. | 6; 0 to 30 in steps of 0.5 |
|
|
98
|
+
|
|
99
|
+
Only the long video gets it: shorts keep their own background music, and the sound-only WAV stays the narration alone. It costs no service calls. A template with **My own file** cannot run on a schedule, because the file has to be attached again on Create; pick a built-in sound for scheduled runs. A channel's brand kit can only hold the three built-in sounds.
|
|
100
|
+
|
|
101
|
+
## Sound polish
|
|
102
|
+
|
|
103
|
+
**Sound polish** is a fold at the end of the row. Its line says what is on (for example **Volume levelled**). It shows while there is narration.
|
|
104
|
+
|
|
105
|
+
| Option | What it does | Default |
|
|
106
|
+
| --- | --- | --- |
|
|
107
|
+
| **Pause between sentences (seconds)**, **Pause between paragraphs (seconds)** | The least quiet after each sentence and each paragraph. | 0.4 and 0 |
|
|
108
|
+
| **Soften breaths** | Turns the audible breaths between sentences down. Words and timing stay the same. | Off |
|
|
109
|
+
| **Soften S sounds** | Takes the sharp edge off s and sh sounds; very light, the voice keeps its brightness. | Off |
|
|
110
|
+
| **Level each sentence** | Holds each sentence to the ones around it, so no line jumps out or drops away. Needs **Level the volume**. | Off |
|
|
111
|
+
| **Level the volume**, **Video volume**, **Audio files volume** | Brings every narration piece to one loudness and sets the finished files to a target loudness. | On; 0 dB and 0 dB |
|
|
112
|
+
| **Silence at start and end (seconds)**, **Silence between segments (seconds)** | Quiet before and after the narration, and between the intro, the article and the outro. | 2, and the Settings value |
|
|
113
|
+
|
|
114
|
+
The pauses, levelling and silences shape the narration, so they are described in full on [Narration](Create-Narration#pauses-between-sentences-and-paragraphs).
|
|
115
|
+
|
|
116
|
+
## Style preview
|
|
117
|
+
|
|
118
|
+
**Watch a 6-second preview** in the rail opens **Preview with your captions and look**: six seconds put together on this computer by the real video renderer, with your captions, Look and motion. It plays the bundled sample project's real narration over three of its pictures, two seconds each, so a transition and a chapter card both show, and the captions are timed to the narration's words, as in a real video. It plays with sound, and costs nothing.
|
|
119
|
+
|
|
120
|
+
The pictures are the sample's (in your frame shape), unless there is something closer to your video: your uploaded establishing image, or else a picture of the cast member the title names (or the first cast member with a picture). The line beside the button names the caption settings. **Make the preview again** makes a fresh one after you change a setting. If the caption settings are invalid, it says "Fix the caption settings to render the preview."
|
|
121
|
+
|
|
122
|
+
The preview's captions show the **Preview sentence**. Left at the sample sentence (or empty), they are the sample narration's own words; any other text is spread over the stretches where the narration speaks. It never reaches the video.
|
|
123
|
+
|
|
124
|
+
The same preview is in a project's **Edit settings** while its captions are open. Shorts have their own [Shorts preview](Shorts#shorts-preview).
|
|
125
|
+
|
|
126
|
+
## What the row says
|
|
127
|
+
|
|
128
|
+
Folded, the row reads like `Landscape 16:9, a new image at each sentence, a 2 s crossfade, a subtle vignette, a warm fantasy grade and drifting fog, captions in Barlow Regular.`: the frame, the cuts, the Look and the captions, or "No video: sound only" and "no captions".
|
|
129
|
+
|
|
130
|
+
## Tips
|
|
131
|
+
|
|
132
|
+
- Keep **Seconds per image** near the length of a few sentences (10 to 20 s) when cuts follow the narration.
|
|
133
|
+
- Try one Look setting at a time and watch the preview; they stack.
|
|
134
|
+
- Everything except **Animate images** only costs time on this computer, so you can change the Look later in **Edit settings** and make the video again for free.
|
|
135
|
+
|
|
136
|
+
## Related pages
|
|
137
|
+
|
|
138
|
+
- [Create Overview](Create-Overview)
|
|
139
|
+
- [Images](Create-Images)
|
|
140
|
+
- [Narration](Create-Narration)
|
|
141
|
+
- [Video Editing](Video-Editing)
|
|
142
|
+
- [Channels](Channels)
|
|
143
|
+
- [Other Languages](Other-Languages)
|
|
144
|
+
- [Schedules](Schedules)
|
package/dist/tutorials/Docker.md
CHANGED
|
@@ -36,7 +36,7 @@ Running the same command again with nothing changed does nothing, apart from sta
|
|
|
36
36
|
| Image | `ghcr.io/gentbajko/slopify:<version>`, pinned to the version of the installer you ran. It runs as a non-root user and already contains ffmpeg, the caption model and eSpeak NG, so the [System voice](Providers-and-Keys#the-system-voice) can narrate with no key. A healthcheck asks the app whether it is up. |
|
|
37
37
|
| Compose file | Copied to `~/.local/share/slopify/docker/slopify/` with a private `.env` beside it. One service, `slopify`, with `restart: unless-stopped`. |
|
|
38
38
|
| Port | `127.0.0.1:6969` on the host, localhost only. |
|
|
39
|
-
| Data volume | `slopify-data`, mounted at `/data`. It holds the database,
|
|
39
|
+
| Data volume | `slopify-data`, mounted at `/data`. It holds the database, service keys, settings, logs and staging. It is declared external, so `docker compose down` (even with `-v`) never deletes it. |
|
|
40
40
|
| Projects folder | A folder on your computer, mounted at `/data/projects`. |
|
|
41
41
|
| Backups folder | A folder on your computer for scheduled backups, mounted at `/data/backups` (new installs from 3.0). |
|
|
42
42
|
| Host CLI bridge | Optional. A small helper that lets the container use your AI command-line tools. |
|
|
@@ -115,7 +115,7 @@ systemctl --user status slopify-cli-bridge.service
|
|
|
115
115
|
systemctl --user disable --now slopify-cli-bridge.service
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
-
Turning it off leaves Docker, your
|
|
118
|
+
Turning it off leaves Docker, your keyed services, your data and your host logins as they are. Run the install again after installing or moving a CLI.
|
|
119
119
|
|
|
120
120
|
If the installer can't ask (no interactive terminal), it stops and tells you to rerun with `--accept-host-cli` or `--host-cli=off`. Using the bridge needs systemd user services (`systemctl --user`); without them, use `--host-cli=off`.
|
|
121
121
|
|
|
@@ -152,7 +152,7 @@ SLOPIFY_PROJECTS_DIR=~/Documents/Slopify/Projects SLOPIFY_USER="$(id -u):$(id -g
|
|
|
152
152
|
|
|
153
153
|
Update by changing `SLOPIFY_IMAGE` and running `docker compose up -d` again. This way has no automatic recovery copy or rollback, and Settings → General can't tell whether Docker starts at login.
|
|
154
154
|
|
|
155
|
-
Keep the `127.0.0.1` binding. Anyone who reaches Slopify's port controls the app and its
|
|
155
|
+
Keep the `127.0.0.1` binding. Anyone who reaches Slopify's port controls the app and its service keys.
|
|
156
156
|
|
|
157
157
|
## Tips
|
|
158
158
|
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
#
|
|
1
|
+
# PDF Looks
|
|
2
2
|
|
|
3
|
-
A document theme is
|
|
3
|
+
A PDF look (saved as a document theme) is how the PDF Slopify makes from the article looks: paper size, colors, fonts, spacing, the title page, contents, sources and closing pages, headers and page numbers. Slopify ships three ready looks, **Plain**, **Book** and **Modern**. Copy one to make looks of your own, with a live preview as you edit.
|
|
4
4
|
|
|
5
|
-
**Where to find it:** **
|
|
5
|
+
**Where to find it:** **Edit PDF looks** beside the **PDF look** on Create's **Extras** row, in Edit template's **PDF** section or under **Settings → Production defaults**. Pick a look on Create, in a project's **Edit settings**, or as a channel's default in its brand kit.
|
|
6
6
|
|
|
7
|
-
## Built-in and your own
|
|
7
|
+
## Built-in and your own looks
|
|
8
8
|
|
|
9
9
|
| List | What it holds |
|
|
10
10
|
|---|---|
|
|
11
|
-
| **Built
|
|
12
|
-
| **Your
|
|
11
|
+
| **Built in** | Looks that ship with Slopify and can't be changed. **Plain** is an unbranded flat page and what a new project gets; **Book** is book type on parchment; **Modern** is a sans-serif on white. Press **Copy look** to make an editable copy. |
|
|
12
|
+
| **Your looks** | Looks you made or copied. Each has **Edit**, **Duplicate** and **Delete**. |
|
|
13
13
|
|
|
14
|
-
A project keeps its own copy of the
|
|
14
|
+
A project keeps its own copy of the look's settings. Editing or deleting a look never changes a PDF already made or queued.
|
|
15
15
|
|
|
16
|
-
## Make a
|
|
16
|
+
## Make a look
|
|
17
17
|
|
|
18
|
-
1. Open **
|
|
19
|
-
2. Press **New
|
|
20
|
-
3. Type a **Name** (up to 80 characters). This is what the
|
|
21
|
-
4. Open the groups on the left and change what you like (every setting is listed below). The first two groups start open.
|
|
22
|
-
5. Watch the **Preview** on the right. It lays out a sample article with this
|
|
18
|
+
1. Open **PDF looks** (Settings → Production defaults → PDF look → **Edit PDF looks**).
|
|
19
|
+
2. Press **New look** (it starts from Plain), or pick a built-in look and press **Copy look**, or press **Duplicate** on one of your looks.
|
|
20
|
+
3. Type a **Name** (up to 80 characters). This is what the **PDF look** picker on Create and a project's Edit settings shows.
|
|
21
|
+
4. Open the groups on the left and change what you like (every setting is listed below). The first two groups start open. One line under each group's title says what its settings place and in what unit, and a setting that needs more says it under its box. A changed setting offers a reset back to where it started.
|
|
22
|
+
5. Watch the **Preview** on the right. It lays out a sample article with this look using the same renderer that makes a project's PDF, redrawn about half a second after you stop typing. It runs on your computer and costs nothing.
|
|
23
23
|
6. Press **Save**. If a setting is out of range it is highlighted, and Save says "Fix the highlighted settings first."
|
|
24
24
|
|
|
25
|
-
## Use a
|
|
25
|
+
## Use a look
|
|
26
26
|
|
|
27
|
-
- **On
|
|
28
|
-
- **On a finished project:** open **Edit
|
|
29
|
-
- **For a channel:** set **
|
|
27
|
+
- **On Create:** open the **Extras** row, tick **PDF of the article** and pick the **PDF look**. See [PDF documents](PDF-Documents).
|
|
28
|
+
- **On a finished project:** open **Edit settings** → **Extras**, pick the look under **PDF look**, press **Save changes**, then **Make the PDF again (free)**.
|
|
29
|
+
- **For a channel:** set **PDF look** in the channel's brand kit. Videos whose template picks no look get it. See [Channels](Channels).
|
|
30
30
|
|
|
31
|
-
## Delete a
|
|
31
|
+
## Delete a look
|
|
32
32
|
|
|
33
|
-
Press **Delete** on the
|
|
33
|
+
Press **Delete** on the look and confirm. Projects that used it keep their own copy of its settings. A channel whose brand kit named it skips it.
|
|
34
34
|
|
|
35
35
|
## Every setting
|
|
36
36
|
|
|
37
|
-
Sizes are in
|
|
37
|
+
Sizes are in millimeters (mm) unless marked pt (points; 1 pt is about 0.35 mm). Defaults are the Plain look's.
|
|
38
38
|
|
|
39
39
|
### Page
|
|
40
40
|
|
|
@@ -43,21 +43,21 @@ Sizes are in millimetres (mm) unless marked pt (points; 1 pt is about 0.35 mm).
|
|
|
43
43
|
| **Paper size** | A4 (210 × 297 mm) for most of the world, US Letter (216 × 279 mm) for the US and Canada. | A4 | |
|
|
44
44
|
| **Margins** | Blank space on every edge of each page. Wider margins mean shorter lines and more pages. | 22 mm | 5 to 60 |
|
|
45
45
|
| **Text starts at** | How far from the top the text begins on pages with the running header. Raise it when text crowds the header. | 32 mm | 5 to 80 |
|
|
46
|
-
| **Background** | **Parchment texture** stretches an aged-paper picture over every page. **Flat
|
|
47
|
-
| **Page
|
|
46
|
+
| **Background** | **Parchment texture** stretches an aged-paper picture over every page. **Flat color** fills each page with the Page color, slightly darker at the edges. | Flat color | |
|
|
47
|
+
| **Page color** | The page color with Flat color. Type a hex code or use the picker. | `#fdfaf3` (warm off-white) | |
|
|
48
48
|
|
|
49
|
-
###
|
|
49
|
+
### Colors
|
|
50
50
|
|
|
51
|
-
| Setting | What it
|
|
51
|
+
| Setting | What it colors | Default |
|
|
52
52
|
|---|---|---|
|
|
53
|
-
| **Heading
|
|
54
|
-
| **Body text
|
|
55
|
-
| **Muted
|
|
56
|
-
| **Faint
|
|
53
|
+
| **Heading color** | Headings, drop caps, the brand name and links | `#1f3a5f` (dark blue) |
|
|
54
|
+
| **Body text color** | Paragraphs, lists, bold and italic text. Keep it dark against the page. | `#1a1a1a` (near black) |
|
|
55
|
+
| **Muted color** | Dates, bullets, quotes and the dotted lines on the contents page | `#555555` (mid gray) |
|
|
56
|
+
| **Faint color** | The running header and page numbers | `#888888` (light gray) |
|
|
57
57
|
|
|
58
58
|
### Fonts
|
|
59
59
|
|
|
60
|
-
Each font has three controls: the family, its weight or italic, and
|
|
60
|
+
Each font has three controls: the family, its weight or italic, and the space between its letters, in the box marked **mm between letters**, from −0.5 to 2. The families are **Cinzel** (bundled; four weights, no italics), **Literata** (bundled; a text face made for long reading, in regular, bold, italic and bold italic) and **Times**, **Helvetica** and **Courier** (built into every PDF reader).
|
|
61
61
|
|
|
62
62
|
| Setting | Where it is used | Default |
|
|
63
63
|
|---|---|---|
|
|
@@ -95,7 +95,7 @@ Each font has three controls: the family, its weight or italic, and **Letter spa
|
|
|
95
95
|
| **After a list item** | Extra space after each bulleted or numbered item | 0.2 | 0 to 3 |
|
|
96
96
|
| **List indent** | How far lists are pushed in from the left margin | 6 mm | 0 to 30 |
|
|
97
97
|
| **Quote indent** | How far quotes are pushed in | 8 mm | 0 to 40 |
|
|
98
|
-
| **Divider width** | The width of the short
|
|
98
|
+
| **Divider width** | The width of the short centered line a `---` in the article becomes | 30 mm | 0 to 150 |
|
|
99
99
|
|
|
100
100
|
### Drop caps
|
|
101
101
|
|
|
@@ -203,5 +203,5 @@ These appear in a PDF reader's document properties, not on the pages.
|
|
|
203
203
|
|
|
204
204
|
- [PDF documents](PDF-Documents)
|
|
205
205
|
- [Channels](Channels)
|
|
206
|
-
- [
|
|
207
|
-
- [
|
|
206
|
+
- [Prompts and Templates](Prompts-and-Templates)
|
|
207
|
+
- [Create: Extras](Create-Extras)
|