After Effects にはコマンドラインレンダリング用の実行ファイルが同梱されている。aerender.exe だ。バッチや夜間レンダリングを組むならここが入口になる——のだが、知らずに使うと黙って失敗する箇所が2つある。
検証環境と方法:Windows 11 / After Effects 2026(26.3)。根拠を2種類に分けて書いている。
- 【実測】=実際に実行して得た出力と終了コード(
aerender version 26.3x87)。バージョン・終了コード・不正フラグ時の挙動 - 【-help の記載】=ツール自身が出す仕様の説明。
-comp省略時の挙動・-reuseの効果・各既定値。レンダリングを走らせて確かめてはいない
測っていない範囲=実プロジェクトのレンダリング結果・所要時間・失敗時の終了コード・他バージョンでの再現。
結論(After Effects 2026 実測)
aerender.exeはSupport Files\に同梱。実行するとaerender version 26.3x87を返す- 🔴
-compを省くと、-outputや-s/-eなどが無視される(-helpの記載) - 🔴 綴りを間違えたフラグでも終了コードは 0。エラー文は出るのに、スクリプトからは成功に見える
- 終了コードの実測=
-helpは 2、-versionは 15、不正フラグは 0 - 既定ではAEの新しいインスタンスを起動する(
-reuseで実行中のものを使う/-helpの記載)
どこにある?
C:\Program Files\Adobe\Adobe After Effects 2026\Support Files\aerender.exe
追加インストールは不要で、AE を入れた時点で置かれている。動かすと最初の行にバージョンが出る。
> aerender -version
aerender version 26.3x87
最短の使い方はこれだ。
aerender -project c:\projects\proj1.aep -comp "Comp 1" -output c:\output\proj1.avi
🔴 -comp を省くと、指定した設定が無視される
ここが最初の落とし穴だ。【-help の記載】によると、-comp を指定しない場合 aerender はレンダーキュー全体をそのままレンダリングし、このとき使われる引数は限られる。
-comp なしのとき |
引数 |
|---|---|
| 使われる | -project / -log / -v / -mem_usage / -close |
| 🔴 無視される | -RStemplate / -OMtemplate / -output / -s / -e / -i |
-output が無視されるのが効いてくる。出力先を指定したつもりでも、プロジェクトに保存された出力先へ書かれる。エラーにならないので、書き出し先を見るまで気づけない。
逆に -comp を指定すると、キューに無いコンポジションは自動で追加され、既に有る場合は最初の1件だけが対象になる(【-help の記載】)。
🔴 綴りを間違えても終了コードは 0
2つめのほうが厄介だ。存在しないフラグを渡すと、ちゃんと文句は言う。
> aerender -nosuchflag
aerender version 26.3x87
PROGRESS: Launching After Effects...
aerender SYNTAX ERROR: Illegal argument flag: -nosuchflag
ところが終了コードは 0 だった。再現できる形で書くとこうなる。
# PowerShell。パイプで打ち切ると $LASTEXITCODE が壊れるので Out-String で受ける
$ae = "C:\Program Files\Adobe\Adobe After Effects 2026\Support Files\aerender.exe"
foreach ($a in @("-help","-version","-nosuchflag")) {
$out = & $ae $a 2>&1 | Out-String
"{0} exit={1}" -f $a, $LASTEXITCODE
}
これで得られた3つを並べる。
| 実行 | 終了コード | 意味 |
|---|---|---|
aerender -help |
2 | 使い方を表示しただけ |
aerender -version |
15 | バージョンを表示しただけ |
🔴 aerender -nosuchflag |
0 | SYNTAX ERROR なのに成功扱い |
終了コードだけで成否を判定しない。 バッチやCIで if errorlevel や $? を見ている場合、フラグの打ち間違いが素通りする。しかも「何も出力されていない」という形でしか現れない。標準出力に SYNTAX ERROR や aerender ERROR が含まれていないかを併せて見るか、出力ファイルが実在するかを確認するのが確実だ。
⚠ 測ったのは After Effects 2026(26.3)で、この3パターンだけだ。不正フラグは -nosuchflag 1種類しか試しておらず、レンダリングが実際に失敗したとき(素材欠損・ディスク不足など)にどう返るかも確認していない。
覚えておくと効くオプション
| オプション | 内容 |
|---|---|
-reuse |
実行中のAEを使う。付けないと新しいインスタンスを起動する |
-mfr ON 80 |
マルチフレームレンダリングON+CPU使用率の上限(1〜100)。OFF なら上限値は無視 |
-s / -e |
開始・終了フレーム。-e は「含む」ので、指定したフレームまでレンダリングされる |
-i |
フレーム増分。同じ絵を(増分−1)回繰り返すので速い代わりに動きが飛ぶ |
-close |
既定は DO_NOT_SAVE_CHANGES。保存したいなら SAVE_CHANGES を明示する |
-continueOnMissingFootage |
素材が欠けても止めずカラーバーを置いて続行 |
-log |
ログ出力先。既定は標準出力 |
-renderSettings |
"Resolution: Half; Quality: Draft" のように キー: 値; で個別上書き |
【-help の記載】では、-reuse 無しで起動した場合は完了時にAEが終了し、付けた場合は終了しない代わりに環境設定が書き戻される。⚠ 記載であって実測ではない。ただし当方が不正フラグで起動した回は、AEのプロセスが残らなかった。
Get-Process -Name "AfterFX*","aerender*" -ErrorAction SilentlyContinue
# 実行直後 → AfterFX.com(PID 31224)が1件
# しばらく後 → 0件
実行直後は AfterFX.com が1件あり、そのあと消えた。⚠ PIDを追跡していないので「aerender が起動したそのプロセスが終了した」とまでは同定していない。観測したのは在った→無くなったという順序だけだ。
同じ「同梱ツールで自動化する」路線として、Photoshop の同梱スクリプト21本とSubstance 3D Painter の Python 一括書き出しもある。
よくある質問
-comp を指定していない可能性があります。-help の記載によれば、-comp が無い場合 aerender はレンダーキュー全体を処理し、そのとき -output や -s、-e、-i、テンプレート系の引数は無視されます。出力先はプロジェクトファイルに保存されているものが使われます。エラーにならないため、書き出し先を見るまで気づけません。
終了コードだけでは判定できません。実測では、存在しないフラグを渡して SYNTAX ERROR が表示された場合でも終了コードは 0 でした(-help は 2、-version は 15)。標準出力に SYNTAX ERROR や ERROR が含まれていないかを確認するか、出力ファイルが実在するかで判定してください。
After Effects のインストールディレクトリ配下の Support Files\aerender.exe です。追加インストールは不要で、AE を入れた時点で同梱されています。-version を付けて実行するとバージョンだけを表示して終了します(当環境では aerender version 26.3x87)。
-reuse を付けてください。-help の記載によれば、付けない場合はAEが起動済みでも新しいインスタンスが起動します。また -reuse 無しで起動したインスタンスは、レンダリング完了時に自動的に終了します。
フレーム増分の指定です。既定は 1 で全フレームを描画します。値を上げると同じ絵を(増分−1)回繰り返してから新しいフレームを描く動作になり、レンダリングは速くなりますが動きは飛びます。プレビュー用途向けのオプションです。
まとめ
aerender は AE に最初から入っており、追加費用なしでコマンドラインレンダリングを組める。ただし黙って期待と違う動きをする箇所が2つある。
1つは -comp を省くと -output ごと無視されること(-help の記載)。もう1つはフラグを打ち間違えても終了コードが 0になること(実測)。どちらもエラーとして表に出ないので、出力ファイルの実在で成否を判定するのが確実だ。

コメント