@gentbajko/slopify 3.25.9 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/account-limits.js +30 -0
- package/dist/adapters/alignment/audio.js +1 -1
- package/dist/adapters/alignment/cache.js +4 -6
- package/dist/adapters/alignment/ctc.js +1 -2
- package/dist/adapters/alignment/lock.js +4 -3
- package/dist/adapters/alignment/multilingual.js +2 -4
- package/dist/adapters/alignment/prefetch.js +2 -1
- package/dist/adapters/alignment/runner.js +1 -1
- package/dist/adapters/alignment/worker.js +3 -2
- package/dist/adapters/explain.js +10 -12
- package/dist/adapters/ffmpeg.js +19 -1
- package/dist/adapters/host-cli/index.js +21 -4
- package/dist/adapters/host-cli/transport.js +2 -1
- package/dist/adapters/http-failure.js +53 -0
- package/dist/adapters/image/bytes.js +2 -1
- package/dist/adapters/image/codex.js +42 -9
- package/dist/adapters/image/fal.js +21 -53
- package/dist/adapters/image/google.js +33 -56
- package/dist/adapters/image/models.js +2 -2
- package/dist/adapters/image/openai.js +22 -48
- package/dist/adapters/image/reference.js +36 -0
- package/dist/adapters/image/replicate.js +21 -49
- package/dist/adapters/image/video.js +2 -1
- package/dist/adapters/interest/search-interest.js +113 -0
- package/dist/adapters/key-probes.js +54 -3
- package/dist/adapters/llm/antigravity-models.js +1 -1
- package/dist/adapters/llm/antigravity.js +11 -6
- package/dist/adapters/llm/assistant-cli.js +388 -0
- package/dist/adapters/llm/child-session.js +83 -0
- package/dist/adapters/llm/claude-code-models.js +52 -99
- package/dist/adapters/llm/claude-code.js +16 -4
- package/dist/adapters/llm/codex-limits.js +27 -68
- package/dist/adapters/llm/codex-models.js +1 -1
- package/dist/adapters/llm/codex-server-models.js +61 -109
- package/dist/adapters/llm/codex.js +12 -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 +12 -48
- package/dist/adapters/llm/run-cli.js +9 -24
- package/dist/adapters/llm/sse-lines.js +5 -1
- package/dist/adapters/model-access.js +37 -0
- package/dist/adapters/tts/cartesia.js +15 -46
- package/dist/adapters/tts/elevenlabs.js +20 -52
- package/dist/adapters/tts/gemini.js +21 -41
- package/dist/adapters/tts/inworld-async.js +6 -2
- package/dist/adapters/tts/inworld.js +6 -2
- package/dist/adapters/tts/openai.js +20 -50
- package/dist/adapters/tts/system.js +2 -1
- package/dist/assets/models-lifecycle.yaml +6 -0
- package/dist/assistant-wiring.js +60 -0
- package/dist/autopilot-timers.js +59 -0
- package/dist/catalog/lifecycle.js +52 -0
- package/dist/catalog/propose.js +204 -0
- package/dist/catalog/registry.js +23 -14
- package/dist/catalog/schema.js +4 -1
- package/dist/catalog/store.js +39 -0
- package/dist/catalog/validate.js +5 -2
- package/dist/edge/autostart/native.js +3 -5
- package/dist/edge/autostart/prompt.js +2 -1
- package/dist/edge/autostart/service.js +3 -4
- package/dist/edge/cli-args.js +3 -4
- package/dist/edge/cli.js +2 -1
- package/dist/edge/docker-install/apply.js +11 -11
- package/dist/edge/docker-install/run.js +2 -1
- package/dist/edge/docker-install/state.js +4 -3
- package/dist/edge/docker-install/tree.js +2 -4
- package/dist/edge/docker-install/volume.js +3 -2
- package/dist/edge/docker.js +5 -4
- package/dist/edge/events/hub.js +5 -5
- package/dist/edge/http/actions.js +11 -32
- package/dist/edge/http/actor.js +5 -3
- package/dist/edge/http/app.js +86 -11
- package/dist/edge/http/assistant.js +129 -0
- package/dist/edge/http/audio-preview.js +4 -11
- package/dist/edge/http/auditions.js +1 -1
- package/dist/edge/http/autostart.js +5 -5
- package/dist/edge/http/backups.js +2 -4
- package/dist/edge/http/channel-memory.js +9 -22
- package/dist/edge/http/channels.js +14 -27
- package/dist/edge/http/checkpoints.js +39 -21
- package/dist/edge/http/design-templates.js +167 -0
- package/dist/edge/http/designs.js +178 -0
- package/dist/edge/http/diagnostics.js +5 -1
- package/dist/edge/http/document-themes.js +5 -14
- package/dist/edge/http/draft-files.js +1 -3
- package/dist/edge/http/draft-problem.js +5 -10
- package/dist/edge/http/drafts.js +3 -3
- package/dist/edge/http/entries.js +6 -9
- package/dist/edge/http/extension-auth.js +27 -0
- package/dist/edge/http/external-reviews.js +12 -11
- package/dist/edge/http/files.js +5 -11
- package/dist/edge/http/folder-location.js +1 -4
- package/dist/edge/http/fonts.js +0 -7
- package/dist/edge/http/home.js +47 -14
- package/dist/edge/http/host-cli.js +18 -8
- package/dist/edge/http/ids.js +8 -0
- package/dist/edge/http/keywords.js +35 -0
- package/dist/edge/http/model-checks.js +132 -0
- package/dist/edge/http/narration-peaks.js +5 -13
- package/dist/edge/http/onboarding.js +30 -26
- package/dist/edge/http/open-folder.js +5 -10
- package/dist/edge/http/outputs.js +7 -14
- package/dist/edge/http/patch-notes.js +6 -12
- package/dist/edge/http/planning.js +3 -7
- package/dist/edge/http/problem.js +2 -4
- package/dist/edge/http/project-create.js +2 -1
- package/dist/edge/http/project-templates.js +31 -19
- package/dist/edge/http/projects.js +24 -16
- package/dist/edge/http/prompts.js +9 -16
- package/dist/edge/http/pronunciations.js +1 -2
- package/dist/edge/http/providers.js +48 -34
- package/dist/edge/http/refusal.js +29 -0
- package/dist/edge/http/remote-access.js +40 -0
- package/dist/edge/http/remote-guard.js +71 -0
- package/dist/edge/http/request-guard.js +91 -0
- package/dist/edge/http/reviews.js +12 -25
- package/dist/edge/http/revision-files.js +6 -11
- package/dist/edge/http/revisions.js +14 -19
- package/dist/edge/http/run-cost.js +1 -2
- package/dist/edge/http/same-page.js +80 -0
- package/dist/edge/http/schedules.js +69 -40
- package/dist/edge/http/settings.js +27 -14
- package/dist/edge/http/social.js +283 -0
- package/dist/edge/http/staging.js +3 -5
- package/dist/edge/http/storage-files.js +5 -7
- package/dist/edge/http/storage.js +33 -25
- package/dist/edge/http/studio.js +94 -69
- package/dist/edge/http/style-preview.js +3 -6
- package/dist/edge/http/subtitles.js +3 -17
- package/dist/edge/http/template-studio.js +436 -0
- package/dist/edge/http/trash.js +11 -12
- package/dist/edge/http/tutorial.js +1 -2
- package/dist/edge/http/tutorials.js +5 -11
- package/dist/edge/http/update.js +7 -13
- package/dist/edge/http/waveform.js +3 -6
- package/dist/edge/http/youtube-edits.js +3 -4
- package/dist/edge/mcp/assistant.js +279 -0
- package/dist/edge/mcp/attribution.js +8 -2
- package/dist/edge/mcp/call-route.js +11 -2
- package/dist/edge/mcp/excluded-routes.js +29 -3
- package/dist/edge/mcp/http.js +11 -2
- package/dist/edge/mcp/instructions.js +6 -4
- package/dist/edge/mcp/library-tools.js +9 -5
- package/dist/edge/mcp/remake-tools.js +7 -4
- package/dist/edge/mcp/route-tool.js +35 -15
- package/dist/edge/mcp/server.js +13 -8
- package/dist/edge/mcp/tools-channels.js +11 -9
- package/dist/edge/mcp/tools-designs.js +165 -0
- package/dist/edge/mcp/tools-library.js +19 -7
- package/dist/edge/mcp/tools-planning.js +40 -21
- package/dist/edge/mcp/tools-projects.js +38 -11
- package/dist/edge/mcp/tools-publishing.js +9 -9
- package/dist/edge/mcp/tools-runs.js +23 -10
- package/dist/edge/mcp/tools-schedules.js +32 -8
- package/dist/edge/mcp/tools-setup.js +75 -11
- package/dist/edge/mcp/tools-social.js +47 -0
- package/dist/edge/mcp/tools-storage.js +11 -3
- package/dist/edge/mcp/tools-template-studio.js +166 -0
- package/dist/edge/mcp/tools.js +6 -0
- package/dist/edge/remote-access/cli.js +71 -0
- package/dist/edge/remote-access/model.js +32 -0
- package/dist/edge/remote-access/rules.js +207 -0
- package/dist/edge/remote-access/service.js +203 -0
- package/dist/edge/remote-access/store.js +44 -0
- package/dist/edge/remote-access/views.js +43 -0
- package/dist/extension/slopify-studio-chrome.zip +0 -0
- package/dist/extension/slopify-studio-firefox.zip +0 -0
- package/dist/host-cli/install.js +2 -2
- package/dist/host-cli/open-folder.js +2 -2
- package/dist/host-cli/paths.js +2 -4
- package/dist/host-cli/server.js +4 -4
- package/dist/host-cli/service.js +3 -3
- package/dist/host-cli/status.js +7 -7
- package/dist/kernel/db/migrations/0063-model-checks.sql +20 -0
- package/dist/kernel/db/migrations/0064-template-studio.sql +46 -0
- package/dist/kernel/db/migrations/0065-promise-and-assistant-reviews.sql +58 -0
- package/dist/kernel/db/migrations/0066-assistant.sql +44 -0
- package/dist/kernel/db/migrations/0067-autopilot.sql +6 -0
- package/dist/kernel/db/migrations/0068-topic-scores.sql +17 -0
- package/dist/kernel/db/migrations/0070-designs.sql +53 -0
- package/dist/kernel/db/migrations/0071-design-usage.sql +33 -0
- package/dist/kernel/db/migrations/0072-design-templates.sql +33 -0
- package/dist/kernel/db/migrations/0073-schedule-design-kind.sql +5 -0
- package/dist/kernel/db/migrations/0074-template-bakeoffs.sql +44 -0
- package/dist/kernel/db/migrations/0075-social-posts.sql +25 -0
- package/dist/kernel/db/migrations/0076-channel-social.sql +5 -0
- package/dist/kernel/db/migrations/0077-post-prompts.sql +17 -0
- package/dist/kernel/db/migrations/0078-uploaded-from-links.sql +7 -0
- package/dist/kernel/db/tx.js +2 -4
- package/dist/kernel/errors.js +27 -1
- package/dist/kernel/json-answer.js +15 -0
- package/dist/kernel/lock.js +4 -9
- package/dist/kernel/paths.js +8 -0
- package/dist/kernel/pipeline.js +12 -0
- package/dist/kernel/ports/assistant-cli.js +4 -0
- package/dist/kernel/ports/host-cli.js +3 -0
- package/dist/kernel/ports/interest.js +4 -0
- package/dist/kernel/ports/languages.js +0 -3
- package/dist/kernel/ports/model.js +2 -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 +14 -4
- package/dist/kernel/runner/audition.js +3 -1
- package/dist/kernel/runner/checkpoint-authority.js +2 -1
- package/dist/kernel/runner/index.js +8 -10
- package/dist/kernel/runner/model-access.js +40 -0
- package/dist/kernel/runner/model-check.js +153 -0
- package/dist/kernel/runner/providers.js +18 -12
- package/dist/kernel/runner/standalone.js +11 -7
- package/dist/main.js +338 -21
- package/dist/model-catalog.js +20 -0
- package/dist/model-checks.js +166 -0
- package/dist/patch-notes/4.0.0.md +51 -0
- package/dist/patch-notes/4.1.0.md +42 -0
- package/dist/patch-notes/index.json +12 -0
- package/dist/slices/admission/heads.js +2 -1
- package/dist/slices/admission/listing-facts.js +95 -0
- package/dist/slices/admission/repo.js +11 -7
- package/dist/slices/admission/rules.js +50 -15
- package/dist/slices/admission/schema.js +8 -0
- package/dist/slices/admission/stage-writes.js +0 -3
- package/dist/slices/admission/start.js +48 -31
- package/dist/slices/admission/state-words.js +34 -5
- package/dist/slices/admission/substitute.js +7 -4
- package/dist/slices/agents/attention-posts.js +31 -0
- package/dist/slices/agents/attention-templates.js +33 -0
- package/dist/slices/agents/attention.js +10 -1
- package/dist/slices/agents/connection.js +2 -6
- package/dist/slices/agents/model.js +6 -3
- package/dist/slices/agents/repo.js +15 -7
- package/dist/slices/article/continuation.js +0 -63
- package/dist/slices/article/plain.js +3 -2
- package/dist/slices/article/segments.js +2 -62
- package/dist/slices/assistant/access.js +1 -0
- package/dist/slices/assistant/asks.js +80 -0
- package/dist/slices/assistant/cost.js +54 -0
- package/dist/slices/assistant/gate.js +222 -0
- package/dist/slices/assistant/model.js +86 -0
- package/dist/slices/assistant/names.js +23 -0
- package/dist/slices/assistant/prompt.js +74 -0
- package/dist/slices/assistant/repo.js +74 -0
- package/dist/slices/assistant/tokens.js +18 -0
- package/dist/slices/assistant/turn.js +344 -0
- package/dist/slices/autopilot/buffer.js +76 -0
- package/dist/slices/autopilot/model.js +14 -0
- package/dist/slices/autopilot/notify.js +27 -0
- package/dist/slices/autopilot/repo.js +34 -0
- package/dist/slices/autopilot/signals.js +194 -0
- package/dist/slices/autopilot/warnings.js +85 -0
- package/dist/slices/autopilot/weekly.js +100 -0
- package/dist/slices/backups/files.js +2 -6
- package/dist/slices/backups/repo.js +3 -15
- package/dist/slices/backups/service.js +8 -7
- package/dist/slices/channels/cast-images.js +3 -2
- package/dist/slices/channels/model.js +0 -1
- package/dist/slices/channels/rebrand.js +0 -3
- package/dist/slices/channels/repo.js +4 -0
- package/dist/slices/channels/schema.js +7 -1
- package/dist/slices/channels/service.js +10 -0
- package/dist/slices/channels/videos.js +3 -15
- package/dist/slices/checkpoints/index.js +0 -1
- package/dist/slices/control/providers.js +2 -28
- package/dist/slices/designs/artwork.js +66 -0
- package/dist/slices/designs/budget.js +23 -0
- package/dist/slices/designs/calls.js +124 -0
- package/dist/slices/designs/check-context.js +38 -0
- package/dist/slices/designs/check-text.js +43 -0
- package/dist/slices/designs/fields.js +88 -0
- package/dist/slices/designs/frames.js +34 -0
- package/dist/slices/designs/gate.js +130 -0
- package/dist/slices/designs/layout.js +293 -0
- package/dist/slices/designs/model.js +35 -0
- package/dist/slices/designs/pdf-job.js +23 -0
- package/dist/slices/designs/pdf-pages.js +30 -0
- package/dist/slices/designs/pdf-runner.js +68 -0
- package/dist/slices/designs/pdf-worker.js +24 -0
- package/dist/slices/designs/picture-size.js +79 -0
- package/dist/slices/designs/pictures.js +55 -0
- package/dist/slices/designs/quote.js +24 -0
- package/dist/slices/designs/render-args.js +36 -0
- package/dist/slices/designs/render-input.js +59 -0
- package/dist/slices/designs/render.js +215 -0
- package/dist/slices/designs/repo.js +101 -0
- package/dist/slices/designs/requests.js +80 -0
- package/dist/slices/designs/runner.js +239 -0
- package/dist/slices/designs/sample-repo.js +91 -0
- package/dist/slices/designs/sample.js +223 -0
- package/dist/slices/designs/schema.js +87 -0
- package/dist/slices/designs/sections.js +44 -0
- package/dist/slices/designs/service.js +233 -0
- package/dist/slices/designs/steps-repo.js +102 -0
- package/dist/slices/designs/studio-kind.js +39 -0
- package/dist/slices/designs/template-checks.js +44 -0
- package/dist/slices/designs/template-make.js +118 -0
- package/dist/slices/designs/templates.js +218 -0
- package/dist/slices/document/fonts.js +2 -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 +6 -2
- package/dist/slices/estimate/index.js +72 -28
- package/dist/slices/estimate/requests.js +4 -4
- package/dist/slices/fixes/rules.js +3 -1
- package/dist/slices/fonts/catalog.js +5 -3
- package/dist/slices/fonts/coverage.js +2 -1
- package/dist/slices/fonts/discovery.js +3 -2
- package/dist/slices/fonts/files.js +2 -6
- package/dist/slices/fonts/index.js +0 -1
- package/dist/slices/fonts/sfnt.js +45 -10
- package/dist/slices/images/appearance.js +8 -16
- package/dist/slices/images/scenes.js +102 -28
- package/dist/slices/keywords/digest.js +85 -0
- package/dist/slices/keywords/facts.js +92 -0
- package/dist/slices/keywords/fill.js +80 -0
- package/dist/slices/keywords/model.js +75 -0
- package/dist/slices/keywords/rules.js +187 -0
- package/dist/slices/keywords/schema.js +28 -0
- package/dist/slices/keywords/specs.js +260 -0
- package/dist/slices/keywords/values.js +74 -0
- package/dist/slices/library/lint.js +29 -12
- package/dist/slices/library/model.js +2 -0
- package/dist/slices/library/photorealistic.js +4 -12
- package/dist/slices/library/rename.js +9 -7
- package/dist/slices/library/save.js +14 -10
- package/dist/slices/library/slots.js +37 -11
- package/dist/slices/library/transfer.js +5 -4
- package/dist/slices/library/used-by.js +25 -10
- package/dist/slices/loudness/loudnorm.js +53 -12
- package/dist/slices/loudness/model.js +3 -2
- package/dist/slices/loudness/sentence-level.js +2 -1
- package/dist/slices/model-checks/cost.js +61 -0
- package/dist/slices/model-checks/listing.js +124 -0
- package/dist/slices/model-checks/model.js +20 -0
- package/dist/slices/model-checks/record.js +32 -0
- package/dist/slices/model-checks/repo.js +120 -0
- package/dist/slices/model-checks/rules.js +125 -0
- package/dist/slices/model-checks/run.js +143 -0
- package/dist/slices/model-checks/service.js +198 -0
- package/dist/slices/model-upkeep/model.js +1 -1
- package/dist/slices/model-upkeep/switch.js +72 -27
- package/dist/slices/model-upkeep/usage.js +39 -13
- package/dist/slices/narration/breaths.js +3 -1
- package/dist/slices/narration/clean-pieces.js +3 -1
- package/dist/slices/narration/concat.js +2 -1
- package/dist/slices/narration/pauses-model.js +3 -2
- package/dist/slices/narration/peaks.js +3 -4
- package/dist/slices/narration/pronunciation-chunks.js +4 -3
- package/dist/slices/narration/pronunciation.js +6 -4
- package/dist/slices/narration/steering.js +4 -3
- package/dist/slices/notifications/notifier.js +4 -3
- package/dist/slices/notifications/rules.js +5 -2
- package/dist/slices/notifications/settings.js +4 -12
- package/dist/slices/notifications/subject.js +4 -3
- package/dist/slices/onboarding/copy.js +21 -3
- package/dist/slices/onboarding/first-run.js +16 -40
- package/dist/slices/onboarding/full-video.js +3 -2
- package/dist/slices/onboarding/install.js +6 -4
- package/dist/slices/onboarding/model.js +26 -37
- package/dist/slices/onboarding/packs.js +22 -22
- package/dist/slices/onboarding/preferred-model.js +14 -0
- package/dist/slices/onboarding/quick-short.js +105 -65
- package/dist/slices/onboarding/sample.js +4 -2
- package/dist/slices/onboarding/state.js +9 -11
- package/dist/slices/onboarding/template.js +8 -6
- package/dist/slices/outputs/add.js +3 -2
- package/dist/slices/outputs/service.js +2 -2
- package/dist/slices/patch-notes/library.js +4 -3
- package/dist/slices/play-drafts/convert.js +4 -0
- package/dist/slices/play-drafts/readiness.js +3 -3
- package/dist/slices/play-drafts/review-inputs.js +9 -3
- package/dist/slices/play-drafts/review.js +5 -4
- package/dist/slices/play-drafts/schema.js +4 -0
- package/dist/slices/play-drafts/service.js +17 -7
- package/dist/slices/project-templates/from-project.js +9 -2
- 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/repo.js +6 -1
- package/dist/slices/project-templates/setup-sections.js +26 -0
- package/dist/slices/project-templates/setup.js +14 -1
- package/dist/slices/project-templates/stand-ins.js +22 -0
- package/dist/slices/rebuild/activity.js +2 -0
- package/dist/slices/rebuild/admission-repo.js +3 -2
- package/dist/slices/rebuild/narration-history.js +4 -5
- package/dist/slices/rebuild/narration-retry.js +2 -1
- package/dist/slices/rebuild/preview-details.js +32 -14
- package/dist/slices/rebuild/preview-plan.js +3 -8
- package/dist/slices/rebuild/recipe-build.js +8 -3
- package/dist/slices/rebuild/recipe-describe.js +3 -3
- package/dist/slices/rebuild/recipe-digest.js +58 -0
- package/dist/slices/rebuild/recipe-input-schema.js +10 -0
- package/dist/slices/rebuild/recipe-keywords.js +71 -0
- package/dist/slices/rebuild/recipe-legacy.js +5 -1
- package/dist/slices/rebuild/recipe-model.js +4 -0
- package/dist/slices/rebuild/recipe-narration-text.js +2 -1
- package/dist/slices/rebuild/recipe-preparation.js +4 -4
- package/dist/slices/rebuild/recipe-reference.js +8 -4
- package/dist/slices/rebuild/recipe-reviews.js +27 -7
- package/dist/slices/rebuild/recipe-save.js +8 -5
- package/dist/slices/rebuild/recipe-scenes.js +40 -11
- package/dist/slices/rebuild/recipe-shorts.js +8 -8
- package/dist/slices/rebuild/recipe-social.js +46 -0
- package/dist/slices/rebuild/recipe-text.js +64 -20
- package/dist/slices/rebuild/recipe-validation.js +102 -31
- package/dist/slices/rebuild/recipe-visual.js +55 -16
- package/dist/slices/rebuild/recipe-voices.js +3 -2
- package/dist/slices/rebuild/recipe-work.js +19 -7
- package/dist/slices/rebuild/recipe-youtube.js +4 -3
- package/dist/slices/rebuild/recovery-selection.js +3 -1
- package/dist/slices/rebuild/recovery.js +9 -8
- package/dist/slices/rebuild/remake-outdated.js +5 -5
- package/dist/slices/rebuild/repo.js +4 -3
- package/dist/slices/rebuild/review-promise.js +25 -0
- package/dist/slices/rebuild/review-redo.js +3 -2
- package/dist/slices/rebuild/runtime-admission.js +4 -3
- package/dist/slices/rebuild/runtime-agent-review.js +11 -5
- package/dist/slices/rebuild/runtime-animate.js +10 -9
- package/dist/slices/rebuild/runtime-article.js +7 -5
- package/dist/slices/rebuild/runtime-checkpoints.js +5 -4
- package/dist/slices/rebuild/runtime-document.js +11 -13
- package/dist/slices/rebuild/runtime-export-bed.js +8 -12
- package/dist/slices/rebuild/runtime-export-edit.js +8 -16
- package/dist/slices/rebuild/runtime-export-inputs.js +12 -11
- package/dist/slices/rebuild/runtime-export-short.js +9 -5
- package/dist/slices/rebuild/runtime-export.js +38 -15
- package/dist/slices/rebuild/runtime-figure-card.js +2 -1
- package/dist/slices/rebuild/runtime-image.js +8 -12
- package/dist/slices/rebuild/runtime-instructions.js +2 -0
- package/dist/slices/rebuild/runtime-keywords.js +59 -0
- package/dist/slices/rebuild/runtime-lines.js +2 -11
- package/dist/slices/rebuild/runtime-local.js +17 -22
- package/dist/slices/rebuild/runtime-narration-publication.js +2 -5
- package/dist/slices/rebuild/runtime-narration-reuse.js +9 -13
- package/dist/slices/rebuild/runtime-narration-text.js +13 -17
- package/dist/slices/rebuild/runtime-pictures.js +2 -4
- package/dist/slices/rebuild/runtime-piece-label.js +10 -6
- package/dist/slices/rebuild/runtime-plan.js +31 -5
- package/dist/slices/rebuild/runtime-provider.js +67 -25
- package/dist/slices/rebuild/runtime-publication.js +10 -9
- package/dist/slices/rebuild/runtime-review.js +39 -33
- package/dist/slices/rebuild/runtime-run.js +4 -1
- package/dist/slices/rebuild/runtime-shorts.js +31 -50
- package/dist/slices/rebuild/runtime-store.js +20 -10
- package/dist/slices/rebuild/runtime-subtitles.js +28 -25
- package/dist/slices/rebuild/runtime-voices.js +10 -16
- package/dist/slices/rebuild/runtime-youtube.js +14 -31
- package/dist/slices/rebuild/service-readiness.js +11 -3
- package/dist/slices/rebuild/transition-repo.js +6 -5
- package/dist/slices/rebuild/work-records.js +6 -0
- package/dist/slices/reruns/cascade.js +1 -2
- package/dist/slices/reruns/index.js +6 -9
- package/dist/slices/research/synthesis.js +3 -2
- package/dist/slices/reviews/external-model.js +4 -1
- package/dist/slices/reviews/external-repo.js +2 -1
- package/dist/slices/reviews/external-rows.js +2 -3
- package/dist/slices/reviews/holds.js +5 -4
- package/dist/slices/reviews/model.js +32 -11
- package/dist/slices/reviews/repo.js +2 -1
- package/dist/slices/reviews/rules.js +4 -3
- package/dist/slices/reviews/verdict.js +2 -1
- package/dist/slices/reviews/view.js +5 -2
- package/dist/slices/revisions/downloads.js +4 -5
- package/dist/slices/revisions/image-plan.js +1 -1
- package/dist/slices/revisions/mutation-assets.js +9 -5
- package/dist/slices/revisions/mutation-cues.js +2 -5
- package/dist/slices/revisions/mutations.js +3 -3
- package/dist/slices/revisions/repo.js +3 -1
- package/dist/slices/revisions/schema.js +1 -0
- package/dist/slices/revisions/view.js +20 -0
- package/dist/slices/run-cost/limits.js +5 -2
- package/dist/slices/run-cost/meter.js +12 -5
- package/dist/slices/run-cost/panel.js +8 -74
- package/dist/slices/run-cost/plan-readings.js +127 -0
- package/dist/slices/run-cost/plan-use.js +169 -0
- package/dist/slices/run-cost/pricing.js +3 -3
- package/dist/slices/run-cost/week.js +32 -4
- package/dist/slices/schedules/agenda.js +18 -7
- package/dist/slices/schedules/by-date.js +42 -0
- package/dist/slices/schedules/calendar.js +5 -0
- package/dist/slices/schedules/design-agenda.js +36 -0
- package/dist/slices/schedules/design-check.js +41 -0
- package/dist/slices/schedules/design-run.js +126 -0
- package/dist/slices/schedules/next-run.js +62 -0
- package/dist/slices/schedules/prepare.js +18 -2
- package/dist/slices/schedules/repo.js +30 -21
- package/dist/slices/schedules/rescore.js +35 -0
- package/dist/slices/schedules/scheduler.js +13 -3
- package/dist/slices/schedules/schema.js +57 -3
- package/dist/slices/schedules/score.js +107 -0
- package/dist/slices/schedules/service.js +57 -24
- package/dist/slices/schedules/topic-list.js +15 -0
- package/dist/slices/schedules/topic-scores.js +104 -0
- package/dist/slices/schedules/topics.js +53 -41
- package/dist/slices/settings/cli-paths.js +4 -6
- package/dist/slices/settings/first-run.js +8 -43
- package/dist/slices/settings/health.js +30 -15
- package/dist/slices/settings/key-test.js +1 -1
- package/dist/slices/settings/model-reach.js +3 -17
- package/dist/slices/settings/model.js +14 -2
- package/dist/slices/settings/playback.js +34 -23
- package/dist/slices/settings/probe-read.js +16 -0
- package/dist/slices/settings/repo.js +33 -0
- package/dist/slices/settings/tutorial.js +2 -2
- package/dist/slices/settings/voices.js +4 -12
- package/dist/slices/shorts/keep.js +2 -1
- package/dist/slices/shorts/pick.js +6 -18
- package/dist/slices/shorts/prompts.js +4 -14
- package/dist/slices/shorts/render.js +6 -2
- package/dist/slices/social/channel.js +44 -0
- package/dist/slices/social/defaults.js +17 -0
- package/dist/slices/social/due.js +36 -0
- package/dist/slices/social/extension.js +18 -0
- package/dist/slices/social/fit.js +115 -0
- package/dist/slices/social/limits.js +186 -0
- package/dist/slices/social/links.js +21 -0
- package/dist/slices/social/media.js +132 -0
- package/dist/slices/social/model.js +75 -0
- package/dist/slices/social/notice.js +19 -0
- package/dist/slices/social/pack.js +176 -0
- package/dist/slices/social/post-prompt.js +56 -0
- package/dist/slices/social/queue.js +31 -0
- package/dist/slices/social/repo.js +133 -0
- package/dist/slices/social/reshape.js +97 -0
- package/dist/slices/social/rules.js +5 -0
- package/dist/slices/social/schema.js +70 -0
- package/dist/slices/social/serve.js +51 -0
- package/dist/slices/social/service.js +129 -0
- package/dist/slices/social/settings.js +21 -0
- package/dist/slices/social/sources.js +114 -0
- package/dist/slices/social/state.js +110 -0
- package/dist/slices/social/text.js +149 -0
- package/dist/slices/storage/arrange.js +3 -1
- package/dist/slices/storage/assets.js +8 -10
- package/dist/slices/storage/backup-designs.js +74 -0
- package/dist/slices/storage/backup-export.js +8 -3
- package/dist/slices/storage/backup-format.js +10 -0
- package/dist/slices/storage/backup-import.js +22 -4
- package/dist/slices/storage/delete-project.js +6 -5
- package/dist/slices/storage/files-location.js +6 -8
- package/dist/slices/storage/layout.js +13 -2
- package/dist/slices/storage/model.js +3 -0
- package/dist/slices/storage/portable.js +17 -12
- package/dist/slices/storage/schema.js +2 -0
- package/dist/slices/storage/staging-refs.js +2 -1
- package/dist/slices/storage/staging.js +6 -9
- package/dist/slices/storage/trim.js +26 -9
- package/dist/slices/studio/calendar.js +7 -2
- 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/pick.js +2 -11
- package/dist/slices/studio/plan.js +7 -16
- package/dist/slices/studio/queue.js +3 -14
- package/dist/slices/studio/releases.js +26 -0
- package/dist/slices/studio/settings.js +20 -57
- package/dist/slices/studio/videos.js +35 -4
- package/dist/slices/style-preview/render.js +37 -16
- package/dist/slices/style-preview/schema.js +14 -1
- package/dist/slices/style-preview/service.js +2 -1
- package/dist/slices/style-preview/settings.js +33 -5
- package/dist/slices/subtitles/captions.js +1 -1
- package/dist/slices/telemetry/collector-client.js +2 -4
- package/dist/slices/telemetry/flush.js +2 -4
- package/dist/slices/telemetry/model.js +0 -7
- package/dist/slices/telemetry/record.js +10 -3
- package/dist/slices/template-studio/anatomy-view.js +161 -0
- package/dist/slices/template-studio/anatomy.js +73 -0
- package/dist/slices/template-studio/bakeoff-make.js +225 -0
- package/dist/slices/template-studio/bakeoff-repo.js +83 -0
- package/dist/slices/template-studio/bakeoff.js +333 -0
- package/dist/slices/template-studio/budget.js +106 -0
- package/dist/slices/template-studio/cards.js +78 -0
- package/dist/slices/template-studio/checks.js +322 -0
- package/dist/slices/template-studio/document-sample.js +56 -0
- package/dist/slices/template-studio/edit.js +15 -0
- package/dist/slices/template-studio/for-all.js +161 -0
- package/dist/slices/template-studio/free-video.js +31 -0
- package/dist/slices/template-studio/free.js +176 -0
- package/dist/slices/template-studio/gate.js +40 -0
- package/dist/slices/template-studio/hidden.js +20 -0
- package/dist/slices/template-studio/jobs.js +79 -0
- package/dist/slices/template-studio/loudness.js +111 -0
- package/dist/slices/template-studio/make.js +40 -0
- package/dist/slices/template-studio/model.js +58 -0
- package/dist/slices/template-studio/pack-import.js +253 -0
- package/dist/slices/template-studio/pack-samples.js +60 -0
- package/dist/slices/template-studio/pack.js +207 -0
- package/dist/slices/template-studio/paid-view.js +66 -0
- package/dist/slices/template-studio/paid.js +355 -0
- package/dist/slices/template-studio/quote.js +155 -0
- package/dist/slices/template-studio/ready.js +104 -0
- package/dist/slices/template-studio/repo.js +134 -0
- package/dist/slices/template-studio/reviews-path.js +58 -0
- package/dist/slices/template-studio/runner.js +84 -0
- package/dist/slices/template-studio/save.js +236 -0
- package/dist/slices/template-studio/say-it-as.js +248 -0
- package/dist/slices/template-studio/schedule-gate.js +34 -0
- package/dist/slices/template-studio/schedule-price.js +32 -0
- package/dist/slices/template-studio/schedule-sample.js +91 -0
- package/dist/slices/template-studio/schema.js +243 -0
- package/dist/slices/template-studio/scope.js +124 -0
- package/dist/slices/template-studio/sections.js +176 -0
- package/dist/slices/template-studio/service.js +175 -0
- package/dist/slices/template-studio/status.js +191 -0
- package/dist/slices/template-studio/topic.js +223 -0
- package/dist/slices/thumbnail/by-llm.js +1 -1
- package/dist/slices/trash/designs.js +76 -0
- package/dist/slices/trash/model.js +13 -4
- package/dist/slices/trash/service.js +52 -2
- package/dist/slices/tutorials/library.js +3 -2
- package/dist/slices/uploads/repo.js +37 -1
- package/dist/slices/uploads/rules.js +3 -2
- package/dist/slices/video/ass-text.js +17 -0
- package/dist/slices/video/audio-export.js +2 -64
- package/dist/slices/video/edit-list.js +2 -2
- package/dist/slices/video/edit-settings.js +1 -1
- package/dist/slices/video/encoding.js +169 -0
- package/dist/slices/video/ffmpeg.js +23 -21
- package/dist/slices/video/figure-card.js +1 -15
- package/dist/slices/video/plan.js +2 -1
- package/dist/slices/video/slideshow.js +43 -18
- package/dist/slices/voices/attribution.js +3 -2
- package/dist/slices/voices/model.js +9 -8
- package/dist/slices/voices/palette.js +0 -3
- package/dist/slices/voices/script.js +2 -1
- package/dist/slices/youtube/answer.js +4 -16
- package/dist/slices/youtube/edits-repo.js +3 -12
- package/dist/tutorials/AI-CLIs.md +25 -25
- package/dist/tutorials/Agents-MCP.md +34 -33
- package/dist/tutorials/Assistant.md +42 -0
- 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 +42 -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 +94 -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 +115 -71
- package/dist/tutorials/Home.md +33 -33
- package/dist/tutorials/Install.md +14 -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 +87 -0
- package/dist/tutorials/Models.md +53 -21
- package/dist/tutorials/Multiple-Voices.md +41 -40
- package/dist/tutorials/Narration-Aliases-and-Glossary.md +14 -14
- package/dist/tutorials/Notifications.md +27 -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 +121 -0
- package/dist/tutorials/Project-Page.md +118 -120
- package/dist/tutorials/Prompts-and-Templates.md +84 -0
- package/dist/tutorials/Prompts.md +48 -44
- 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 +63 -0
- package/dist/tutorials/Reviews-and-Checkpoints.md +98 -90
- package/dist/tutorials/Schedules.md +46 -27
- package/dist/tutorials/Settings-Reference.md +194 -174
- 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 +128 -0
- package/dist/tutorials/Templates.md +51 -77
- 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 +19 -14
- package/dist/updater/work-in-progress.js +42 -12
- package/dist/web/assets/index-BNftKQrA.css +1 -0
- package/dist/web/assets/index-Cpa58woP.js +459 -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 +6 -2
- package/dist/slices/article/provided-entries.js +0 -66
- package/dist/slices/article/run.js +0 -145
- package/dist/slices/images/run.js +0 -234
- package/dist/slices/narration/legacy-plan.js +0 -58
- package/dist/slices/narration/run.js +0 -270
- package/dist/slices/rebuild/runtime-actions.js +0 -90
- package/dist/slices/research/run.js +0 -224
- package/dist/slices/subtitles/prepare.js +0 -194
- package/dist/slices/subtitles/transcript.js +0 -34
- package/dist/slices/thumbnail/run.js +0 -219
- package/dist/slices/video/audio-inputs.js +0 -33
- package/dist/slices/video/reuse-audio.js +0 -62
- package/dist/slices/video/run.js +0 -78
- package/dist/slices/video/write-export.js +0 -158
- package/dist/slices/video/write-subtitles.js +0 -59
- package/dist/tutorials/Library-Overview.md +0 -76
- package/dist/tutorials/Play-Images.md +0 -161
- 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-BadsoORk.css +0 -1
- package/dist/web/assets/index-D8LqNsCl.js +0 -326
- package/dist/web/assets/pdf-T7MCwjIv.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,244 @@
|
|
|
1
|
+
# Create Overview
|
|
2
|
+
|
|
3
|
+
Create is the screen where you set up something new and make it: a video, an article, an audiobook, a podcast episode or a set of images. You pick what you are making, what it starts from and what it is about, then press **Make the video**. You get a project that writes the article, records the narration, draws the images and puts the video together, plus any extras you switched on.
|
|
4
|
+
|
|
5
|
+
**Where to find it:** **Create** at the top of the rail (in the middle of the phone's bottom bar), `Ctrl+K` → **Create a video**, or press `C` anywhere. **Make a video** on a prompt, a template or a channel opens Create with it picked.
|
|
6
|
+
|
|
7
|
+
## How Create is laid out
|
|
8
|
+
|
|
9
|
+
Create is one screen, read from top to bottom:
|
|
10
|
+
|
|
11
|
+
1. **What are you making?** Five cards: **Video** (narration over images), **Article** (written text, also as a PDF), **Audiobook** (a text read aloud by a narrator), **Podcast** (a conversation between speakers) and **Images** (pictures from your prompts).
|
|
12
|
+
2. **Start from**: a blank one (**A blank video**, **A blank article** and so on) or one of your templates. With two or more channels, **For** beside it picks the channel.
|
|
13
|
+
3. **What's the video about?**: the topic. The question follows what you make ("What's the episode about?", "What are the images of?"). **Another topic** adds more videos made the same way.
|
|
14
|
+
4. **The rows**: one line each for **Keywords**, **Article**, **Narration**, **Images**, **Video and style**, **Extras**, **Pauses and checks** and **Channel**. Each says in one sentence what the run will do. Under a row's name, **From History starter** (or your template's name) means it is as the template set it, and **Changed here** that you changed it on this screen.
|
|
15
|
+
5. **A picture instead?**: **Design a poster** and **Edit a picture** open the design editor.
|
|
16
|
+
6. **The rail on the right**: how many videos, the expected length, the estimated cost, the **Make the video** button with the next thing to fix under it, **See everything this run will do**, and the style preview.
|
|
17
|
+
|
|
18
|
+
The page header holds **Save as template** and **Draft:** with the draft's name.
|
|
19
|
+
|
|
20
|
+
Nothing is made until you press **Make the video**. Every change is saved to the current draft as you make it.
|
|
21
|
+
|
|
22
|
+
### Rows open one at a time
|
|
23
|
+
|
|
24
|
+
**Change** opens a row's editor under its line; **Close** (for example **Close narration**) folds it again. Opening one row folds the others. A row that needs something says what in red and its button reads **Fix**. When you open a draft, the first row that needs something opens by itself.
|
|
25
|
+
|
|
26
|
+
A row with nothing to set for this video is left out: **Keywords** shows only when a prompt asks for a keyword besides the topic or the title is a pattern such as `History: {{Topic}}`, **Channel** only when you have two or more channels, and **Narration** not while the article is **No text**. What you are making decides the rest:
|
|
27
|
+
|
|
28
|
+
| You make | Rows |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| **Video** | Keywords, Article, Narration, Images, Video and style, Extras, Pauses and checks, Channel |
|
|
31
|
+
| **Article** | Keywords, Article, Extras, Pauses and checks, Channel |
|
|
32
|
+
| **Audiobook** or **Podcast** | Keywords, Article, Narration, **Sound and captions** (the Video and style row of spoken work), Extras, Pauses and checks, Channel |
|
|
33
|
+
| **Images** | Keywords, Images, **Shape and look**, Pauses and checks, Channel |
|
|
34
|
+
|
|
35
|
+
For anything but a video, the thumbnail, YouTube description, shorts and posts fold away under **Publishing extras** in the Extras row. A row that is open or needs fixing stays in view whatever you make, so nothing that stops the run is ever out of reach.
|
|
36
|
+
|
|
37
|
+
## Make a video
|
|
38
|
+
|
|
39
|
+
1. Open Create.
|
|
40
|
+
2. Optional: pick a template under **Start from**. Picking one opens a fresh draft made from it, and the topic you already typed comes along.
|
|
41
|
+
3. Type what the video is about.
|
|
42
|
+
4. Look over the rows. If the line under **Make the video** names something to fix, press it: it opens the row and the field that needs it.
|
|
43
|
+
5. Check the estimated cost in the rail.
|
|
44
|
+
6. Press **Make the video** (or **Queue 3 videos** if you added more topics).
|
|
45
|
+
|
|
46
|
+
Slopify opens the new project as soon as the run is created. The button's name follows what you make: **Make the article**, **Make the audiobook**, **Make the podcast**, **Make the images**.
|
|
47
|
+
|
|
48
|
+
## Start from a template
|
|
49
|
+
|
|
50
|
+
| Option | What it does | Default |
|
|
51
|
+
| --- | --- | --- |
|
|
52
|
+
| **Start from** | Starts from a saved template: its prompts, voice, images, style, extras and pauses. Picking one opens a fresh draft made from it and carries the topic you typed. | **A blank video** (or blank article, audiobook, episode, image set) |
|
|
53
|
+
|
|
54
|
+
Make templates with **Save as template** (below), or add the starter templates under **Templates** → **Add starter templates**. See [Templates](Templates).
|
|
55
|
+
|
|
56
|
+
## The topic and the title
|
|
57
|
+
|
|
58
|
+
The topic is the video's subject in your own words, such as "The Library of Alexandria". With a blank start it is also the video's title, shown on the project and in Projects. Up to 200 characters.
|
|
59
|
+
|
|
60
|
+
A template's title can be a pattern with a keyword in double braces, for example `History: {{Topic}}`:
|
|
61
|
+
|
|
62
|
+
- The field then asks for **Topic**, and shows the title it makes under it (**Title will be: History: The Lost City**).
|
|
63
|
+
- The pattern itself is in the **Keywords** row as **Title pattern**, where you can change it.
|
|
64
|
+
- Each keyword the title names is typed once per video. Templates save it empty.
|
|
65
|
+
|
|
66
|
+
When the video goes to YouTube, the title is also its YouTube title unless one is written for it, so YouTube's limit is said under the field (it never stops the run).
|
|
67
|
+
|
|
68
|
+
### Already made on this channel
|
|
69
|
+
|
|
70
|
+
As you type, a line under the topic says when the channel already has a video on it, using the same near-duplicate rule as [schedules](Schedules#how-generation-works):
|
|
71
|
+
|
|
72
|
+
- `This channel already has a video on this: "<title>" (in Projects). Make it anyway if you want another take.`
|
|
73
|
+
- That the channel already uploaded a video with that title, from the channel's **Titles to avoid**.
|
|
74
|
+
|
|
75
|
+
It never stops you; it is there so you don't make the same video twice by accident.
|
|
76
|
+
|
|
77
|
+
## Keywords
|
|
78
|
+
|
|
79
|
+
A keyword is a value that a picked prompt or the title asks for with `{{name}}`. You type it once, and it fills every place that names it. The line under each keyword lists where it is used.
|
|
80
|
+
|
|
81
|
+
The topic keywords (the ones the title names) are typed at the top. Any others are in the **Keywords** row, whose line reads, for example, `Asks for: Era, Audience.`
|
|
82
|
+
|
|
83
|
+
| Option | What it does | Limit |
|
|
84
|
+
| --- | --- | --- |
|
|
85
|
+
| Each keyword | Fills every `{{name}}` in the title and the picked prompts. A keyword the title does not name keeps its value in a template. | 200 characters, one line |
|
|
86
|
+
|
|
87
|
+
Every keyword must be filled before the run can start. Some keywords are filled by Slopify itself; see [Keywords Slopify fills](Keywords-Slopify-Fills).
|
|
88
|
+
|
|
89
|
+
## More videos from the same setup
|
|
90
|
+
|
|
91
|
+
**Another topic** queues more videos with everything else the same. Only the topic and keywords differ.
|
|
92
|
+
|
|
93
|
+
1. Press **Another topic** under the topic.
|
|
94
|
+
2. Type the next topic and press **Add**. Add as many as you like, then press **Done** or `Esc`.
|
|
95
|
+
3. Each extra video shows as a chip. Press its name to open a side panel where you can change that video's **Title** and keywords. Everything else comes from this setup.
|
|
96
|
+
4. Press the remove button on a chip to drop that video.
|
|
97
|
+
|
|
98
|
+
One press makes at most 50 videos: this one and 49 more.
|
|
99
|
+
|
|
100
|
+
### One after another
|
|
101
|
+
|
|
102
|
+
With more than one video, the rail shows **One after another** (on by default):
|
|
103
|
+
|
|
104
|
+
| One after another | What happens | The button reads |
|
|
105
|
+
| --- | --- | --- |
|
|
106
|
+
| **On** | The videos run one after another, in order, each starting when the one before finishes. | **Queue 3 videos** |
|
|
107
|
+
| **Off** | They all start at once, as separate runs. | **Make 3 videos** |
|
|
108
|
+
|
|
109
|
+
All at once finishes sooner while the steps wait on services (research, narration, images), but the videos are put together on your computer's processor at the same time, so each takes longer, and Claude or Codex plan limits are reached sooner (Slopify waits and goes on when they reset).
|
|
110
|
+
|
|
111
|
+
### The video queue
|
|
112
|
+
|
|
113
|
+
Videos queued together wait their turn. Home and the Calendar list them under **Waiting to start**, with **Earlier**, **Later** and **Remove** on each. Projects has a **Queued** filter, and the page of a project in the queue says how many videos wait to start and opens the list. Pausing a project holds the queue; when one fails or is canceled, the next one starts.
|
|
114
|
+
|
|
115
|
+
## Drafts
|
|
116
|
+
|
|
117
|
+
Create saves every change to the current draft by itself. **Draft:** in the page header names the draft and opens the list of drafts:
|
|
118
|
+
|
|
119
|
+
- The top line says **Saved. Every change is saved as you go.**, **Saving…**, **Not saved yet**, **Couldn't save** or **Changed in another tab**.
|
|
120
|
+
- **New draft** starts an empty draft and keeps the current one in the list.
|
|
121
|
+
- **Saved drafts** lists the others with their last change; press one to open it, or its delete button to delete it. A deleted draft is gone for good; it does not go to the trash.
|
|
122
|
+
- If saving fails, **Couldn't save** appears beside the button with **Retry**.
|
|
123
|
+
|
|
124
|
+
### When a draft was changed elsewhere
|
|
125
|
+
|
|
126
|
+
If the same draft is open in another tab and was saved there, the header says **Changed in another tab.** with two buttons:
|
|
127
|
+
|
|
128
|
+
| Button | What it does |
|
|
129
|
+
| --- | --- |
|
|
130
|
+
| **Reload saved draft** | Shows the version saved elsewhere and drops your unsaved change. |
|
|
131
|
+
| **Save as a new draft** | Keeps your version as a separate draft and leaves the other one alone. |
|
|
132
|
+
|
|
133
|
+
## The rows at a glance
|
|
134
|
+
|
|
135
|
+
| Row | What it holds | Details |
|
|
136
|
+
| --- | --- | --- |
|
|
137
|
+
| **Keywords** | The title pattern and every keyword besides the topic | This page |
|
|
138
|
+
| **Article** | Where the text comes from, the article prompt, **Written by** (service, model, thinking), research and the language | [Article](Create-Article) |
|
|
139
|
+
| **Narration** | Where the narration comes from, **Read by** (service, model, voice), a sample, **Speakers**, and **More narration settings** (splitting, intro, outro, preparation, pronunciation, tables and figures) | [Narration](Create-Narration) |
|
|
140
|
+
| **Images** | Where the images come from, **Images by** (service, model), the image styles and counts, the establishing image, more images for long videos, scenes from the article | [Images](Create-Images) |
|
|
141
|
+
| **Video and style** | Video on or off, frame format, captions, **Images and cuts**, **Look**, ambient sound and **Sound polish** | [Video and style](Create-Video-and-Style) |
|
|
142
|
+
| **Extras** | Thumbnail, YouTube description, shorts, posts to other sites and the PDF | [Extras](Create-Extras) |
|
|
143
|
+
| **Pauses and checks** | Where the run pauses for your approval, and whether an AI checks the results | [Pauses and checks](Reviews-and-Checkpoints) |
|
|
144
|
+
| **Channel** | Whether the channel's brand kit fills the defaults | [Channel row](#channel-row) |
|
|
145
|
+
|
|
146
|
+
## Channel row
|
|
147
|
+
|
|
148
|
+
The channel itself is picked with **For** beside **Start from**, shown when you have two or more channels. A fresh draft starts in the channel Home, Projects and the Calendar are showing.
|
|
149
|
+
|
|
150
|
+
| Option | What it does | Default |
|
|
151
|
+
| --- | --- | --- |
|
|
152
|
+
| **For** | The channel this video belongs to. Its brand kit fills what these settings leave at their default, and its cast goes with the images. | The template's channel, or the channel you are showing |
|
|
153
|
+
| **Use the channel's brand kit** | Its caption font, intro, outro, PDF look and sounds fill what these settings leave at their default. What you set on Create wins. Off takes none of it; the cast still applies. | On |
|
|
154
|
+
|
|
155
|
+
**Open <channel>** goes to the channel's page. The language is in the [Article](Create-Article#language) row. For the cast, see [Cast](Cast-Library); for the brand kit, [Channels](Channels).
|
|
156
|
+
|
|
157
|
+
## The rail
|
|
158
|
+
|
|
159
|
+
### Expected length
|
|
160
|
+
|
|
161
|
+
**Expected length: about 20 min · 3,000 words**, with **Change** to type **Words per video**. It feeds the estimate and how many images **More images for long videos** adds; the article prompt decides the real length, and once the article is written its real length is used. About 150 words is one minute of narration. It shows while the article is written for you.
|
|
162
|
+
|
|
163
|
+
| Option | Default | Range |
|
|
164
|
+
| --- | --- | --- |
|
|
165
|
+
| **Words per video** | 1500, or what the template sets | 1 to 100,000 |
|
|
166
|
+
|
|
167
|
+
### Estimated cost
|
|
168
|
+
|
|
169
|
+
What the services are likely to charge for this run, in US dollars, from their published prices. Actual usage can differ, and the estimate does not cap spending. It reads **Estimated cost: shown once nothing is missing.** until every row is ready.
|
|
170
|
+
|
|
171
|
+
- The total shows as **Estimated total** (a low to high range when it can vary). If some prices are unknown, it shows **Known subtotal** and how many stage charges have unavailable pricing.
|
|
172
|
+
- **Cost by stage** folds out the price of each stage, what each assumes and the date the price catalogue was checked. With several videos, the rows show combined costs.
|
|
173
|
+
- Steps run through a tool you are signed in to (such as Claude Code or Codex) show **$0 on your plan**, with the approximate API price beside them for comparison, and how much of the plan's limits the run would use.
|
|
174
|
+
|
|
175
|
+
The estimate is checked again by itself a moment after you stop typing. See [Costs and Run Cost](Costs-and-Run-Cost).
|
|
176
|
+
|
|
177
|
+
### The Make button
|
|
178
|
+
|
|
179
|
+
| Label | When |
|
|
180
|
+
| --- | --- |
|
|
181
|
+
| **Make the video** | One video (or **Make the article**, **Make the audiobook**, **Make the podcast**, **Make the images**) |
|
|
182
|
+
| **Queue 3 videos** / **Make 3 videos** | You added more topics, with **One after another** on or off |
|
|
183
|
+
| **Starting…** | The start is being sent |
|
|
184
|
+
| **Check whether it started** | Slopify didn't confirm the last start. Press it to find out before starting again. |
|
|
185
|
+
|
|
186
|
+
The button stays an outline until the run can start. The line under it names the first thing to do, as a button that goes there (for example **Type what the video is about first**), or says what it waits for (**Wait for the uploads to finish first**, **Checking your setup and the estimate…**).
|
|
187
|
+
|
|
188
|
+
### See everything this run will do
|
|
189
|
+
|
|
190
|
+
Opens a side panel with every setting of the run in words, row by row, each with its **Change** link; what must be fixed before you can start; the topic and title; and **The prompts as they will be sent**, each prompt exactly as it goes out with its keywords filled in. `Ctrl+Enter` anywhere on Create opens it too.
|
|
191
|
+
|
|
192
|
+
### Style preview
|
|
193
|
+
|
|
194
|
+
When the video is made from images, the rail's last line names the caption style (for example **Captions: Barlow Regular 44, bottom**) with **Watch a 6-second preview**. It opens a dialog that puts six seconds of the bundled sample together with your captions, Look and motion, on this computer at no cost. See [Video and style](Create-Video-and-Style#style-preview).
|
|
195
|
+
|
|
196
|
+
## Save as template
|
|
197
|
+
|
|
198
|
+
**Save as template** in the page header keeps this setup so you can start the next video from it.
|
|
199
|
+
|
|
200
|
+
1. Press **Save as template**.
|
|
201
|
+
2. Type a **Template name** (up to 120 characters). This is the name it is listed under on Create and Templates.
|
|
202
|
+
3. Read what is left out, then press **Save template**.
|
|
203
|
+
|
|
204
|
+
What a template keeps and leaves out:
|
|
205
|
+
|
|
206
|
+
- Keywords the title names (like `{{Topic}}`) are saved empty. The dialog names each one.
|
|
207
|
+
- Other keywords (a word count, a style) keep their values.
|
|
208
|
+
- The other videos you added with **Another topic** are not saved.
|
|
209
|
+
- The template belongs to the draft's channel.
|
|
210
|
+
|
|
211
|
+
A project's settings can be saved as a template too, from its **More** menu. See [Templates](Templates).
|
|
212
|
+
|
|
213
|
+
## Command palette
|
|
214
|
+
|
|
215
|
+
Every Create action is in the command palette (`Ctrl+K`), under **Create**:
|
|
216
|
+
|
|
217
|
+
| Command | What it does |
|
|
218
|
+
| --- | --- |
|
|
219
|
+
| **Make the video** / **Queue 3 videos** | Starts, or opens the row that holds it back |
|
|
220
|
+
| **Add another topic** | Opens the Another topic field |
|
|
221
|
+
| **Save as template** | Opens the Save as template dialog |
|
|
222
|
+
| **See everything this run will do** (`Ctrl+Enter`) | Opens the side panel |
|
|
223
|
+
| **Pick what to start from** | Moves to the Start from picker |
|
|
224
|
+
| **Change article**, **Change narration** and one per row | Opens that row and scrolls to it |
|
|
225
|
+
|
|
226
|
+
## Tips
|
|
227
|
+
|
|
228
|
+
- A long video on the same topic as a finished short is one press away: **Make the full video on this topic** on the short's project page opens Create set up for it. See [Your First Short](Your-First-Short#make-the-full-video-next).
|
|
229
|
+
- Start from a template and change only the rows you need. The row lines tell you what each one will do without opening it.
|
|
230
|
+
- Use a title pattern and **Another topic** to queue a series in one go.
|
|
231
|
+
- If a template names a prompt you have since deleted, its row asks you to pick another.
|
|
232
|
+
|
|
233
|
+
## Related pages
|
|
234
|
+
|
|
235
|
+
- [Your First Short](Your-First-Short)
|
|
236
|
+
- [Article](Create-Article)
|
|
237
|
+
- [Narration](Create-Narration)
|
|
238
|
+
- [Images](Create-Images)
|
|
239
|
+
- [Video and style](Create-Video-and-Style)
|
|
240
|
+
- [Extras](Create-Extras)
|
|
241
|
+
- [Pauses and Checks](Reviews-and-Checkpoints)
|
|
242
|
+
- [Templates](Templates)
|
|
243
|
+
- [Costs and Run Cost](Costs-and-Run-Cost)
|
|
244
|
+
- [Keyboard Shortcuts and Command Palette](Keyboard-Shortcuts-and-Command-Palette)
|
|
@@ -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)
|