Produce & edit
Editing & color
Cut video on a multi-track timeline, edit from transcripts, work with bilingual subtitles, dub with a cloned voice, grade color, then export.
Interface version 1.9.8 · 2026-10-05
The Editor page centers on one monitor and a bottom timeline. The left panel switches between Media / Transcript / Subtitles / Voice; selecting a clip brings up the inspector on the right. On the right of the command bar sit the AI assistant, Undo / Redo, Add subtitle at playhead, Add title text at playhead and Export.

Import a file in the media panel (or right-click an asset and choose Add to timeline) and drag it onto a track. This demonstration uses a prepared video, narration and subtitle sequence, then selects clips, opens the inspector and plays the timeline.
The dropdown in the title bar switches projects; when a project holds several timelines, Open in the editor on a board's timeline item opens that exact one. Drag panel edges to resize your workspace.
Timeline#
From left to right the timeline toolbar has the Select (A) / Blade (B) tools, the Placement mode (Overwrite / Insert), Sequence settings, then split at playhead, save this frame, duplicate, ripple delete and delete clip, Add track (video / audio / subtitle), snap (N), zoom out / in / to fit, and a Shortcuts cheat sheet.
- Sequence settings: change the aspect (16:9, 9:16, 1:1, 4:5) and the fill mode (Crop, Letterbox, Blur bg).
- Tracks: video, audio and subtitle tracks side by side. New video tracks go on top (layered over the picture below); audio and subtitle tracks are added at the bottom. Dragging a clip above the top track and releasing adds a video layer. A track header has move up / down (layer order), mute, S for Solo (hear only this track), D for Duck (lower this track by about 10 dB whenever another track sounds — typically music making room for a voice), lock and remove. Subtitle tracks have just an eye: hidden subtitles stay out of both preview and export. Locked tracks really can't be changed; the last video track can't be removed — add another one first. Removing a track that holds clips asks first.
- Playback: Space plays and pauses; the monitor has loop, playback rate (0.5 / 1 / 1.5 / 2×), volume and fullscreen. Playing at another speed keeps the pitch, matching how export changes speed. Clicking the picture also plays and pauses.
- Save this frame: saves the frame under the playhead as an image asset — subtitles and titles included, exactly as in the export.
- Long timelines: only visible clips are drawn, the playhead moves smoothly and preview audio plays from lightweight proxies, so timelines with hundreds of clips stay responsive.
Overwrite on drop, or insert#
Placement defaults to Overwrite: a clip you drag, trim, duplicate or drop in from the media panel cuts away whatever it lands on, and the drag preview already shows how the clip underneath will be carved — two clips never stack on one track. Trims stop at the neighbour's edge. Switch to Insert and everything after the drop point moves along to make room.

- Ripple delete (⇧Delete, or Ripple delete in the context menu) removes clips and closes the gap; Q / W cut from the previous edit point to the playhead, or from the playhead to the next one, and close the gap; deleting words and sentences or clearing fillers in the transcript use the same "cut these ranges" mechanism.
- Speed changes push what follows: speeding a clip up or slowing it down moves the clips after it instead of overlapping them.
- Every time snaps to a frame, so long timelines don't drift later and later.
Linked picture and sound#
Right-click a video clip and choose Detach audio: the sound goes onto a free audio track and the original clip is muted, and the two are linked — a chain icon on each, and they move, trim, split, delete and change speed together. The detached sound keeps its fades and volume curve.
- ⌥ click selects just that part of the linked pair (a temporary unlink): the next drag, trim, delete or split leaves its partner alone.
- ⌥-dragging an edge trims only that part.

The clip context menu#
| Item | What it does |
|---|---|
| Split at playhead, Duplicate | Same as S, ⌘D |
| Detach audio | Video clips on a video track only; see above |
| Replace media… | Swap in another asset, keeping position, length, transform and grade; optionally swap every clip on the timeline that uses the same asset. Also how you repair an "asset deleted" placeholder |
| Denoise (replaces when done) | Audio and video clips only. The denoised new asset replaces this clip on the timeline |
| Keep only the voice | Separates out the voice and swaps it in |
| Split into voice and background | Two stems: the voice replaces the clip, the background goes onto an audio track |
| Delete clip, Ripple delete | Same as Delete, ⇧Delete |

Denoising and separation always produce new assets and leave the original untouched, running as background tasks. To get the new asset without touching the timeline, right-click it in the media panel or library and choose Reduce noise… or Separate voice and background (see Media library).
Editing together (with people and agents)#
Several people and several agents can change one timeline at the same time. Each edit carries "the version I was looking at": if someone else changed an unrelated part, your step lands as usual; if they touched the same place, you are told that someone "just changed this timeline… It now shows the latest version" and you redo the step there — nobody silently overwrites anybody.
⌘Z undoes only your own steps — never a colleague's or the agent's latest change; if undoing or redoing would scramble something someone changed since, nothing is done and you're told why. A chain of operations counts as one step: a whole dubbing run or a subtitle regeneration undoes in one go. Undo and redo keep working after an asset is deleted; the clip comes back as an "asset deleted" placeholder.
Keyboard shortcuts#
The Shortcuts button on the timeline toolbar lists these. On Windows use Ctrl for ⌘ and Alt for ⌥. They don't fire while you are typing in a field.

| Keys | Action |
|---|---|
| Space | Play / pause (from the start when parked at the end) |
| J / K / L | Play backward / stop / play; press again in the same direction to speed up |
| ← / → | Step one frame (⇧ = 10 frames) |
| ↑ / ↓ | Go to the previous / next edit point |
| Home / End | Go to start / end |
| I / O | Mark in / out at the playhead; ⌥X clears them |
| A / B | Select / Blade tool |
| S | Split the selected clip at the playhead |
| ⇧⌘K | Split every unlocked track at the playhead |
| Q / W | Ripple trim: cut from the previous edit point to the playhead / from the playhead to the next edit point |
| ⌘D | Duplicate clip |
| ⌘C / ⌘X / ⌘V | Copy / cut / paste clips; pasting lands at the playhead with relative positions and tracks kept, and cut clips move as a whole. With text selected, the system clipboard takes over |
| Delete | Delete selection |
| ⇧Delete | Ripple delete (close the gap) |
| ⌘Z / ⇧⌘Z | Undo / redo (your own steps only) |
| ⌘A | Select every clip on unlocked tracks |
| ⌥ + ← → ↑ ↓ | Select the neighbouring clip (←→ same track, ↑↓ next track) without moving the playhead |
| , / . | Nudge selected clips one frame (⇧ = 10 frames) |
| ⌘[ / ⌘] | Move the selected clip to the existing video track above / below, keeping its time |
| N | Toggle snapping |
| + / - / ⇧Z | Zoom in / out (anchored on the playhead) / zoom to fit |
| Esc | Cancel a drag in progress; drop the cut mark; clear the selection |
| ⇧ click | Add to the selection; drag on empty space to marquee |
| ⌥ click | Select just this part of a linked clip |
| ⌥ / ⇧ / ⌘ while dragging | ⌥ duplicates, ⇧ locks the axis (time only or track only), ⌘ skips snapping |
| Drag a clip up / down | Switch track or layer; release above the top to add a video layer |

A few more: tabbing into the timeline lands on the selected clip (or the first one), and ⌥ + arrows then walk between clips from the keyboard; double-click a title on the monitor to edit it in place — Enter commits, ⇧Enter adds a line, Esc cancels; hold ⇧ on the transform box's rotate handle to snap to 15°.
Clip properties, appearance and titles#
With a clip selected, the inspector's Properties shows, in order: asset and timing info, the subtitle or title text, Speed (presets from 0.5 to 2×), Audio (mute, gain 0–200%, keyframable), Picture fade and Audio fade (fade-in / fade-out seconds), Appearance, and Transform (scale, rotation, opacity, position X / Y — all keyframable — plus Clear animation and Reset). You can also drag the box on the monitor to scale and rotate.

- Appearance (video and image clips): Shape mask (None / Rounded / Circle, with a radius for rounded) and Shadow (off by default; color, opacity, blur, horizontal / vertical offset). The shadow is computed in frame pixels, so a scaled or rotated clip casts the same size and direction of shadow in preview and export, and a lower-resolution export scales it down.
- Picture-in-picture: add a video track to lay the picture over the base, shrink it into a corner with Transform or on the monitor, then add a circle mask and a shadow. Export keeps each asset's own aspect ratio.
- Titles: Add title text at playhead puts a text clip on the timeline. Text style offers five presets (Plain, Outline, Variety, Drop shadow, Candy) and controls for font, size, fill color, stroke color, Stroke (capped at 15% of the font size), shadow, bold, italic and alignment. The stroke is drawn outside the letters, so white text keeps its full shape, and preview and export draw the same outline.
Transcript-driven editing#
Press AI transcribe on an audio/video asset to get a word-level transcript with timecodes:
- Click to seek, press and drag to mark words for removal, double-click to mark a single word; Remove selected words cuts those pieces from the timeline and closes the gap.
- Silences finds pauses of 0.6 s or more in the transcript; with it on, Select all silences removes them together.
- Fillers previews before it selects: each category — hesitations (um / uh / 呃 / 嗯), stock phrases (就是说 / 然后就是), "那个" and English "like" — lists every match in context, then Select these N. "那个" and "like" are often real words (that person / I like it), so they start unticked.
- Split by sentence cuts a whole stretch at sentence boundaries; splitting a sentence with Split here keeps both halves together, even when a line in another language or on another track starts at the same moment.
- Generate subtitles lays a subtitle track from the transcript.
- Speakers show as a person icon with a number counted from 1 ("Speaker 1"), only when at least two speakers were detected.
- When a transcript exists but some timeline media is still untranscribed, the button reads Transcribe N more.
- Lines break only where punctuation ends a phrase: a speaker's breath no longer splits a sentence in half, and Latin words such as "controlnet" are never cut apart. Re-segmenting remeasures every row instead of leaving blank space.
- Transcription uses the engine set under Settings → Capability providers → Transcription; local engines are installed by the deployment admin in Admin → Engines and download their models on first use.
AI assistant#
The robot button opens the same assistant panel as AI Studio, workflows and boards; each Edit project has its own conversations, which include that project's memory. In the editor it docks as a real right-hand column by default, so the timeline and monitor resize instead of being covered; switch it to floating mode when you want an overlay. The top-left title is the current conversation — click it to search, switch, or pick one from Elsewhere to continue here.
The agent edits with the same operations you have: create a timeline, add clips, duplicate clips, replace media, add a track at a given row, caption, dub… Changes go through a confirmation card, and its edits follow the same "undo only your own" rule as yours.
Color grading#
Select a video or image clip and switch the inspector to Color. A grade applies only to the selected clip; Reset is in the corner:
- Style presets: None, Vivid, B&W, Warm, Cool, Cinematic, Fade.
- Light: exposure, brightness, contrast, gamma, highlights, shadows, whites, blacks; Color: temperature, tint, saturation, vibrance, hue; Effects: fade, sharpen, vignette.
- Curves: Luma / R / G / B channels — press the curve to add a point and drag it, double-click or right-click to remove one; it has its own undo stack (each drag is one step).
- 3D LUT: upload a
.cube; it is burned in on export, on top of the grade.
Tone levels (highlights / shadows / whites / blacks), sharpen and the LUT take full effect on export; the preview is an approximation (the LUT doesn't show in preview yet).
Subtitles#
- Adding: Add subtitle at playhead in the command bar or on the Subtitles tab, or From transcript for a whole track. Edit a cue's text right in the list; the clock icon opens Edit start and end — enter seconds or
m:ss, Enter commits, Esc cancels; clearing a cue's text deletes it. During playback the list follows the current cue. - Regenerating replaces instead of stacking: if the target track already has cues you are asked "Regenerate subtitles?" and confirm with Replace and regenerate. The workflow's Generate subtitles node breaks lines the same way.
- Subtitle style (shared by the whole timeline): Text (font, upload a font, size, color, bold), Backplate (color, opacity — 0 means no backplate) and Layout (bottom / center / top, margin). Subtitles and titles are burned into the export.

Importing and exporting .srt / .vtt#
- Import subtitle file: choose the subtitle track to land on (a new subtitle track by default); with an existing track you can Replace this track's existing subtitles. Pick an
.srt/.vttfile — or drop it into the media panel. - Export subtitle file: pick the track (when more than one has cues) and the format (SRT or WebVTT); for two-line bilingual cues choose Both lines / First line only (original) / Second line only (translation).


Translation and bilingual subtitles#
Translate on the Subtitles tab: pick a target language (English, Simplified or Traditional Chinese, Japanese, Korean, French, German, Spanish, Russian), optionally Selected only (N), and turn on Keep original (bilingual) for "original / translation" two-line cues. The engine list follows Settings → Capability providers → Translation: Google Translate (free) needs no setup and translates cue by cue; Chat model uses your own chat connection and reads the context (it costs money); translation plugins appear there too. Google is the default.
Bilingual subtitles can also live on two tracks: the original on one subtitle track and the translation on another (for example, import a second .srt). When several subtitle tracks have text at the same moment they are drawn in one box at the bottom, the higher track's text on top — identical, pixel for pixel, in preview and export.

Voiceover#

The Voice tab of the left panel dubs subtitles: engine, voice and speed at the top, how to dub these cues below. The scope follows the timeline selection — dub just the cues you selected (Selected only (N)), or the whole track when nothing is selected. The dub button beside each cue on the Subtitles tab selects that cue and switches to Voice; the tab then reads "Only the cue at 0:12" with Whole track instead. With several subtitle tracks, choose the Subtitle track to dub (the selected cue's track by default, otherwise the top one).
The audio lands on a dedicated dub track: the original audio is untouched, delete the track and you are back where you started, and dubbing again returns to that same track. Re-dubbing a cue replaces it instead of stacking; a cue already dubbed with the same text and voice is skipped, and the done message says how many were. A whole dubbing run undoes in one step.
Original audio has four settings:
- Lower while the dub speaks (default): the original drops by about 10 dB — right when it is ambience or music.
- Mute (for translated dubs): with speech on both sides, lowering just leaves two people talking at once.
- Leave as is: you handle it on the track yourself.
- Remove the voice, keep the music: split the original into voice and background first, drop the voice and keep the music (needs a separation engine).
None of the four deletes anything: they flip the track's mute/duck switch, or place the background stem on an audio track, and all of it can be undone. It applies to whichever track actually carries sound, including a video clip's own audio.
- Fit to cue length (on by default): when a line runs long it is sped up between 0.9× and 1.5× to fit the cue; if 1.5× still isn't enough it runs into the gap before the next cue. It uses the clip's own speed — lossless, undoable, and still adjustable in the inspector.
- Text to dub: bilingual cues ask whether to read the Full cue (both lines), the First line or the Second line. Feeding the whole cue reads the source and then the translation.
- Engines: local voice cloning, Edge free voices, OpenAI, Volcano, Alibaba Bailian, plus any voiceover plugin. Remote voices are fetched per engine (Volcano's catalogue follows your account). Local cloning also picks a Clone engine (F5-TTS / Fish Speech); the voice library is under Settings → Dubbing & voices.
Reading arbitrary text aloud and making a podcast produce standalone audio assets that have nothing to do with the timeline; they live in AI Studio → Create.
When the language does not match, the engine does not error — it reads the text with the rules it knows, produces gibberish, and reports success. So it is caught at the moment you pick the engine, with a way out, instead of after you listen to it.
Reading other languages in your own voice#
What local cloning can read depends on which weights are installed, not on the engine. The base weights are Chinese + English; Japanese, French, German, Spanish, Italian, Russian, Hindi, Arabic and Finnish each have a community finetune, and whichever is missing gets a download button right on the Voice tab (~1.4 GB each).
Japanese, Korean, Russian, Arabic and Hindi are recognised from the script itself — install the weights and they just work. French, German, Spanish, Italian and Finnish share the Latin alphabet with English: no character can prove "this is French rather than English", so those are picked explicitly in the Weights dropdown.
Your own voice through Bailian, without a local engine#
A voice from the library can also be spoken by Alibaba Cloud Bailian's CosyVoice: pick the engine Alibaba Bailian (CosyVoice) and the voice dropdown gains a My cloned voices group under the stock voices. What speaks is a copy of that voice cloned into your own Bailian account — no local engine to install, no gigabytes of weights; in exchange it is billed at CosyVoice's per-character price (the cloning step itself is free). Local cloning keeps working: the same voice is spoken from its reference clip locally, or from its copy on CosyVoice.
- You agree once, the first time. The reference clip (the 5–15 seconds you created the voice from) is uploaded to your Bailian account; the dialog says which connection and which model it goes to, and nothing is uploaded until you agree. Cloning runs in the background (about ten seconds) and the dub waits for it. After that, a new model or a copy Bailian deleted (copies unused for a year are removed automatically) is rebuilt as needed without asking again. You can also clone ahead of time with Clone on Bailian on the voice under Settings → Dubbing & voices (it runs as a task, and the task center tells you when it's ready).
- A voice nobody has declared ownership of is never cloned (the same line as digital humans) and is not listed — add the declaration in the voice library first.
- Each cloned voice in the library shows where it can speak: This computer, Bailian · cosyvoice-v3-flash; cloning, failed (hover for the reason) and deleted-by-Bailian are shown there too.
- Deleting the voice in Mosael deletes its copies on Bailian. Any that can't be removed (an expired key, no network) are listed so you can check Voice Cloning in the Bailian console.
- Copies follow the key: on a shared connection everyone uses their own key, and a cloned voice lives only in that person's account. Each clone is recorded in usage (free), so you can see when, which voice and which connection.
- A voice is tied to the model it was built on: when the CosyVoice model on the connection changes, a new copy is cloned on the new model the next time it's used, and the old one is left alone.
Speech under AI Studio's Create, speaking on a board, the workflow dubbing node and the Spoken replies voice can all pick library voices once CosyVoice is the engine. Workflows and a character's "Make it talk" run in the background and can't ask you, so click Clone on Bailian before the first use; without that agreement they stop at the voicing step and say why. The agent can name CosyVoice with a library voice too; if you haven't agreed yet, it says so the moment it opens the confirmation card and asks you to click Clone on Bailian first.
To see what CosyVoice costs in your usage, run Prefill prices once for the Bailian connection under Admin → Cost rules (see Model connections → Cost rules). When synthesis fails, the error carries Bailian's own words from the response (a missing voice, the wrong model).
Export#
Export in the command bar opens Export settings and renders the current timeline into a new asset:
| Option | Choices | Default |
|---|---|---|
| Resolution | Original, 1080p, 720p, 480p (scales down only; titles and shadows scale with it) | Original |
| Frame rate | Match sequence, or 24 / 25 / 30 / 50 / 60 | Match sequence |
| Quality | High (larger file), Standard, Compact (smaller file) | Standard |
| Normalize loudness (−14 LUFS) | Brings the whole mix to −14 LUFS with peaks at or below −1 dB, for places that don't even out volume; not audible in the preview | Off |
| Label AI-generated content "AI-generated" | Shown only when the timeline has AI-generated clips (they carry an "AI" badge) | Off, and off again every export |

The first four are remembered. Leaving loudness off won't clip: the mix is always limited.
- AI label: when the export uses AI-generated or synthesized media (including anything trimmed, denoised or separated from it), the file always gets the standard implicit-label metadata. The on-screen label is off by default; tick it to show "AI-generated" in the top-left corner for the first 3 seconds and a small line in the top-right corner throughout — see "AI-generated label" in Digital humans.
- Faster: subtitles and static titles are composited into one transparent layer and each line is rendered once; consecutive pieces of the same asset share one input; heavily layered timelines render in chunks that are joined losslessly. A 270-second timeline with 150 jump cuts and 200 subtitles went from 106 seconds to about 17, using less than half the memory, and asset-heavy timelines no longer fail with "too many open files".
- More accurate: each export uses its own working folder, so two exports of one timeline don't collide; segment boundaries land on whole frames; assets whose sound starts late stay in sync; in-points that fall exactly on a keyframe keep their first syllable; if hardware encoding can't start, software encoding takes over before the render begins.
- A timeline with an "asset deleted" placeholder refuses to export and names the missing asset, rather than quietly leaving a gap.
Once done you can head to Publishing.













