コンテンツにスキップ

capture

Terminal
console2svg capture [options] -- command [args...]

capture は、指定されたコマンドを PTY(擬似端末)経由で実行し、終了時の画面状態を SVG 画像として保存する最も基本的なサブコマンドです。 -v(または --video)オプションを指定すると、実行中の画面変化を記録したアニメーション SVG や各種動画形式(MP4、WebM、GIF)として出力できます。

出力ファイルのパスを指定します。 拡張子(.svg、.png、.gif、.mp4、.webm など)に応じて出力形式が自動判定されます。指定を省略した場合は output.svg に出力されます。

出力フォーマットを明示的に指定します。 -o で指定されたファイルの拡張子よりも本オプションの指定が優先されます。

生成された SVG の内容をファイルに保存せず、標準出力へ直接出力します。パイプ経由で他のツールへ渡す際に使用します。

出力モードを静止画(image)または動画(video)から選択します。

アニメーション SVG または動画を出力します。-m video を指定する短縮表記です。

端末の横幅を文字数(桁数)で指定します。既定値は 100 です。 adjust を指定すると、出力された文字列の長さに応じて横幅が自動調整されます。

端末の高さをテキスト行数で指定します。既定値は 24 です。 adjust を指定すると、出力されたテキスト行数に合わせて高さが自動調整されます。

ラスタライズ時の出力ピクセル寸法を指定します。 1200x800 のように幅と高さを指定できるほか、アスペクト比を維持して片方のみ指定する 1200x* や *x800 の記法にも対応しています。

画面の上下を指定した範囲でトリミング(切り取り)します。 ピクセル単位(10px)、セル文字単位(2ch)、または特定の文字列の出現位置("build finished")で切り取り境界を指定できます。

画面の左右を指定した範囲でトリミングします。ピクセル単位(10px)またはセル文字単位(4ch)で指定します。

端末の外枠にウィンドウ装飾(ウィンドウフレーム)を付与します。 スタイル名を省略した場合は macos が適用されます。主なスタイルには macos、macos-pc(余白付き)、windows、none(装飾なし)などがあります。

適用する外観テーマの ID を指定します。複数回指定することで、カラーパレットとウィンドウテーマを重ね合わせて適用できます。

端末の標準文字色または背景色を個別に上書きします。#ffffff 形式の 16 進数カラーコードなどで指定します。

端末背景の不透明度を 0.0(完全透明)から 1.0(完全不透明)の間で指定します。

ウィンドウの背面に配置するデスクトップ背景色または画像ファイルのパスを指定します。 カラーコードを 2 回連続して指定すると、美しいグラデーション背景が自動生成されます。

SVG で使用する CSS フォントファミリーを指定します(例: JetBrains Mono, monospace)。

フォントサイズをピクセル単位で指定します(既定値: 14)。

端末画面の最上部に、実際に実行したコマンドライン(例: $ npm test)をヘッダーとして表示します。

-c で表示されるコマンドヘッダーのテキスト全体、またはプロンプト記号(既定値: $)を任意の内容に上書きします。

--margin <number>, --padding <number>, --pc-padding <number>

Section titled “--margin <number>, --padding <number>, --pc-padding <number>”

ウィンドウ外側のマージン、端末シェル内部のパディング、デスクトップ枠の余白を数値で細かく微調整します。

動画やアニメーション SVG の最大フレームレート(1 秒あたりのサンプリング回数)を指定します。

アニメーション SVG の自動ループ再生を無効化し、再生終了時の最終フレームで静止させます。

動画の再生が終了した後、最終フレームの画面を維持する秒数を指定します。すぐに先頭へ戻るのを防ぎます。

動画の末尾にフェードアウト効果を付与する時間を秒数で指定します。

動画再生のタイミング制御方式を選択します。 deterministic では一定のサンプリング間隔を保証し、realtime では実時間の経過速度を忠実に再現します。

複数フレームの録画データから、指定したインデックスのフレーム番号だけを静止画として切り出して出力します。

指定した経過秒数(例: 2.5)、または開始・終了区間(例: 1.0-4.0)を切り出して出力します。

動画の生成過程で生成された全フレームの静止画 SVG を、指定されたディレクトリへ連番ファイルとして保存します。

実行中の出力を、端末録画の標準フォーマットである asciicast v2 形式のファイルとして保存します。

コマンドを新規実行する代わりに、既存の asciicast v2 録画ファイルを読み込んで描画します。

コマンド実行中に人間が入力したキーボード操作を、後から再生可能なリプレイファイルとして記録します。

保存済みのリプレイファイルを読み込み、同一のキーボード操作を自動再生して画面をキャプチャします。

コマンド実行の最大待機時間を秒数で指定します。指定時間を経過してもプロセスが終了しない場合は自動で終了させます。

画面上に表示された文字列のうち、隠したい文字列パターンを指定してアスタリスクでマスクします。複数回指定可能です。

QuickLeaks によるシークレット情報(API トークン、秘密鍵、個人情報など)の自動検出・マスキングを有効または無効にします(既定値: true)。

起動時の初期 TTY サイズを維持し、console2svg による端末サイズ変更を行いません。

対話画面におけるマウス追跡イベントを子プロセスへ転送します(既定値: true)。TUI ツールでホイールスクロールが可能になります。

PTY 起動時に設定されるカラー関連の環境変数(COLORTERM=truecolor など)の上書きを停止します。

PTY 起動時に自動除外される CI 関連の環境変数(CI や TF_BUILD など)を削除せず、そのまま子プロセスへ引き継ぎます。

細切れに届く出力イベントを 1 つに束ねるコアレッシングの時間窓(ミリ秒)を指定します。

SVG テキストの長さをセル幅に揃える lengthAdjust 属性の方式を選択します。

--svg-converter <auto|ffmpeg|rsvg-convert|resvg>

Section titled “--svg-converter <auto|ffmpeg|rsvg-convert|resvg>”

SVG を PNG や各種動画形式へラスタライズする際に使用するコンバーターエンジンを明示的に指定します。

詳細な診断ログを標準エラー出力へ表示します。パスを指定した場合はそのファイルへログを書き出します。

プログラム・AI エージェント連携

Section titled “プログラム・AI エージェント連携”

キャプチャの実行結果を標準出力へ JSON 形式で出力します。 画面のテキスト内容、終了コード、生成された画像やプレビューフレームのファイルパスが含まれており、AI エージェントや自動化スクリプトが結果を解析する際に適しています。

Terminal
console2svg capture --json -- npm test

出力される JSON には次のフィールドが含まれます。

  • schemaVersion: JSON スキーマのバージョン
  • status: 実行成否(completed など)
  • exitCode: 実行した子プロセスの終了コード
  • durationMs: コマンドの総実行時間(ミリ秒)
  • screen: 端末の行数・列数、プレーンテキスト形式の画面内容(text)、および文字数制限による切り捨て有無(truncated)
  • artifacts: 生成されたメイン出力ファイルのパスと形式
  • frames: 動画キャプチャ時に生成された代表的なプレビューフレーム(静止画 SVG)へのファイルパス一覧(最大 12 フレーム)

--json を指定した場合、診断メッセージはすべて標準エラー出力へ分離され、標準出力には純粋な JSON のみが出力されます。なお、--stdout と --json を同時に指定することはできません。