Skip to content
Try it free

CLI

CLI flags

Every scribiz flag with its values and defaults, grouped by what it does.

View as Markdown
On this page

Flags go anywhere after the command. Both --flag value and --flag=value work. A lone -- ends the flags, and whatever follows is treated as an input, even if it looks like a command. An unknown flag is a usage error with exit code 2. scribiz --help and scribiz <command> --help print the same list.

An empty argument is a usage error too (exit code 2, Missing input). It is never read as the current folder, so scribiz "$URL" with $URL unset does not run every file in the folder. Write . for the current folder.

Output

FlagValueDefaultWhat it does
-f, --formatsrt, vtt, txt, md, context, jsonsrt; context for scribiz contextThe output format. See Output formats.
-o, --outputA file or a folderStandard output for one inputWhere to write. - is standard output. A path with an extension is a file. A path with none, one that ends in /, or an existing folder is a folder. With several inputs it must be a folder. A name Scribiz picks itself never replaces a file that exists (talk-2.srt). A path you name is yours to replace.
--offsetSeconds, MM:SS, HH:MM:SS.mmm or 1h2m3s0Shift every subtitle time. Use it to match a timeline that starts at 01:00:00. It can be negative, and a time never goes below zero. It applies to SRT and VTT.
--speakers, --no-speakersnoneAutomaticLabel who is speaking. Automatic means on for TXT, MD and Context when two or more voices were found, and off for SRT and VTT. For a run, it also decides whether to separate speakers (see Speakers).

What to read

FlagValueDefaultWhat it does
-m, --modeauto, captions, audio, visual, fullautoWhat to run. listen, watch and both are aliases for audio, visual and full. See Overview.
--visualnoneoffAlso describe what is on screen. It turns auto, audio and full into full, and visual stays visual. It cannot be combined with --mode captions.
-l, --languageA BCP-47 code such as en, or a list such as en,ruDetectedA hint for the spoken language. Repeat the flag or separate codes with commas.
--proofreadterms, full or auto, as --proofread=termstermsHow much to correct. A bare --proofread means full. --no-proofread turns it off. terms applies the glossary fixes from the summary step. full checks every line. With --vocabulary, the default becomes full.
--vocabularyComma-separated termsnoneNames, brands and jargon to spell correctly. Used by proofreading.
--detailtranscript, brief, fullfullHow much to write besides the transcript. transcript skips the summary step. brief writes the summary and chapters. full writes everything.
--qualitystandard, highstandardhigh reads the picture with the stronger model. It costs more.
--max-costUS dollarsnoneStop before spending if the estimate is above this. Exits with COST_LIMIT and code 1.
--max-durationSeconds or HH:MM:SSnoneRefuse a video longer than this.
--no-cachenoneoffDo not read or write the local cache.
--forcenoneoffRecompute everything, but still save the result to the cache.

Speakers

--speakers asks speech to text to separate the voices. --no-speakers does not. With neither, speakers are on whenever Scribiz listens to the audio, because it costs the same, and a transcript from a platform's captions has none. Asking for speakers on a video that has captions makes Scribiz listen instead of using the captions, so it costs more.

Sources

FlagValueDefaultWhat it does
--cookies-from-browserA browser name such as chrome, safari or firefoxnoneUse that browser's login for a site that needs one, through yt-dlp. Only that browser is tried.
--cookiesA path to a cookies filenoneUse a Netscape-format cookies file instead.

If cookiesBrowser is set in your config, it is used for links that need a login, such as Instagram, and for nothing else. Cookies stay on your machine. See Sources and limits.

For programs

FlagValueDefaultWhat it does
--jsonnoneoffPrint newline-delimited JSON messages on standard output and nothing else. Implies --no-input. See The JSON protocol.
--out-fileA pathnoneWith --json, write the Context there and print a result line that carries the path. Without it, one input's result up to 256 KB is printed inline. A batch (a folder or several inputs) is always written to files, with --out-file naming a folder. Without --json it is an error: use -o.
--media-prepffmpeg, stdio, stdio,ffmpegffmpegWho prepares audio and video. stdio asks the host application over the protocol and needs --json. stdio,ffmpeg falls back to ffmpeg when the host answers UNSUPPORTED.
--json-schemanonenonePrint the JSON Schema of the Context, the events and the messages, and exit.
--no-confignoneoffIgnore ~/.scribiz/config.json. Environment variables still apply.
--no-inputnoneoffNever prompt. A missing credential is an error with exit code 3.

Secrets never travel as flags: set SCRIBIZ_API_KEY or GEMINI_API_KEY in the environment, or save a credential with scribiz login or scribiz setup, so it does not show up in ps. See Config and env.

For login, doctor and mcp

FlagUsed byWhat it does
--keyloginPaste a Scribiz key made in the dashboard instead of confirming a code in the browser. It asks for the key, or reads one line from standard input. For CI, SSH and servers.
--no-browserloginPrint the sign-in link and do not open it.
--clientloginThe client id sent to the device flow. It must be scribiz-cli (default), scribiz-mac or scribiz-mcp. Any other value fails with Invalid client ID (exit 5). You do not need it.
--jitdoctorRun only the speed self-test for a compiled binary. Under the npm package, which runs on Node, it prints that it does not apply and exits 0.
--allow-filesmcpAllow tools to read local files.
--rootmcpA folder files may be read from. Repeat it for more. It needs --allow-files. The default is the current folder, but not /, your home folder or a folder above it: a client that starts the server in one of those must pass --root.
--allow-private-networkmcpAllow links to your own machine and to private networks (localhost, 192.168.x.x, *.local, a cloud metadata address), and pages that only the generic reader of yt-dlp handles. Both are refused by default, because the model that calls the server may have read a page that told it to fetch one.

Everywhere

FlagWhat it does
-q, --quietNo progress on standard error.
--verbosePrint the engine's log lines on standard error. This turns off the live progress line.
--no-colorNo color. NO_COLOR in the environment does the same.
-h, --helpShow help for the command.
-v, --versionPrint the version.

Checked against the Scribiz build on 2026-10-05.

Loading the index