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 installdoes 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-encodeones 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
.wavwhen 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. |