Trim, retime, reorder, ramps, and removing fillers or long silences.
The timeline is a list of clips. Every clip has an id, a source, an in/out point
and a speed. Edits are one command each, so a failure names one thing.
splice trim clip_1 --to 4ssplice trim clip_1 --from 2s --to 5.5ssplice trim clip_1 --words w12-w19 --pad 120ms
--words cuts by index ids, which is how you trim to what was said rather than
to a guessed timestamp. A trim past the end of the medium is clamped and
reported as a clip_past_media warning; the duration in the response is what
will actually render.
speed preserves pitch by chaining atempo inside its documented range.
ramp cuts the source at key times and gives each slice one constant rate, so a
ramp is a staircase rather than a continuous curve — the trade is stated because
a continuously varying rate is not expressible in atempo.
index builds a word index for the clip’s audio, cached by audio hash. cut
uses it to remove fillers and long silences, splitting the clip into what
survives. view prints words in a range, find searches them, and scenes
writes shot boundaries into the same index.
cut is destructive in the sense that it replaces one clip with several. Run
history first if you are unsure; undo restores the previous document.
Document changes are validated before saving, so an edit cannot leave a file
the next command refuses.
Every mutation takes a snapshot, so undo --steps K goes back K edits.
Only the cache steps that depend on the change are invalidated; render reports
how many ran versus were reused.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"splice","description":"A video-editing CLI for AI agents: one JSON document in, ffmpeg out.","colors":{"primary":"#5B8DEF","light":"#8FB2F5","dark":"#3A6BD0"},"navbar":{"links":[{"href":"https://github.com/matthew-eth724/splice-cli","label":"GitHub"}]},"footer":{"socials":{"github":"https://github.com/matthew-eth724/splice-cli"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"splice-cli","hasAudioNarration":false,"actualSubdomain":"splice-cli","customDomains":[],"gitSource":{"type":"artifacts","owner":"prod","repo":"d4a098ae4a762e701b8337e9","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6af6eecc4b52838f62bf6ead"},"entitlements":{},"buildId":"6af6eedc7f87d88f98cf1366","clientVersion":"0.0.4124","searchFilterCounts":[]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"guides/editing","slug":"/guides/editing","pageMetadata":{"title":"Editing","description":"Trim, retime, reorder, ramps, and removing fillers or long silences.","href":"/guides/editing"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Trim, retime, reorder, ramps, and removing fillers or long silences.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The timeline is a list of clips. Every clip has an id, a source, an in/out point\nand a speed. Edits are one command each, so a failure names one thing.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-verbs`,children:`The verbs`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Command`}),_jsx(_components.th,{children:`What it does`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`add \u003cfile> [...]`})}),_jsxs(_components.td,{children:[`Append clips. `,_jsx(_components.code,{children:`--layer \u003cid>`}),` targets a layer, `,_jsx(_components.code,{children:`--at \u003cindex>`}),` inserts.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`list`})}),_jsxs(_components.td,{children:[`The timeline as JSON, with `,_jsx(_components.code,{children:`missing`}),` on sources that no longer resolve.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`trim \u003cid>`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`--from`}),`, `,_jsx(_components.code,{children:`--to`}),`, `,_jsx(_components.code,{children:`--words w12-w19`}),`, `,_jsx(_components.code,{children:`--pad`}),`, `,_jsx(_components.code,{children:`--dry-run`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`speed \u003cid> \u003cfactor>`})}),_jsx(_components.td,{children:`Constant rate, pitch preserved.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ramp \u003cid> --from --to --slices`})}),_jsx(_components.td,{children:`A speed change across the clip, piecewise.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`move \u003cid> \u003cindex>`})}),_jsx(_components.td,{children:`Reorder.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rm \u003cid>`})}),_jsx(_components.td,{children:`Remove.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`inspect`})}),_jsx(_components.td,{children:`Summary plus diagnostics for the whole project.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`trimming`,children:`Trimming`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`splice`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` trim`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clip_1`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --to`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 4s`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`splice`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` trim`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clip_1`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 2s`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --to`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 5.5s`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`splice`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` trim`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clip_1`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --words`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` w12-w19`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --pad`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 120ms`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`--words`}),` cuts by index ids, which is how you trim to what was said rather than\nto a guessed timestamp. A trim past the end of the medium is clamped and\nreported as a `,_jsx(_components.code,{children:`clip_past_media`}),` warning; the `,_jsx(_components.code,{children:`duration`}),` in the response is what\nwill actually render.`]}),`\n`,_jsx(Heading,{level:`2`,id:`speed`,children:`Speed`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`splice`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` speed`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clip_1`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1.5`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`splice`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ramp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clip_1`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --from`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --to`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 2`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --slices`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 4`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`speed`}),` preserves pitch by chaining `,_jsx(_components.code,{children:`atempo`}),` inside its documented range.\n`,_jsx(_components.code,{children:`ramp`}),` cuts the source at key times and gives each slice one constant rate, so a\nramp is a staircase rather than a continuous curve — the trade is stated because\na continuously varying rate is not expressible in `,_jsx(_components.code,{children:`atempo`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`tightening-a-recording`,children:`Tightening a recording`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`splice`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` index`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clip_1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`splice`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cut`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clip_1`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`index`}),` builds a word index for the clip’s audio, cached by audio hash. `,_jsx(_components.code,{children:`cut`}),`\nuses it to remove fillers and long silences, splitting the clip into what\nsurvives. `,_jsx(_components.code,{children:`view`}),` prints words in a range, `,_jsx(_components.code,{children:`find`}),` searches them, and `,_jsx(_components.code,{children:`scenes`}),`\nwrites shot boundaries into the same index.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`cut`}),` is destructive in the sense that it replaces one clip with several. Run\n`,_jsx(_components.code,{children:`history`}),` first if you are unsure; `,_jsx(_components.code,{children:`undo`}),` restores the previous document.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`what-survives-an-edit`,children:`What survives an edit`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Document changes are validated before saving, so an edit cannot leave a file\nthe next command refuses.`}),`\n`,_jsxs(_components.li,{children:[`Every mutation takes a snapshot, so `,_jsx(_components.code,{children:`undo --steps K`}),` goes back K edits.`]}),`\n`,_jsxs(_components.li,{children:[`Only the cache steps that depend on the change are invalidated; `,_jsx(_components.code,{children:`render`}),` reports\nhow many ran versus were reused.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Editing","description":"Trim, retime, reorder, ramps, and removing fillers or long silences.","href":"/guides/editing"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"The verbs","slug":"the-verbs","depth":2,"children":[]},{"title":"Trimming","slug":"trimming","depth":2,"children":[]},{"title":"Speed","slug":"speed","depth":2,"children":[]},{"title":"Tightening a recording","slug":"tightening-a-recording","depth":2,"children":[]},{"title":"What survives an edit","slug":"what-survives-an-edit","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"splice-cli","siteName":"splice","title":"Editing - splice","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-13T11:05:02.953Z","originalFileLocation":"guides/editing.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Trim, retime, reorder, ramps, and removing fillers or long silences.\">\u003cmeta data-mint-head name=\"application-name\" content=\"splice\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/splice-cli/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/splice-cli/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/splice-cli/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/splice-cli/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Editing - splice\">\u003cmeta data-mint-head property=\"og:description\" content=\"Trim, retime, reorder, ramps, and removing fillers or long silences.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"splice\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://splice-cli.mintlify.app/guides/editing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://splice-cli.mintlify.site/_mintlify/api/og/v2?division=Guides\u0026amp;title=Editing\u0026amp;description=Trim%2C+retime%2C+reorder%2C+ramps%2C+and+removing+fillers+or+long+silences.\u0026amp;theme=3c76fba90887bc4b9ed696df\u0026amp;signature=ee7fa87e92d48c96557096a37c677df6db1f25fe8a6ce8238374563758a769ad\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Editing - splice\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Trim, retime, reorder, ramps, and removing fillers or long silences.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://splice-cli.mintlify.site/_mintlify/api/og/v2?division=Guides\u0026amp;title=Editing\u0026amp;description=Trim%2C+retime%2C+reorder%2C+ramps%2C+and+removing+fillers+or+long+silences.\u0026amp;theme=3c76fba90887bc4b9ed696df\u0026amp;signature=ee7fa87e92d48c96557096a37c677df6db1f25fe8a6ce8238374563758a769ad\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/splice-cli/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"splice\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5B8DEF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://splice-cli.mintlify.app/guides/editing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/editing.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://splice-cli.mintlify.app/#organization\",\"name\":\"splice\",\"url\":\"https://splice-cli.mintlify.app\"},{\"@type\":\"WebSite\",\"@id\":\"https://splice-cli.mintlify.app#website\",\"name\":\"splice\",\"url\":\"https://splice-cli.mintlify.app\",\"publisher\":{\"@id\":\"https://splice-cli.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://splice-cli.mintlify.app/guides/editing#webpage\",\"url\":\"https://splice-cli.mintlify.app/guides/editing\",\"name\":\"Editing\",\"description\":\"Trim, retime, reorder, ramps, and removing fillers or long silences.\",\"dateModified\":\"2026-11-13T11:05:02.953Z\",\"isPartOf\":{\"@id\":\"https://splice-cli.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://splice-cli.mintlify.app/guides/editing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://splice-cli.mintlify.app/guides/editing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"splice\",\"item\":\"https://splice-cli.mintlify.app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Editing\",\"item\":\"https://splice-cli.mintlify.app/guides/editing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://splice-cli.mintlify.app/guides/editing#article\",\"headline\":\"Editing\",\"name\":\"Editing\",\"description\":\"Trim, retime, reorder, ramps, and removing fillers or long silences.\",\"url\":\"https://splice-cli.mintlify.app/guides/editing\",\"mainEntityOfPage\":{\"@id\":\"https://splice-cli.mintlify.app/guides/editing#webpage\"},\"dateModified\":\"2026-11-13T11:05:02.953Z\",\"publisher\":{\"@id\":\"https://splice-cli.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://splice-cli.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"splice\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"splice\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/guides/editing.md","siteName":"splice","nav":{"global":null,"groups":[{"group":"Get started","icon":"rocket","pages":[{"title":"Introduction","sidebarTitle":"Overview","href":"/index"},{"title":"Quickstart","href":"/quickstart"},{"title":"Install and ffmpeg","description":"What `npm install` gives you, why ffmpeg is required, and how to fix a build that cannot draw captions.","href":"/guides/installation"}]},{"group":"Guides","icon":"book-open","pages":[{"title":"Editing","href":"/guides/editing"},{"title":"Layers, camera, masks","description":"How the z-ordered stack composites, what the bottom layer means, and how placement, camera keys and masks differ.","href":"/guides/layers"},{"title":"Captions and transcription","href":"/guides/captions"},{"title":"Rendering and caching","href":"/guides/rendering"},{"title":"For agents","href":"/guides/agents"}]},{"group":"Reference","icon":"code","pages":[{"title":"Command reference","href":"/reference/cli"},{"title":"Project file","href":"/reference/project-file"},{"title":"Errors and warnings","href":"/reference/errors"},{"title":"How it works","href":"/reference/how-it-works"}]}]},"basePath":"","title":"Editing - splice","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":[],"chunks":[]}