CLI reference

ase record

Record a scene's or script's capture takes through its selected engine package.

Requires: a sign-in (ase login) or, in CI, a release credential. ffmpeg, for videos; in a terminal ase offers to install it, which may ask for admin rights. With --brief, brain-agent beside ase and the model provider's key, which the run's model calls use.

Potentially destructive. Installs the SDK as ase sdk install does and writes the takes into --out. It deletes each raw take once it is encoded, and raw takes older than 24 hours already in --out, --no-encode ones included. Deleted takes can't be recovered.

ase record [OPTIONS] [SCENE] [-- <SCENE_ARGS>...]
       ase record <COMMAND>
Argument Description
<SCENE> The scene to play, e.g. res://dev/clips/clips.tscn, or with --script an engine-owned script.
--recipe <RECIPE> Replay a capture recipe (JSON) through the addon's capture mode, as a capture machine does; its stills become PNGs and its takes videos.
--brief <BRIEF> Direct a capture brief (JSON) with a model, as a capture machine does: plays the project until the brief's moment is on screen and writes the outcome, the recipe that replays it and the stills. Needs brain-agent beside ase and the provider's key in CAPTURE_<PROVIDER>_KEY or its usual variable (ANTHROPIC_API_KEY, OPENAI_API_KEY).
--provider <PROVIDER> With --brief: the model provider, anthropic or openai. Default anthropic.
--model <MODEL> With --brief: the provider's model id; Claude Opus 5.5 for Anthropic by default.
--effort <EFFORT> With --brief: the provider's reasoning level, e.g. low, medium, high.
--script Run the target using the selected package's script entry mode.
--out <OUT> Where takes are written. Default recordings.
--project <PROJECT> The project repository; the current directory by default. Default ..
--window <WINDOW> The window, e.g. 1920x1080; by default the whole multiple of the game's size nearest 1920, or the game's own size when it doesn't stretch.
--native Keep window pixels (UI, small text) instead of game pixels; encodes at 1x.
--no-encode Leave the raw takes for ase record encode.
--max-bytes <MAX_BYTES> Maximum raw video and PCM bytes across this recording's takes. Default 8589934592.
--timeout-secs <TIMEOUT_SECS> Stop a scene that has not finished within this many wall-clock seconds. Default 600.
--lanes <LANES> Takes encoded at once. Default 3.
--scale <SCALE> Game pixels to video pixels: 2 is 1280x720 for a 640x360 game, 3 is 1920x1080. Default 2.
--crf <CRF> H.264 quality: lower is better and larger. Default 18.
--preset <PRESET> x264's speed: veryfast while iterating, slow for videos to share. Default veryfast.
--png PNG frames instead of video; a one-frame take is a single PNG.
-- <SCENE_ARGS>... The scene's own flags, after --.

Examples

ase record res://dev/clips/clips.tscn
ase record res://dev/clips/clips.tscn --png --native

ase record cut

Cut a trailer from local clips, as a capture machine does: a cut list (JSON) at one store slot's video spec, the music mixed in and the mix levelled.

Requires: a sign-in (ase login) or, in CI, a release credential. ffmpeg.

Changes: Writes the trailer and its result.json into --out; the clips and music stay as they are.

ase record cut [OPTIONS] --slot <SLOT> --clips <CLIPS> <LIST>
Argument Description
<LIST> The cut list, as the backoffice's trailer editor saves it.
--slot <SLOT> Required. The store slot: steam, appstore-iphone or appstore-ipad.
--clips <CLIPS> Required. The folder holding each clip as <asset>.mp4.
--music <MUSIC> The music file the cut list's music names.
--out <OUT> Where <name>-<slot>.mp4 and its result.json go. Default recordings.
--name <NAME> The trailer's name; the cut list's file name by default.

ase record encode

Encode raw takes into a video or PNGs: one take, or several stacked with --stack.

Requires: a sign-in (ase login) or, in CI, a release credential. ffmpeg, unless --png.

Potentially destructive. Writes the video or PNGs, then deletes the raw takes, and the take's own .wav when it used one, unless --keep. Deleted takes can't be recovered.

ase record encode [OPTIONS] <PATHS> <PATHS>...
Argument Description
<PATHS>... The raw take(s), then the output (a video, or a folder with --png).
--stack Put the takes one above the other, the first on top.
--divider <DIVIDER> Rows between stacked takes, in game pixels. Default 2.
--divider-color <DIVIDER_COLOR> The divider's colour, in hex. Default 2a2550.
--audio <AUDIO> A WAV to put under the video; a sibling <take>.wav is used by default.
--audio-credit <AUDIO_CREDIT> Attribution stored in the MP4's comment metadata.
--keep Keep the raw takes.
--scale <SCALE> Game pixels to video pixels: 2 is 1280x720 for a 640x360 game, 3 is 1920x1080. Default 2.
--crf <CRF> H.264 quality: lower is better and larger. Default 18.
--preset <PRESET> x264's speed: veryfast while iterating, slow for videos to share. Default veryfast.
--png PNG frames instead of video; a one-frame take is a single PNG.