Workflows

A workflow chains the app's tools into one pipeline you can run on a single file or a whole folder, and save for next time. It is a row of steps joined by arrows, each working on what the steps before it produced. A workflow calls the same code as the standalone screens; it adds no processing of its own.

Starting a workflow

Open Workflows in the main menu. New offers nineteen starter templates, from Video to SRT to Put subtitle files into their videos, or an empty workflow. A template is an ordinary workflow: change any setting, add steps or remove them. Templates that read subtitle files write them back in their own format; the ones that pull a track out of a video take each file’s first track, since a folder of films is rarely all one language.

Adding input

Drop videos, subtitle files or a folder anywhere on the screen, or select the input step and use Add videos, Add subtitles or Add folder. A folder is scanned for files the app can read, subfolders included unless you turn that off. Anything skipped — missing, unreadable, or the wrong kind — is listed with its reason and never stops the rest.

Adding and setting up steps

Steps are added by clicking, in two ways. The + on an arrow between two steps (or the dashed + at the end) opens a menu of what fits there; steps that need a different input are listed below it, flagged rather than refused. The Add a step shelf along the bottom lists every step by category, with a search, and adds the one you click after the selected step. Deleting a step joins its neighbours up where the types agree.

Select a step to see its settings in the strip under the row. Each thing a step takes has an Input field, defaulting to the step before it and offering any earlier step’s output — Transcribe takes its video from the input and its audio track from Select audio track, and its card says Also uses step 1. A step with a problem has an orange outline, and the strip says what is wrong. See the steps for what each one does.

Running, stopping and retrying

Before it starts, the toolbar checks the whole workflow: connections, types, settings, and the machine — missing FFmpeg, Whisper or ffsubsync, a Whisper model that is not installed, no license, no translation account. Problems are listed and nothing runs. Then every file goes through the steps, and the Results panel shows each file, each step, the log and the saved files.

Stop cancels running steps and starts no new ones; files already saved stay saved. Retry unfinished continues the last run: files that finished are left alone, and for the others the steps that finished are reused unless a setting before them changed.

A failure every file would repeat — translation out of credits, or a rejected key — stops the batch: files not yet begun are not started, and files under way finish. Translating into the language the subtitles are already in, or embedding subtitles beside a video that has none, is not a failure; that step and the ones after it on its branch are skipped and the file still counts as done.

Running many files

A folder is many independent files: one job per file, and a failed file does not stop the others unless you set When a file fails to stop starting new ones. Files run in order under limits per resource: FFmpeg reads 2 at a time, Whisper follows the Videos transcribed at once setting (1 on a graphics-card build), translation 2 files at once, and ffsubsync 1. A progress bar appears only when the underlying tool reports real progress; otherwise the panel says what the step is doing. One run at a time.

Saving workflows

Save, Save as and Open (with rename, duplicate, delete and import) manage workflows, and Export to a file shares one. A workflow file holds the steps, their settings and connections — never keys, tokens or run state. Exporting to share offers to leave out the files and folders you chose, since they name your files. Unsaved changes survive leaving the screen and the app asks before quitting with them. A run’s summary (counts, paths and error messages, never subtitle text) is kept for the last 20 runs of each workflow.

File names and safety

  • Export names come from a template using {name} (the original name without extension or language tag), {filename}, {language} and {track}. The default is {name}.{language}. Names are made safe for every operating system.
  • Nothing is overwritten unless you say so. If the file exists: keep both (Film (2).en.srt, the default), skip, fail or replace. Replace swaps the file in one rename.
  • A workflow never writes over its own inputs, whatever the setting, and two files in a run never end up at one path.
  • A folder scan ignores files any workflow saved before, so exporting next to the inputs does not feed the next run its own results.
  • Keys are read only when used and are removed from any error text. Logs hold names, counts and paths, not subtitle text. Only the Translate step uses the network.

Limits

  • No loops and no conditions; every file must come from exactly one input.
  • ASS styles, signs and karaoke are kept when a file is written back as the same as the input; written as another format they become that format’s plain text. WebVTT cue settings are not carried through.
  • OCR cannot be interrupted once a file has started, so Stop waits for the current file.
  • Whisper’s language is chosen, not auto-detected.
  • Embed in a workflow always writes a new .subs copy and never replaces the original.
  • Running the same folder again makes numbered copies unless the rule is skip or replace. Free disk space is not checked.

FAQ

Do workflows need a license?
The Workflows screen opens without one, but steps that need a license — Transcribe, Convert to text, Synchronise and the AI steps — are flagged by the check before a run and will not start without one.
Can a workflow use credits for translation?
Yes. The Translate step uses whichever Pay with choice is set in Settings → AI Providers, your DeepSeek key or credits. AI clean up always needs your own key.
Does a workflow change my original files?
No. It never writes over its inputs. Results go to the export folder or beside the originals under a new name.
Where are workflows stored?
As JSON files in the app's data folder, with run history kept separately.