Skip to content

Editing view, AI agent connections and automatic subtitles (0.4.0) - #217

Merged
KBRASK merged 68 commits into
mainfrom
release/0.4.0-public
Oct 13, 2026
Merged

KBRASK merged 68 commits into
mainfrom
release/0.4.0-public

Conversation

@KBRASK

@KBRASK KBRASK commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator

Adds an editing view and AI agent connections, and makes generation faster.

  • New editing view: arrange generated clips on a timeline, add text and subtitles, change speed or reverse a clip, and choose the size and quality when exporting.
  • Clips can be extended in the editing view: drag a new part out of the end of a clip and press Generate, and it continues from the clip.
  • A "First-frame reference" switch reduces drift when a clip is extended.
  • The editing view can create subtitles automatically: it recognizes Chinese, English, Japanese, Korean and Cantonese speech and gives each line its text and timing.
  • A step-by-step guide appears the first time FreeVideo opens, and can be viewed again from Settings.
  • Connect an AI agent and let it generate, edit and export videos.
  • LoRAs can be added directly in the creation panel.
  • A 30-second video is generated in two parts.
  • The FreeVideo · Media node accepts several reference images.
  • Faster generation: the wait before decoding is shorter; when generating several videos in a row, the models load faster for the later ones. On computers with less memory, background compiling after an update uses less memory.
  • Fixes: generating with several large reference images no longer runs out of memory; 16:9 videos can be saved as share videos; making the full video from a preview no longer stalls on a single step now and then; when setup cannot find a graphics driver, the error says so; when security software removes one of FreeVideo's files, the error says why and how to restore it.

KBRASK added 30 commits October 12, 2026 23:09
The local Agent interface (discovery, connection, jobs, projects, cast and
exports), the chain backend that generates a long video in continued parts
with seam repair, and the editor modules these build on.
- docs: add three community results rows
- docs: add one community results row
Editor: addSubtitles writes subtitle lines in one undoable edit; the title menu moves with the arrow keys
- Tests for idle preload failure cleanup and the yield deadline
- Repeating a prompt reuses its saved encoding in a deep installation folder, and the loaded video model stays when its pinned weights still fit
- Tests for saving records under a short staging name, interrupted cache writes and failed idle encoder preparation
- Tidy the continuation tests and list them in CI
- Keep the previous segment's sound clean by default when continuing a video
- Keep the sound just before a continuation seam so segments can be joined cleanly after generation
- Tests: the seam-audio callback of the decoder is not part of the resource identity
- Run a canvas whose first pass is under 138,240 px in one pass
- Render sizes under 131,072 px larger and scale down; follow the one-pass plan everywhere
- Keep the decoder output size out of the resource-history identity defaults
- Use one sampling canvas in the ComfyUI bridge; adjust two-pass test fixtures
- Decide the sampling canvas right after the media is read
- Let a single-pass plan continue: one tail serves both stages on small canvases
- Keep pre-encoded conditioning at the requested size in every estimate and entry
- Keep the worker's own two-pass check for continuation: small canvases that fell back to one pass still continue, an explicit single pass does not and keeps no continuation data
- Agent eval: the restart fault triggers and takes its evidence the way a real service reports a running job
- Agent soak: check an export's size from the library entry and the file
- Agent eval: end-to-end short film task
- Agent eval: the fake's upload reply carries the file link the real service returns
- Agent token: on Windows create the file for this user, the system and administrators only
- Agent eval: the page user waits out a restart under test and fetches its session again
- Agent projects: a refused project says which part the editor rejected and how to place clips
- Agent eval: a task sets its own turn budget; short-film takes are matched to shots by the timeline
…ion updates

- Evaluate sentence-based agent onboarding with isolated shell sessions
- Simplify Settings agent connection to copy and live status
- Agent connect: the card stands alone so any surface can show it
- Agent continue: a continued video is as long as the request says
- Agent projects: a written clip cannot claim more of a source than it has
- Agent evaluation: an export corrected after a project error is a legal path
- Agent eval: the scripted short film states the continued shot's real length
- Agent smoke: check the rule engine in the Python the service runs with; a cancelled job is what a cancel asks for
- Expose the local connection guide from agent discovery
- Isolate onboarding login state and verify configuration safely
The sentence the connect card shows carries no parameter; the card tells the
server which language it showed, and the instructions an agent then opens
follow it. Without a card they follow the saved interface language.
Keep a specific loopback address on the connect card; smoke kit falls back when its recorded Python cannot be checked
- Editing view: playback and timeline controls
- Editing view: speed and reverse controls
- Editor: speed phase field preserves frames across splits and trims
- Editor tests: audio, speed and playback rule modules join the shared-action allow list; split on a locked track reports the shared code
- Editing view: one snapping switch for the timeline; Alt flips it for a single gesture
- Sound: put original audio back, explicit replace, locked tracks, mixed values
- Playback and timeline: J and L at one times speed, backward note, markers that select and refuse overlap, one-kind selection, selected range for gaps
- Speed: slowing down makes room on every track, "Reset speed" changes speed only, mixed speeds are shown
- Editing view: shorter wording for sound limits, the backward note and the speed panel; no sentence under a plain crossfade
- Editing view sound: Enter on a media card picks the replacement, and one more step at the longest crossfade names the limit
- Editing view export: the selected range uses the playback bar's definition
- Page health check: list the three sound modules it missed
- Editing view sound: a pending replace also takes Enter and Space on a card's add button
- Tests: a part on a locked track leaves the selection and keeps its solid fill
- Hide editor generation when chain endpoints are unavailable
- Editing view: no Regenerate button while generating is unavailable
- Creation panel: first-run guide that points at the controls
- First-run guide: shorter wording for the range step, and keep words together across lines
- First-run guide: show it again from Settings
- First-run guide: a last step pointing to the AI-assisted creation tab
- First-run guide: wording of the last step
- Tests: the picture and notes fixtures answer the generation probe
- Tests: the locked-track check reads the red flash at the press
…Agent interface is on, and...

Creative workspace: mark Settings as the guide's Agent step when the Agent interface is on, and start the guide once that is known
…and in for another, and...

Chain repairs only the seams it was told to, never lets one repair stand in for another, and fails cleanly on damaged seam copies
KBRASK added 29 commits October 13, 2026 04:53
Agent: count the parts a source still being made is planned to have; one video is up to 60 seconds in every description
…s is two parts

- Range chart: word the 30 s cap as a single run under 30 s
Creation panel: add LoRAs without a LoRA node in the workflow; the first one creates and wires it, clearing the list removes it

- Creation panel LoRA: the section is always there, titled LoRA; Add reads the folder, no Refresh button
- Creation panel LoRA: restore the graph counters when the list is cleared, also after the workflow is reopened
…ack first

- The loaded video model keeps its host side while the decoder uses the GPU
- Parking reads the engine's device type from the backend's device name
- Keep idle models off the card during sampling when the device cannot hold both, and keep a preview's memory peak apart from its upscale's
- Preserve setup failure causes after successful download tool checks and explain missing NVIDIA drivers
- Missing NVIDIA driver card: name the Retry installation button and the display driver
- Size background precompile admission from its own memory usage
- Say clearly when a FreeVideo environment Python file was removed, and make retry rebuild it
- Shorter wording for the missing environment Python file error card
… on its own is a separate video

- View buttons: hovering no longer shows a sentence; the buttons already carry their names
- First-run guide: the Chinese step names the button as it is labelled
- Editor text: a text or subtitle left without words is removed when editing ends
- Editor: half a minute is two parts; only a shorter range is one generation
- First-run guide: the first step speaks of the prompt, the Skill link and prompt enhancement; the link is named Skill
- Editor: a range drawn beside a finished part needs its own description, and its first part may be as long as any first part
- First-run guide: the first step keeps "top right" on one line in Chinese
- Editor browser checks: half a minute is two parts; a pulled-out part is attached and a drawn range stands apart
- Editor: ranges started together stay separate videos; copies, cuts and the five-part limit follow what a part continues; Enter on an empty subtitle adds nothing
…b list show

ComfyUI serves every route again under /api and its page calls that copy.
The Agent routes looked their contract up by the route's own address, so the
page got 404 for the discovery call and showed no Agent controls at all.
The page session cookie now follows the copy the page asked.
- Subtitle cue building, checks and SRT/WebVTT writers
- Align and transcribe jobs over the timeline's own sound, with pluggable engines
- Export: the subtitles option (burn or none) keeps the subtitle track out of the picture
- Subtitle file route: SRT/WebVTT of the saved subtitle track
- Speech recognition on the CPU; the models are optional
- Skip non-speech audio before recognition
…on in status

The connection instructions now carry a short list for the agent's first
answer (generate; continue when the backend can; edit and export when the
editor rules can run) and ask it not to quote version numbers or endpoint
names. Status reports the release version when the build is stamped and
keeps the build number in build. The startup test knows the two subtitle
route modules.
…mporting a subtitle file...

Editor: a subtitle just added stays while its own panel is used, so importing a subtitle file and the style controls are reachable
The connection guide now tells the agent to say in plain words that a finished video
is in Creations, not to read out job, library or project ids, and to give a file path
only when asked.
…language gate) with licence...

Subtitles: on-demand speech pack (runtime wheel, English model, VAD, language gate) with licence files

- Editor: Auto subtitles button in the subtitle panel, shown where this computer can recognise speech; one press starts, the next cancels, and the lines replace the subtitle track in one step
- Auto-subtitles: name the spoken language first; refuse a speech language without a model instead of writing wrong words
- Editor: Auto subtitles fetches what it needs on the first press and goes on to listen; speech that is not English says so
- Editor: first-frame reference switch for continued generation, saved with the project
- Creation panel: no length limit, with longer videos made in parts
- Progress browser test: allow the part position line above the card
- Creation panel: show the joined video after continuing a stopped generation
- Creation panel: length rule wording
- Creation panel: plan parts before the longest single run is known
- Creation panel: a request that fits one run keeps its time estimate while the longest run is unknown
- Creation panel: long-video planning helpers live outside the editor store, so the panel does not load the editing implementation
- Extension entry: a continuation always runs the Light two-pass plan and carries no first, last or reference items
- First-frame switch: show only for parts pulled out of a generated clip, same test as canGenerate
- Studio: first-frame reference switch under the length row for continued video
…ined whole video is made

Result card and library: the continue entry stays closed until the joined whole video is made; the editor's extension is unchanged

- Creation panel: a video with too many parts shows the server's sentence in the page language
- Extension entry browser check: a continuation after a single-pass predecessor runs two passes with the mode locked
- Extension entry browser check: the thumbnail may take longer on a busy machine
… conditioning and reference...

Extension entry: a continuation snapshot drops connected last frames, conditioning and reference inputs

- Extension entry: the thumbnail seeks again when the machine skips the decoded frame
Agent: the first answer no longer offers continuing a video; a continuation saves only the added part; no frame counts in answers
- Subtitles: pin the published download revision
- Subtitles: Chinese, Japanese, Korean and Cantonese through the multilingual model
…ase files

- On a slow drive, the video model's first files are read into the OS cache while the text encoder works
- Launcher update checks read the published release files directly and retry when they are unavailable
- Release publishing keeps the update manifest within the size launchers accept and records the download address
- Tests for the read-ahead and for update access
@KBRASK
KBRASK merged commit 29985e9 into main Oct 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant