@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
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Video Editing
|
|
2
2
|
|
|
3
|
-
These settings decide how the finished video looks and sounds: how long each image stays, where the cuts fall, how images move and hand over, the Look, chapter cards, animated images, ambient sound and captions. All of it except animated images is done on your computer with ffmpeg, so it costs
|
|
3
|
+
These settings decide how the finished video looks and sounds: how long each image stays, where the cuts fall, how images move and hand over, the Look, chapter cards, animated images, ambient sound and captions. All of it except animated images is done on your computer with ffmpeg, so it costs time on your computer, not service calls.
|
|
4
4
|
|
|
5
|
-
**Where to find it:** a project → **Edit settings** → **
|
|
5
|
+
**Where to find it:** a project → **Edit settings** → **Video and style** (**Images and cuts**, and **Sound polish** for the silences and ambient sound) and **Captions**. On a new run the same controls are on Create → **Video and style** (see [Create: Video and Style](Create-Video-and-Style)).
|
|
6
6
|
|
|
7
7
|
## How the video is put together
|
|
8
8
|
|
|
9
|
-
Slopify plans the whole video as an edit list: which image or clip plays, for how long, how it moves, how it hands over to the next, and the effects on top. The
|
|
9
|
+
Slopify plans the whole video as an edit list: which image or clip plays, for how long, how it moves, how it hands over to the next, and the effects on top. The video is put together from that list alone, so the same project makes the same video every time. The video is always exactly as long as its narration plus the silence you set.
|
|
10
10
|
|
|
11
11
|
## Timing
|
|
12
12
|
|
|
@@ -39,95 +39,95 @@ New projects default to **Follow the narration**. It needs word timing, so it wo
|
|
|
39
39
|
| --- | --- | --- |
|
|
40
40
|
| **Transition** | How one image hands over to the next: **Cut**, **Crossfade**, **Fade through black**, **Slide** or **Wipe**. The change is centred on the cut, so the video stays exactly as long as its narration. | Cut |
|
|
41
41
|
| **Transition length** | How long the transition takes (ignored for Cut). | 0.6 s; 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.5 or 2 s |
|
|
42
|
-
| **
|
|
42
|
+
| **Color grade** | A color treatment over the whole video: **Warm fantasy**, **Cold**, **Desaturated** or **Sepia**. | None |
|
|
43
43
|
| **Vignette** | Darkens the corners to draw the eye to the middle: **Subtle** or **Strong**. | Off |
|
|
44
44
|
| **Film grain** | Moving film grain over the whole picture: **Subtle** or **Strong**. | Off |
|
|
45
45
|
| **Atmosphere** | An overlay Slopify draws itself: **Embers** (rising), **Dust** (drifting) or **Fog** (low, along the bottom). No footage is downloaded. | None |
|
|
46
46
|
| **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 |
|
|
47
|
-
| **Animate images** | Turns some images into 5-second moving clips with an image-to-video model on your image
|
|
47
|
+
| **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 image (**Animate every how many images**). Pick the model in **Image-to-video model**. | Off |
|
|
48
48
|
|
|
49
|
-
Every Look option except **Animate images** is applied while the video
|
|
49
|
+
Every Look option except **Animate images** is applied while the video is put together, at no cost. Each animated clip is one paid call, shown in the estimate. An image that cannot be animated stays still, and the Video part says so in its notes under the player.
|
|
50
50
|
|
|
51
51
|
### Set up the Look
|
|
52
52
|
|
|
53
|
-
1. Open the project → **Edit settings** → **
|
|
54
|
-
2. Under **
|
|
53
|
+
1. Open the project → **Edit settings** → **Video and style**.
|
|
54
|
+
2. Under **Images and cuts**, open **Look**.
|
|
55
55
|
3. Pick a transition, grade, vignette, grain, atmosphere, chapter cards or animation.
|
|
56
56
|
4. Press **Save changes**.
|
|
57
|
-
5. Press the next action, **
|
|
57
|
+
5. Press the next action, **Make the outdated video again**, or look it over in **Choose what to make again**.
|
|
58
58
|
|
|
59
59
|
Changing the Look outdates the video; narration and images are kept.
|
|
60
60
|
|
|
61
61
|
## Video clips in place of images
|
|
62
62
|
|
|
63
|
-
In **Edit
|
|
63
|
+
In **Edit settings** → **Images**, **Add a video clip** puts your own clip into the image order. It plays muted for as long as an image would be shown: trimmed, slowed (to half speed at most) or looped to fit. See [Editing a Project](Editing-a-Project#edit-images).
|
|
64
64
|
|
|
65
|
-
If the clips you uploaded are real filmed footage, turn on **
|
|
65
|
+
If the clips you uploaded are real filmed footage, turn on **The uploaded clip is real footage** (or **The 3 uploaded clips are real footage**) in Copy for YouTube Studio so YouTube's AI-use answer is right. See [Publishing to YouTube](Publishing-to-YouTube).
|
|
66
66
|
|
|
67
67
|
## Ambient sound
|
|
68
68
|
|
|
69
|
-
A quiet bed under the whole narration of the long video. It dips while the narrator speaks.
|
|
69
|
+
A quiet bed under the whole narration of the long video. It dips while the narrator speaks. It costs nothing. Shorts never get it. Changing it makes only the video again.
|
|
70
70
|
|
|
71
|
-
**Where to find it:** a project → **Edit settings** → **
|
|
71
|
+
**Where to find it:** a project → **Edit settings** → **Video and style** → **Sound polish** → **Ambient sound** (shown when the project has narration and video).
|
|
72
72
|
|
|
73
73
|
| Option | What it does | Default / range |
|
|
74
74
|
| --- | --- | --- |
|
|
75
|
-
| **Ambient sound** | **Rain**, **Fireplace** or **Wind**, made on your computer, or **None**. **My own file** stays offered while the project has an uploaded bed; a new file is chosen on
|
|
75
|
+
| **Ambient sound** | **Rain**, **Fireplace** or **Wind**, made on your computer, or **None**. **My own file** stays offered while the project has an uploaded bed; a new file is chosen on Create. | None, or the channel's bed |
|
|
76
76
|
| **Level (dB)** | How loud it plays under the voice, from -40 (barely there) to -6 (close to the voice). Whole numbers only. | -18 |
|
|
77
77
|
| **Fade in (seconds)** | How long it takes to rise from silence at the start. | 3; 0 to 30 in 0.5 steps |
|
|
78
78
|
| **Tail after the narration (seconds)** | How long it keeps playing, fading out, after the narration ends. A tail longer than the silence at the end makes the video that much longer. | 6; 0 to 30 in 0.5 steps |
|
|
79
79
|
|
|
80
80
|
With **Level the volume** on, the bed is mixed and ducked first, then the whole mix is mastered. See [Editing a Project](Editing-a-Project#pauses-and-volume).
|
|
81
81
|
|
|
82
|
-
##
|
|
82
|
+
## Captions
|
|
83
83
|
|
|
84
|
-
**Where to find it:** a project → **Edit settings** → **
|
|
84
|
+
**Where to find it:** a project → **Edit settings** → **Captions**.
|
|
85
85
|
|
|
86
86
|
| Option | What it does | Default / range |
|
|
87
87
|
| --- | --- | --- |
|
|
88
|
-
| **
|
|
89
|
-
| **
|
|
90
|
-
| **
|
|
91
|
-
| **
|
|
88
|
+
| **Captions** | **Off** makes none. **Show captions in the video** draws them into the picture and also saves them as .srt and .vtt files for YouTube; it needs Video on. **Caption files only (.srt + .vtt)** gives you files to upload beside the video, which itself shows none. | Off |
|
|
89
|
+
| **Caption font** | The typeface of captions in the video and of chapter cards. Pick a bundled font (**Default font · bundled**) or upload one with **Upload font (.ttf or .otf)**; uploaded fonts stay available to every project. | The bundled font |
|
|
90
|
+
| **Caption size** | How big captions in the video are. Larger is easier to read on phones but covers more of the picture. | 48; 16 to 120 |
|
|
91
|
+
| **Caption position** | Where captions in the video sit: **Top**, **Upper-middle**, **Center**, **Lower-middle** or **Bottom**. Move them up when pictures have detail near the bottom. | Bottom |
|
|
92
92
|
|
|
93
|
-
Captions are timed from your narration on your computer,
|
|
93
|
+
Captions are timed from your narration on your computer, at no cost. The first use downloads a speech model of about 378 MB (Settings → Production defaults → **Caption timing model** offers smaller ones). Caption files carry no font, size or position, because players style them. Changing the font, size or position makes only the video again.
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
Captions need narration: with Narration off the section says "Captions come from the narration: turn Narration on to add them." With Video off (sound only), only caption files are offered.
|
|
96
96
|
|
|
97
97
|
To fix a misheard word or move a caption, edit the captions themselves: see [Editing a Project](Editing-a-Project#edit-captions).
|
|
98
98
|
|
|
99
99
|
## Style preview
|
|
100
100
|
|
|
101
|
-
**Style preview** (under
|
|
101
|
+
**Style preview** (under Captions in Edit settings, and from **Watch a 6-second preview** in Create's rail) makes six seconds of video the way the real video is made, at a small size: your format, captions, Look, transition, motion and a chapter card when chapter cards are on.
|
|
102
102
|
|
|
103
103
|
- It is drawn on the project's establishing image or a cast picture when there is one (the line under it says "Drawn on ..."), otherwise on three plain stills.
|
|
104
|
-
- It
|
|
105
|
-
- Captions show in the preview only when they are
|
|
106
|
-
- The sound is silence. It costs
|
|
104
|
+
- It is made again by itself a moment after you change a setting. **Make the preview again** forces a fresh one.
|
|
105
|
+
- Captions show in the preview only when they are shown in the video.
|
|
106
|
+
- The sound is silence. It costs nothing, only a few seconds of your computer's time.
|
|
107
107
|
|
|
108
|
-
If it says "Fix the caption settings to
|
|
108
|
+
If it says "Fix the caption settings to make the preview.", correct the caption fields first.
|
|
109
109
|
|
|
110
|
-
## What a change
|
|
110
|
+
## What a change makes again
|
|
111
111
|
|
|
112
112
|
| You change | What is made again |
|
|
113
113
|
| --- | --- |
|
|
114
|
-
| Seconds per image, zoom, motion, cuts, the Look (except Animate images),
|
|
114
|
+
| Seconds per image, zoom, motion, cuts, the Look (except Animate images), the captions' style, ambient sound | The video only |
|
|
115
115
|
| Animate images | The animated clips (paid) and the video |
|
|
116
|
-
|
|
|
117
|
-
| Caption text or timing |
|
|
116
|
+
| Captions (Off, in the video, files only) | Caption files and the video |
|
|
117
|
+
| Caption text or timing | Caption files and the video |
|
|
118
118
|
| Pauses between sentences or paragraphs | The narration join and timing, captions, the video, and (when on) the YouTube description and the shorts' pick |
|
|
119
119
|
|
|
120
|
-
|
|
120
|
+
**Choose what to make again** lists exactly what will be made before anything runs. See [Editing a Project](Editing-a-Project#choose-what-to-make-again).
|
|
121
121
|
|
|
122
122
|
## Tips
|
|
123
123
|
|
|
124
124
|
- Try a Look on the style preview first; it costs nothing.
|
|
125
125
|
- A crossfade longer than about a second eats into short shots. Keep transitions short when Seconds per image is low.
|
|
126
|
-
- Captions
|
|
126
|
+
- Captions shown in the video cannot be turned off by viewers. Caption files let YouTube viewers switch them.
|
|
127
127
|
|
|
128
128
|
## Related pages
|
|
129
129
|
|
|
130
|
-
- [
|
|
130
|
+
- [Create: Video and Style](Create-Video-and-Style)
|
|
131
131
|
- [Editing a Project](Editing-a-Project)
|
|
132
132
|
- [Project Page](Project-Page)
|
|
133
133
|
- [Shorts](Shorts)
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Slopify keeps two kinds of files apart: your files (projects, backups, exports), in a normal folder you can open, and Slopify's own data (database, settings, keys, logs), in a hidden folder. This page says where each is, how to move your files, and how to free disk space.
|
|
4
4
|
|
|
5
|
-
**Where to find it:** Settings → **Backup & storage** → **Your files**, **Export and import
|
|
5
|
+
**Where to find it:** Settings → **Backup & storage** → **Your files**, **Export and import** and **Disk space**.
|
|
6
6
|
|
|
7
7
|
## The two places
|
|
8
8
|
|
|
9
9
|
| What | Where (new install) | Contains |
|
|
10
10
|
| --- | --- | --- |
|
|
11
11
|
| Your files | `<Documents>/Slopify/` | `Projects/`: one folder per project, with its video, images, narration, captions and documents. `Backups/`: scheduled backups, unless you choose another folder. `Exports/`: files Slopify saves for you; downloads go through the browser today, so it stays empty, and Slopify never cleans it. |
|
|
12
|
-
| Slopify's data | `~/.slopify` (or `--data-dir` / `SLOPIFY_DATA_DIR`) | The database (`slopify.db`) with your
|
|
12
|
+
| Slopify's data | `~/.slopify` (or `--data-dir` / `SLOPIFY_DATA_DIR`) | The database (`slopify.db`) with your prompts, templates, settings and service keys, `logs/`, `staging/` (uploads in progress), `models/` (caption models), and depending on use `fonts/`, `cache/`, `autostart/`, `updates/` (in-app updates) and `bin/` (a downloaded ffmpeg). |
|
|
13
13
|
|
|
14
|
-
The data folder is readable by your user only, because it holds your
|
|
14
|
+
The data folder is readable by your user only, because it holds your service keys. Never share it; share an export instead (keys are never in one).
|
|
15
15
|
|
|
16
16
|
The terminal prints both places when Slopify starts (`Slopify data directory:` and `Projects:`).
|
|
17
17
|
|
|
@@ -33,7 +33,7 @@ Each project has one folder in `Projects/`, named after its title (`Lolth | D&D
|
|
|
33
33
|
| --- | --- | --- |
|
|
34
34
|
| `Upload/` | The current version, ready to publish: `video.mp4`, `thumbnail.png` (and `thumbnail 2.png`…), `subtitles.srt` and `.vtt`, `description.txt`, `tags.txt`, `titles.txt`, `pinned comment.txt`, `document.pdf`, `article.md`, `Images/` (every image the video shows, in order; an older version's images in `Images/Earlier/<date>/`), and `Shorts/1 - <title>.mp4`… with each short's images beside it in `Shorts/1 - <title>/`. No cleanup ever deletes these images. | No: it is what you upload. |
|
|
35
35
|
| `Working/` | What the current version was made from: `Narration/` (each chunk, the joined and levelled narration), `Research/`, `Article/`, `Subtitles/`, `Render/`. | Only to free space on a finished video: changing that project later makes these again, which takes time and provider credits. **Keep outputs only** does it for you. |
|
|
36
|
-
| `History/<date>/` | Files of older versions, by the day they were made (an earlier render, the narration before a voice change). | Yes. Delete a day's folder, or all of `History/`, to free its space. Going back to that version
|
|
36
|
+
| `History/<date>/` | Files of older versions, by the day they were made (an earlier render, the narration before a voice change). | Yes. Delete a day's folder, or all of `History/`, to free its space. Going back to that version under **Versions** makes its files again. |
|
|
37
37
|
|
|
38
38
|
A hidden `.slopify-project` file tells Slopify which project the folder holds and where its files went. Leave it there.
|
|
39
39
|
|
|
@@ -116,11 +116,11 @@ Use `--projects-dir <folder>` for another folder. The installer waits for runnin
|
|
|
116
116
|
|
|
117
117
|
| Button | What it does |
|
|
118
118
|
| --- | --- |
|
|
119
|
-
| **Export everything** | Downloads one `.tar` file with every project and its files and
|
|
119
|
+
| **Export everything** | Downloads one `.tar` file with every project and its files and versions, your prompts, templates, schedules, Create drafts, fonts, settings and usage. Never service keys. Keep Slopify running until your browser's download finishes. |
|
|
120
120
|
| **Import a backup** | Adds a `.tar` (or `.zip`) backup to this install and replaces nothing. Projects already here are skipped, taken names arrive as "(imported)" and schedules arrive paused. Running projects must finish or pause first. Afterwards a summary lists what was added and skipped. |
|
|
121
121
|
| **Clear leftover files** | See below. |
|
|
122
122
|
|
|
123
|
-
After an import, enter your
|
|
123
|
+
After an import, enter your service keys again in Settings → **Keys & services**. For daily automatic copies, see [Backups](Backups).
|
|
124
124
|
|
|
125
125
|
## Free disk space
|
|
126
126
|
|
|
@@ -132,15 +132,15 @@ Deleted projects free their space when the trash removes them after 30 days, or
|
|
|
132
132
|
|
|
133
133
|
### Keep outputs only
|
|
134
134
|
|
|
135
|
-
On a finished project, **Keep outputs only** deletes the working files it was made from (narration parts,
|
|
135
|
+
On a finished project, **Keep outputs only** deletes the working files it was made from (narration parts, caption timing, video settings) and keeps the video, shorts, the images they show, thumbnail, article, description, document and your uploads.
|
|
136
136
|
|
|
137
137
|
1. Find the project in the **Disk space** list. The button says how much it frees.
|
|
138
138
|
2. Press **Keep outputs only**.
|
|
139
139
|
3. Read the confirmation and press **Keep outputs only** again.
|
|
140
140
|
|
|
141
|
-
If you change that project later (edit an image, a caption style or the narration, or
|
|
141
|
+
If you change that project later (edit an image, a caption style or the narration, or make the video again), Slopify has to make those files again first, which takes time and service credits. The button is disabled until the project has finished, or when nothing is left to remove.
|
|
142
142
|
|
|
143
|
-
A finished project's own page offers the same
|
|
143
|
+
A finished project's own page offers the same under **Edit settings** → **Versions**: **Free space** with **Free 1.2 GB** (see [Project Page](Project-Page#free-space)).
|
|
144
144
|
|
|
145
145
|
### Delete old versions and Clean up everything
|
|
146
146
|
|
|
@@ -160,7 +160,7 @@ Cleanup only looks inside `Projects`. It leaves `Backups` alone (only Slopify's
|
|
|
160
160
|
|
|
161
161
|
## Sample projects
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
At the foot of **Disk space**, **Restore samples** puts the three bundled samples back: it adds back any that were deleted (the line beside it names them) and replaces the others with the originals. Your own copies of them are not touched. See [First Launch and Welcome](First-Launch-and-Welcome#explore-the-samples).
|
|
164
164
|
|
|
165
165
|
## Tips
|
|
166
166
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Slopify can write your video's YouTube description for you: a short summary, chapters at the narration's real times, hashtags, and a separate list of search tags. Each part has a Copy button and can be edited in place, and your edits survive when the description is written again.
|
|
4
4
|
|
|
5
|
-
**Where to find it:**
|
|
5
|
+
**Where to find it:** Create → **Extras** row → **YouTube description**. On a finished project: the **YouTube** part (Description, Tags, Pinned comment and Other titles), and **Edit settings** → **Extras**.
|
|
6
6
|
|
|
7
7
|
## What you get
|
|
8
8
|
|
|
@@ -19,19 +19,19 @@ Slopify lays out the description itself (summary, blank line, one chapter per li
|
|
|
19
19
|
|
|
20
20
|
## Turn it on
|
|
21
21
|
|
|
22
|
-
1. On
|
|
22
|
+
1. On Create, open the **Extras** row.
|
|
23
23
|
2. Tick **YouTube description**. It is greyed out, with "Needs narration", when the Narration row is off.
|
|
24
24
|
3. Pick a **Description prompt**, or leave it on **Built-in**.
|
|
25
25
|
4. Start the run.
|
|
26
26
|
|
|
27
|
-
The description is written
|
|
27
|
+
The description is written once the captions are timed, while the video is put together, in one AI call. The project language decides the language it is written in; see [Other-Languages](Other-Languages).
|
|
28
28
|
|
|
29
29
|
## Options
|
|
30
30
|
|
|
31
31
|
| Option | What it does | Default |
|
|
32
32
|
|---|---|---|
|
|
33
|
-
| **YouTube description** | Writes the description, chapters, hashtags and tags
|
|
34
|
-
| **Description prompt** |
|
|
33
|
+
| **YouTube description** | Writes the description, chapters, hashtags and tags once the captions are timed. One AI call. Needs narration. | Off |
|
|
34
|
+
| **Description prompt** | Your Description prompt the description is written from. | **Built-in** |
|
|
35
35
|
|
|
36
36
|
The **Built-in** prompt asks for:
|
|
37
37
|
|
|
@@ -40,34 +40,34 @@ The **Built-in** prompt asks for:
|
|
|
40
40
|
- 3 to 5 hashtags, most specific last;
|
|
41
41
|
- 15 to 25 tags, from broad to specific.
|
|
42
42
|
|
|
43
|
-
To change the tone or add your own links, write a prompt of the kind **YouTube Description** in **
|
|
43
|
+
To change the tone or add your own links, write a prompt of the kind **YouTube Description** in **Prompts**. Each `{{keyword}}` in it becomes a field on Create. The prompt editor's **Start from an example** → **Slopify's own wording** fills in the wording Slopify uses, to start from. See [Prompts](Prompts).
|
|
44
44
|
|
|
45
45
|
## Read and copy it
|
|
46
46
|
|
|
47
|
-
When the step has run, the project page's **YouTube**
|
|
47
|
+
When the step has run, the project page's **YouTube** part shows four pieces. A finished project with a written description opens on this section, so copying it is one press:
|
|
48
48
|
|
|
49
49
|
- **Description**, with the Summary, Chapters and Hashtags, a character count such as `1,240 / 5000 characters`, and **Copy**.
|
|
50
50
|
- **Tags**, shown as chips, with a count against YouTube's 500-character limit and **Copy**.
|
|
51
51
|
- **Pinned comment**, below the tags, with **Copy**. YouTube pins comments only on a published video: once it is live, post the comment from your channel and choose **Pin** in its menu.
|
|
52
|
-
- **Other titles**, below the pinned comment, with **Copy**. In Studio, press **A/B Testing** beside the title and add them next to the video's own title.
|
|
52
|
+
- **Other titles**, below the pinned comment, with **Copy**. In Studio, press **A/B Testing** beside the title and add them next to the video's own title. Copy for YouTube Studio lists them in its Title step with **Copy others**.
|
|
53
53
|
|
|
54
54
|
**Copy** on Description copies the whole description, placeholders filled in. **Copy** on Tags copies them comma-separated, ready to paste. A count over YouTube's limit turns red and says "over YouTube's limit".
|
|
55
55
|
|
|
56
56
|
You can also run **Copy description** (`Shift+D`), **Copy tags** and **Copy pinned comment** from the command palette (`Ctrl+K`) while the project is open. The **YouTube description (.txt)** and **YouTube tags (.txt)** downloads are the text exactly as the page shows it: your edits, the fitted chapters and the filled links. See [Keyboard-Shortcuts-and-Command-Palette](Keyboard-Shortcuts-and-Command-Palette).
|
|
57
57
|
|
|
58
|
-
While the stage is running the parts say "Written
|
|
58
|
+
While the stage is running the parts say "Written once the captions are timed."; before it starts they say "Not written yet. It is made with the video."
|
|
59
59
|
|
|
60
60
|
## Edit a part
|
|
61
61
|
|
|
62
|
-
1. In the project's YouTube
|
|
62
|
+
1. In the project's YouTube part, press **Edit** beside Summary, Chapters, Hashtags, Tags, Pinned comment or Other titles.
|
|
63
63
|
2. Change the text and save.
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
A line under it says it is your own text, kept when the description is written again:
|
|
66
66
|
|
|
67
|
-
- When the description is written again, your part stays and "
|
|
68
|
-
- **Use
|
|
67
|
+
- When the description is written again, your part stays and "*Part* written again. Yours stays until you choose." appears beside it with **Use the new one**, **Keep mine** and **Show the changes**.
|
|
68
|
+
- **Use the written *part*** (for example **Use the written summary**) goes back to the AI's text at any time.
|
|
69
69
|
|
|
70
|
-
Edits cost nothing and
|
|
70
|
+
Edits cost nothing and make nothing again.
|
|
71
71
|
|
|
72
72
|
## Chapters follow YouTube's rules
|
|
73
73
|
|
|
@@ -87,19 +87,19 @@ Write a name in double braces, such as `{{Patreon}}` or `{{Discord}}`, in a desc
|
|
|
87
87
|
|
|
88
88
|
Each channel has its own links:
|
|
89
89
|
|
|
90
|
-
1. Open **Channels** → the project's channel → **
|
|
90
|
+
1. Open **Channels** → the project's channel → **Name and look**.
|
|
91
91
|
2. Under **Channel links**, press **Add link**, type the name (for example `Patreon`) and the address, and press **Save channel**.
|
|
92
92
|
|
|
93
|
-
A description takes the links of its project's channel. Names match without regard to case or extra spaces. A placeholder with no saved link stays as typed, is marked, and the YouTube
|
|
93
|
+
A description takes the links of its project's channel. Names match without regard to case or extra spaces. A placeholder with no saved link stays as typed, is marked, and the YouTube part says "No link is saved for {{Name}}, so it stays as typed. Add it under Channel links on the channel's Name and look tab."
|
|
94
94
|
|
|
95
|
-
Links saved in **Settings → Channel links** before each channel had its own still fill the default channel's descriptions until you save that channel's
|
|
95
|
+
Links saved in **Settings → Channel links** before each channel had its own still fill the default channel's descriptions until you save that channel's Name and look tab. See [Channels](Channels#channel-links).
|
|
96
96
|
|
|
97
97
|
### Previous video
|
|
98
98
|
|
|
99
99
|
`{{Previous video}}` is special: each project can have its own.
|
|
100
100
|
|
|
101
|
-
1. In the project's YouTube
|
|
102
|
-
2. Press **Save
|
|
101
|
+
1. In the project's YouTube part, paste the link under **Previous episode**.
|
|
102
|
+
2. Press **Save**.
|
|
103
103
|
|
|
104
104
|
The project's link wins over a **Previous video** link in the channel's links. It changes only what is shown and copied, with no text-model call.
|
|
105
105
|
|
|
@@ -107,16 +107,16 @@ Because placeholders are filled when shown or copied, changing a channel's link
|
|
|
107
107
|
|
|
108
108
|
## Write it again, or turn it on later
|
|
109
109
|
|
|
110
|
-
To write a description again, press **Write again
|
|
110
|
+
To write a description again, press **Write the description again · 1 AI call** in the project's YouTube part, then confirm. Only this step runs. A description written before pinned comments and other titles existed shows neither until it is written again this way.
|
|
111
111
|
|
|
112
112
|
To turn it on, or to change its prompt first:
|
|
113
113
|
|
|
114
|
-
1. Open the project and press **Edit
|
|
115
|
-
2. Open **
|
|
114
|
+
1. Open the project and press **Edit settings**.
|
|
115
|
+
2. Open **Extras**. Tick **YouTube description** if it was off, and pick a **Description prompt**.
|
|
116
116
|
3. To replace a description that is already written, press **Write the description again after review**. **Keep the current description** cancels it.
|
|
117
|
-
4. Save
|
|
117
|
+
4. Press **Save changes**, then make the outdated description again (the title row's next action, or **Choose what to make again**).
|
|
118
118
|
|
|
119
|
-
Writing it again is one paid
|
|
119
|
+
Writing it again is one paid AI call. The description you have now is replaced, except for parts you edited, which stay yours with the new text offered beside them.
|
|
120
120
|
|
|
121
121
|
## Limits
|
|
122
122
|
|
|
@@ -127,11 +127,11 @@ Writing it again is one paid text-model call. The description you have now is re
|
|
|
127
127
|
| Hashtags | YouTube ignores every hashtag if a description has more than 15 |
|
|
128
128
|
| Chapters | At least 3, first at 0:00, each at least 10 seconds |
|
|
129
129
|
|
|
130
|
-
Slopify does not upload the description to YouTube. Paste it in YouTube Studio yourself, or use
|
|
130
|
+
Slopify does not upload the description to YouTube. Paste it in YouTube Studio yourself, or use Copy for YouTube Studio and the optional Studio extension; see [Publishing-to-YouTube](Publishing-to-YouTube).
|
|
131
131
|
|
|
132
132
|
## Related pages
|
|
133
133
|
|
|
134
|
-
- [
|
|
134
|
+
- [Create: Extras](Create-Extras)
|
|
135
135
|
- [Prompts](Prompts)
|
|
136
136
|
- [Publishing-to-YouTube](Publishing-to-YouTube)
|
|
137
137
|
- [Studio-Extension](Studio-Extension)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Your First Short
|
|
2
2
|
|
|
3
|
-
The quickest way to see Slopify work: type a topic, press one button, and get a narrated, captioned 9:16 short of about a minute. Slopify picks the
|
|
3
|
+
The quickest way to see Slopify work: type a topic, press one button, and get a narrated, captioned 9:16 short of about a minute. Slopify picks the services for you from what your computer already has.
|
|
4
4
|
|
|
5
5
|
**Where to find it:** the first-run screen (**Welcome to Slopify**) → **3 · Make your first short** → **Make a 60-second short**. On a fresh install it opens by itself; its address is `http://127.0.0.1:6969/welcome`.
|
|
6
6
|
|
|
@@ -8,10 +8,10 @@ The quickest way to see Slopify work: type a topic, press one button, and get a
|
|
|
8
8
|
|
|
9
9
|
| Part | Details |
|
|
10
10
|
| --- | --- |
|
|
11
|
-
| Script | About 150 words, written from your topic by
|
|
12
|
-
| Narration | Spoken by your voice
|
|
11
|
+
| Script | About 150 words, written from your topic by an AI. No web research. |
|
|
12
|
+
| Narration | Spoken by your voice service, or by your computer's own voice when no voice key is saved. |
|
|
13
13
|
| Images | Four vertical images, one for each 15 seconds of the minute. |
|
|
14
|
-
| Video | A 9:16 short with word-by-word captions and the title on top,
|
|
14
|
+
| Video | A 9:16 short with word-by-word captions and the title on top, put together on your computer. |
|
|
15
15
|
| Not made | No thumbnail, no PDF, no YouTube description and no further shorts. |
|
|
16
16
|
|
|
17
17
|
With the command-line tools it usually takes about five minutes.
|
|
@@ -24,36 +24,36 @@ You need three things. Slopify checks them when you press the button and tells y
|
|
|
24
24
|
| --- | --- |
|
|
25
25
|
| Text | Claude Code CLI (a Sonnet model when it has one), Codex CLI, Antigravity CLI, then an OpenRouter key. |
|
|
26
26
|
| Images | Codex CLI, then an OpenAI, Google, fal.ai or Replicate key. |
|
|
27
|
-
| Voice | Your first saved voice whose
|
|
27
|
+
| Voice | Your first saved voice whose voice service has a key. If none, the style's suggested OpenAI voice when an OpenAI key is saved. If there is no voice key at all, your computer's own voice (the **System voice**): macOS or Windows speech, or Piper, SVOX Pico, eSpeak NG or eSpeak on Linux. |
|
|
28
28
|
|
|
29
|
-
Command-line tools can't speak, but you don't need a voice key to start: with none saved, the short is narrated by your computer's built-in voice, for free. It sounds robotic, so add a key when you want a better voice. With ElevenLabs, Cartesia or Inworld, also save a voice in Settings → **Voices**. See [the system voice](Providers-and-Keys#the-system-voice).
|
|
29
|
+
Command-line tools can't speak, but you don't need a voice key to start: with none saved, the short is narrated by your computer's built-in voice, for free. It sounds robotic, so add a key when you want a better voice. An OpenAI key is the simplest: the suggested voices work with it right away. With ElevenLabs, Cartesia or Inworld, also save a voice in Settings → **Voices**. See [the system voice](Providers-and-Keys#the-system-voice).
|
|
30
30
|
|
|
31
31
|
To set these up:
|
|
32
32
|
|
|
33
|
-
1. Install and sign in to Claude Code, Codex or Antigravity CLI (see [AI CLIs](AI-CLIs)), or add keys in Settings → **
|
|
34
|
-
2. Optional: add a voice key in Settings → **
|
|
35
|
-
3. Back on the first-run screen, step
|
|
33
|
+
1. Install and sign in to Claude Code, Codex or Antigravity CLI (see [AI CLIs](AI-CLIs)), or add keys in Settings → **Keys & services** (see [Keys and Services](Providers-and-Keys)).
|
|
34
|
+
2. Optional: add a voice key in Settings → **Keys & services**. An OpenAI key is the simplest: the suggested voice works with it right away.
|
|
35
|
+
3. Back on the first-run screen, step 1, **What a short needs**, shows the Article, Narration and Images lines, each **Ready**, **No key** or **No voice saved** with its fix. Press **Check again** after installing a speech program.
|
|
36
36
|
|
|
37
37
|
## Make the short
|
|
38
38
|
|
|
39
39
|
1. Open the first-run screen.
|
|
40
|
-
2. On
|
|
40
|
+
2. On step 2, **Pick a style**, press one row; it reads **Picked**:
|
|
41
41
|
- **General**: a neutral explainer style, with the OpenAI voice `alloy` as its suggestion.
|
|
42
|
-
- **Sleep lore**, **True crime**, **History** or **Science explainers**: that starter
|
|
43
|
-
3.
|
|
44
|
-
4. Press **Make a 60-second short
|
|
45
|
-
5. Slopify creates the project and starts it. The step now says "Your short is being made." Press **Watch it being made** to open its page.
|
|
42
|
+
- **Sleep lore**, **True crime**, **History** or **Science explainers**: that starter template's script prompt, image style and suggested voice.
|
|
43
|
+
3. Press **Next: Make your first short**. In **Topic**, type what the short is about, in a few words or a question (up to 200 characters). For example: `Why the sea glows at night`. A specific topic gives a sharper short than a broad one.
|
|
44
|
+
4. Press **Make a 60-second short** in the bar at the bottom of the window. The status line says **Starting your short…**.
|
|
45
|
+
5. Slopify creates the project and starts it. The step now says "Your short is being made." Press **Watch it being made** in the bar to open its page.
|
|
46
46
|
|
|
47
47
|
Pressing the button twice, or retrying after a dropped connection, opens the same project instead of starting a second one.
|
|
48
48
|
|
|
49
49
|
## What Slopify sets up for you
|
|
50
50
|
|
|
51
51
|
- **The project.** Its title is your topic, with a capital first letter. Its format is 9:16.
|
|
52
|
-
- **
|
|
53
|
-
- **A saved voice.** The style's suggested OpenAI voice is added to Settings → **Voices** (for General: **Starter narrator**), unless you already have one with that voice. When the computer's own voice narrates, it is saved there too, named `<voice> (computer voice)`, so
|
|
52
|
+
- **Prompts.** The style's script and vertical-scene prompts are added to your **Prompts** (for General: **Starter · 60-second short** and **Starter · Vertical scene**). If you already have a prompt with that name and different text, the new one comes in as `<name> (2)`. Reusing them later changes nothing.
|
|
53
|
+
- **A saved voice.** The style's suggested OpenAI voice is added to Settings → **Voices** (for General: **Starter narrator**), unless you already have one with that voice. When the computer's own voice narrates, it is saved there too, named `<voice> (computer voice)`, so Create offers it later.
|
|
54
54
|
- **Settings.** Captions at the bottom, a slow zoom or pan on each image, half a second of silence at each end, and the volume levelled as in your Settings.
|
|
55
55
|
|
|
56
|
-
The
|
|
56
|
+
The style's starter template is not added this way. To get it, use **Templates** → **Add starter templates**. **Make the full video on this topic** (below) also adds it.
|
|
57
57
|
|
|
58
58
|
## Watch it being made
|
|
59
59
|
|
|
@@ -62,9 +62,9 @@ The project page shows each step as it runs:
|
|
|
62
62
|
1. **Article**: the script is written.
|
|
63
63
|
2. **Narration**: the script is spoken.
|
|
64
64
|
3. **Images**: four vertical images are drawn.
|
|
65
|
-
4. **Video**: the words are timed against the narration and the short is
|
|
65
|
+
4. **Video**: the words are timed against the narration and the short is put together with word-by-word captions and the title on top.
|
|
66
66
|
|
|
67
|
-
Open
|
|
67
|
+
Open **Progress** at the top of the status list to see the script as it is written, the images as they land and the narration's waveform. Each running step says its time left. While it runs, Home also lists it under **Running**, and the rail shows how many runs are going.
|
|
68
68
|
|
|
69
69
|
See [Project Page](Project-Page) for everything else on this page.
|
|
70
70
|
|
|
@@ -72,54 +72,54 @@ See [Project Page](Project-Page) for everything else on this page.
|
|
|
72
72
|
|
|
73
73
|
1. When the run is done, open **Video** on the project page.
|
|
74
74
|
2. Play the short in Slopify's own player. See [Project Page](Project-Page#the-players).
|
|
75
|
-
3. Press **Download
|
|
75
|
+
3. Press **Download video (.mp4)**, or press **Open folder** to see the file on your computer.
|
|
76
76
|
|
|
77
77
|
The file is also in the project's folder under your Projects folder (see [Where Your Files Live](Where-Your-Files-Live)).
|
|
78
78
|
|
|
79
79
|
## What it costs
|
|
80
80
|
|
|
81
|
-
- **Narration** uses your voice
|
|
82
|
-
- **Text and images** through a command-line tool count toward that tool's plan, not a per-call bill. Through API keys, they are billed by that
|
|
83
|
-
- The project's **
|
|
81
|
+
- **Narration** uses your voice service's credit, billed per character of the roughly 150-word script. The computer's own voice costs nothing.
|
|
82
|
+
- **Text and images** through a command-line tool count toward that tool's plan, not a per-call bill. Through API keys, they are billed by that service.
|
|
83
|
+
- The project's cost line, with **See the breakdown**, shows what each step cost. See [Costs and Run Cost](Costs-and-Run-Cost).
|
|
84
84
|
|
|
85
85
|
## If it refuses to start
|
|
86
86
|
|
|
87
|
-
The
|
|
87
|
+
The status line says "The short didn't start. Fix the lines above that are not Ready, then press Make a 60-second short again." and the lines under the topic say what is missing, each with the button that fixes it. They are the same lines as step 1:
|
|
88
88
|
|
|
89
|
-
|
|
|
89
|
+
| Line says | Fix |
|
|
90
90
|
| --- | --- |
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
91
|
+
| Nothing can write the article yet. | Sign in to Claude Code, Codex or Antigravity, or press **Add a key for writing** (OpenRouter). |
|
|
92
|
+
| Nothing can make the images yet. | Press **Add an image key** (OpenAI, Google, fal.ai or Replicate), or sign in to Codex. |
|
|
93
|
+
| Nothing can read the article aloud yet. | Press **Add a voice key** (OpenAI works at once), or on Linux install `espeak-ng` and press **Check again**. |
|
|
94
|
+
| *Voice service* has a key but no voice saved yet. | Press **Save a voice** (Settings → Voices), or **Add an OpenAI key**. |
|
|
95
95
|
| Slopify can't list the models on this machine right now. | Restart Slopify and try again. |
|
|
96
96
|
|
|
97
97
|
If the run fails later, the project page and Home's **Needs you** say which step failed and offer the fix. See [Recovery and Retries](Recovery-and-Retries).
|
|
98
98
|
|
|
99
99
|
## Make the full video next
|
|
100
100
|
|
|
101
|
-
When the short is done, the project's next action is **Make the full video on this topic**. It opens
|
|
101
|
+
When the short is done, the project's next action is **Make the full video on this topic**. It opens Create set up for a long video: the same topic and title, the starter template (added to Templates if it wasn't yet), and the writing, image and voice services the short used, since those are known to work on your computer. Nothing starts until you press **Make the video**. See [Create Overview](Create-Overview).
|
|
102
102
|
|
|
103
103
|
## Change the short afterwards
|
|
104
104
|
|
|
105
|
-
It is a normal project: you can edit the script, change an image, pick another voice or caption style, and Slopify
|
|
105
|
+
It is a normal project: you can edit the script, change an image, pick another voice or caption style, and Slopify makes again only what the change affects. See [Editing a Project](Editing-a-Project) and [Video Editing](Video-Editing).
|
|
106
106
|
|
|
107
107
|
## Next steps
|
|
108
108
|
|
|
109
|
-
- Make a long video with more control: [
|
|
109
|
+
- Make a long video with more control: [Create Overview](Create-Overview).
|
|
110
110
|
- Cut shorts from a long video automatically: [Shorts](Shorts).
|
|
111
|
-
- Reuse the style: add
|
|
111
|
+
- Reuse the style: add its starter template (**Templates** → **Add starter templates**) and pick it under **Start from** on Create ([Templates](Templates)).
|
|
112
112
|
- Let Claude Code or Codex look after your runs, fix failures and answer reviews: [Agents (MCP)](Agents-MCP).
|
|
113
113
|
|
|
114
114
|
## Tips
|
|
115
115
|
|
|
116
|
-
- The first-run screen disappears once you have a real project. Your later shorts are made from
|
|
116
|
+
- The first-run screen disappears once you have a real project. Your later shorts are made from Create, or from Shorts on a long video.
|
|
117
117
|
- Want to try without spending anything first? Open a sample project from the first-run screen ([First Launch and Welcome](First-Launch-and-Welcome#explore-the-samples)).
|
|
118
118
|
|
|
119
119
|
## Related pages
|
|
120
120
|
|
|
121
121
|
- [First Launch and Welcome](First-Launch-and-Welcome)
|
|
122
|
-
- [
|
|
122
|
+
- [Keys and Services](Providers-and-Keys)
|
|
123
123
|
- [AI CLIs](AI-CLIs)
|
|
124
124
|
- [Project Page](Project-Page)
|
|
125
125
|
- [Shorts](Shorts)
|
|
@@ -8,25 +8,26 @@
|
|
|
8
8
|
- [Home and Projects](Home-and-Projects)
|
|
9
9
|
- [Where your files live](Where-Your-Files-Live)
|
|
10
10
|
- [Start at login](Start-at-Login)
|
|
11
|
+
- [Remote access](Remote-Access)
|
|
11
12
|
- [Updating and patch notes](Updating-and-Patch-Notes)
|
|
12
13
|
- [Uninstalling and moving](Uninstalling-and-Moving)
|
|
13
14
|
|
|
14
|
-
**
|
|
15
|
-
- [
|
|
15
|
+
**Services and keys**
|
|
16
|
+
- [Keys and services](Providers-and-Keys)
|
|
16
17
|
- [AI CLIs](AI-CLIs)
|
|
17
18
|
- [Models](Models)
|
|
18
19
|
- [Costs and run cost](Costs-and-Run-Cost)
|
|
19
20
|
|
|
20
21
|
**Making a video**
|
|
21
|
-
- [
|
|
22
|
-
- [
|
|
23
|
-
- [Narration](
|
|
24
|
-
- [Images](
|
|
25
|
-
- [Video and style](
|
|
26
|
-
- [
|
|
27
|
-
- [
|
|
22
|
+
- [Create overview](Create-Overview)
|
|
23
|
+
- [Article](Create-Article)
|
|
24
|
+
- [Narration](Create-Narration)
|
|
25
|
+
- [Images](Create-Images)
|
|
26
|
+
- [Video and style](Create-Video-and-Style)
|
|
27
|
+
- [Extras](Create-Extras)
|
|
28
|
+
- [Pauses and checks](Reviews-and-Checkpoints)
|
|
28
29
|
|
|
29
|
-
**Formats and
|
|
30
|
+
**Formats and extras**
|
|
30
31
|
- [Multiple voices](Multiple-Voices)
|
|
31
32
|
- [Other languages](Other-Languages)
|
|
32
33
|
- [Shorts](Shorts)
|
|
@@ -43,25 +44,29 @@
|
|
|
43
44
|
**Publishing**
|
|
44
45
|
- [Publishing to YouTube](Publishing-to-YouTube)
|
|
45
46
|
- [Studio extension](Studio-Extension)
|
|
47
|
+
- [Posting to social sites](Posting-to-Social-Sites)
|
|
46
48
|
|
|
47
49
|
**Automation**
|
|
48
50
|
- [Templates](Templates)
|
|
51
|
+
- [Edit template](Template-Studio)
|
|
49
52
|
- [Schedules](Schedules)
|
|
50
53
|
- [Calendar](Calendar)
|
|
51
54
|
- [Notifications](Notifications)
|
|
55
|
+
- [Assistant](Assistant)
|
|
52
56
|
- [Agents (MCP)](Agents-MCP)
|
|
53
57
|
- [Backups](Backups)
|
|
54
58
|
|
|
55
59
|
**Channels**
|
|
56
60
|
- [Channels](Channels)
|
|
57
|
-
- [Cast
|
|
61
|
+
- [Cast](Cast-Library)
|
|
58
62
|
|
|
59
|
-
**
|
|
60
|
-
- [
|
|
63
|
+
**Prompts and templates**
|
|
64
|
+
- [Prompts and templates](Prompts-and-Templates)
|
|
61
65
|
- [Prompts](Prompts)
|
|
66
|
+
- [Keywords Slopify fills](Keywords-Slopify-Fills)
|
|
62
67
|
- [Intros and outros](Intros-and-Outros)
|
|
63
68
|
- [Aliases and glossary](Narration-Aliases-and-Glossary)
|
|
64
|
-
- [
|
|
69
|
+
- [PDF looks](Document-Themes)
|
|
65
70
|
|
|
66
71
|
**Reference**
|
|
67
72
|
- [Settings reference](Settings-Reference)
|