API

Use yish:// deeplinks from Keyi or other launcher apps to start capture, recording, and pause control.

Quick Examples

yish://capture?mode=record
yish://capture?mode=record&direct=1&mic=1&systemAudio=1
yish://capture?mode=recordDirect&displayId=1&fps=30
yish://capture?mode=recordArea&mic=1&systemAudio=1&fps=30&codec=hevc
yish://capture?mode=recordArea&mic=1&webcam=1&autoStart=1
yish://recording?action=pause
yish://recording?action=resume

direct=1 or mode=recordDirect skips the picker and records the current or specified display. autoStart=1 only presses Start Recording after source or region selection.

Recording parameters in the URL apply only to this launch. Starting or auto-starting does not save them into Yish recording defaults.

Launch URL

Capture and recording both launch through the capture command. Recording parameters are applied only when mode=record, mode=recordDirect, or mode=recordArea.

yish://capture?mode=record&direct=1&fps=30&mic=1
Parameter Values Description
mode area, fullscreen, window, scroll, record, recordDirect, recordArea record opens the source picker; recordDirect records the current or specified display; recordArea goes directly to region selection.
direct / directStart / noPicker / startNow / instant Boolean, default 0 Recording only. Skip the picker, record the display under the mouse, and start immediately.
displayId / screenId CGDirectDisplayID With direct=1 or mode=recordDirect, choose the display to record directly; omitted uses the display under the mouse.
autoStart / start Boolean, default 0 Automatically starts recording after source or region selection; it does not skip the picker. Use direct=1 or mode=recordDirect for one-call recording.

Recording Parameters

Parameters you omit use the saved Yish setting. URL overrides apply only to this launch and do not rewrite saved defaults. Invalid values are ignored or clamped to a safe range.

Parameter Values Description
systemAudio / system Boolean Record system audio.
microphone / mic Boolean Record microphone audio. First use still triggers macOS permission.
micDeviceId AVCaptureDevice uniqueID Select a microphone device; empty or default uses the system default.
webcam / camera Boolean Enable webcam picture-in-picture.
cameraDeviceId / webcamDeviceId AVCaptureDevice uniqueID Select a camera device; empty or default uses the system default.
webcamSeparateFile / webcamTrack Boolean Save webcam as an editable separate track; defaults to the saved Yish setting.
webcamPosition topLeft, topRight, bottomLeft, bottomRight Webcam overlay position.
webcamScale 0.1 - 0.4 Webcam size relative to the recording area; out-of-range values are clamped.
codec / videoCodec h264, hevc, h265 Recording video codec.
quality / recordQuality standard, high, original Bitrate quality preset.
fps / frameRate 5, 10, 15, 24, 30, 60 Recording frame-rate cap.
cursorHalo / halo Boolean Control the cursor highlight halo.
cursorTrail / trail Boolean Enable cursor trail.
clickRipple / click Boolean Enable click ripple.

Boolean Values

Boolean parameters support these forms; a key with no value is treated as true.

true: 1, true, yes, on, enable, enabled
false: 0, false, no, off, disable, disabled

Pause and Control API

After recording starts, use the recording command to pause, resume, or stop. Commands that do not match the current state are ignored.

Command Effect
yish://recording?action=pause Recording → paused.
yish://recording?action=resume Paused → recording.
yish://recording?action=togglePause Toggle between recording and paused.
yish://recording?action=stop Stop recording and open the result.

Boundaries

  • Yish does not register global hotkeys; bind these URLs in Keyi or another launcher.
  • macOS permissions still apply; the API cannot bypass Screen Recording, Microphone, or Camera permission.
  • Clipboard copy remains a user setting and is off by default; the recording API does not change clipboard behavior.