レイヤーの長さに合わせてコンポの尺を調整したい
尺の変え方は3つあります。
| やりたいこと | 方法 |
|---|---|
| 数値を入れて変える | コンポジション設定(Ctrl + K/Command + K) |
| 選んだレイヤーに合わせる | この記事のスクリプト |
| 縦横のサイズを中身に合わせる | 選択したレイヤーの境界にコンポジションをトリミング |
尺と縦横のサイズは別の話です。
「はみ出している」のがどちらなのかを先に決めてください。
コンポジションの尺を調整した時、さらに上の階層のコンポジションの変更が必要な時がないでしょうか?

その時は一度コンポジションを長い尺して、一番長いレイヤーのアウトポイントを計測してコンポジションの尺を調整したり、一番長いレイヤーのアウトポイントの数値をみてコンポジションの尺を調整などやると思いますが、いちいちアウトポイントの数字を確認しなくても、ボタン(スクリプト)一つで変更できるようにしてみました。
選択した2枚の終了時刻で尺を確認する練習
練習用の10秒・30fpsのコンポジションを別名保存し、終了時刻が1秒と6秒のソリッドを選択します。
8秒まである未選択のソリッドも残し、元のデュレーションを記録します。
下のコードをUTF-8のduration.jsxとして保存し、対象のコンポジションを開いて「ファイル」→「スクリプト」→「スクリプトファイルを実行」から実行します。
複数選択では、選択したレイヤーの最大のアウトポイントへ尺を合わせる例です。
30fpsの例では6秒になり、1.001秒の終了時刻は次のフレーム境界である31/30秒へ切り上げます。
未選択の8秒のソリッドは削除されませんが、6秒より後はコンポジションの範囲外になります。
未選択も含めて全体の尺を残したい場合は、必要なレイヤーをすべて選択します。
開始タイムコードの表示とコンポ内の秒数を混同せず、ここでは開始タイムコード0で確認します。
空選択・終了時刻が0以下・上限超過では変更しません。
親のコンポジションの尺や配置は別に確認してください。
終了後はCtrl+Z/Command+Zで10秒へ戻るか確認し、元コピーを開き直します。
| 確認すること | 期待する結果 | 違ったとき |
|---|---|---|
| 選択の終了1秒と6秒 | デュレーション6秒 | 選択した対象を確認 |
| 終了1.001秒・30fps | 31/30秒へ切り上げ | フレームレートを確認 |
| 未選択の終了8秒 | レイヤーは残るが範囲外 | 必要なら選択に加える |
2026年10月3日にLayer・CompItem・ApplicationのAPI参照を照合し、ローカルのJavaScriptで境界と選択条件を検証しましたが、AE実機でのプロパティ連動・表示・取り消しは未検証です。
選択したレイヤーの長さに合わせてコンポジションの尺を変更するスクリプト
(function () {
var comp = app.project && app.project.activeItem;
if (!(comp instanceof CompItem) || comp.selectedLayers.length === 0) {
alert("Open a composition and select one or more layers."); return;
}
var layers = comp.selectedLayers, end = 0;
for (var i = 0; i < layers.length; i++) {
if (!isFinite(layers[i].outPoint)) { alert("Invalid outPoint."); return; }
end = Math.max(end, layers[i].outPoint);
}
var frame = comp.frameDuration;
if (!(frame > 0) || !isFinite(frame) || end <= 0) {
alert("A positive end time and frame duration are required."); return;
}
var duration = Math.ceil(end / frame - 0.0000001) * frame;
if (duration < frame || duration > 10800) { alert("Duration is outside the allowed range."); return; }
app.beginUndoGroup("Match duration to selected layers");
try { comp.duration = duration; } finally { app.endUndoGroup(); }
})();
コンポジションの尺を合わせたいレイヤーを選択して実行するだけです。
複数選択では最大のアウトポイントへ合わせ、フレーム境界まで切り上げます。
After Effectsのほかの操作は、まとめからご覧いただけます。

手で変える場合
コンポジション設定は Ctrl + K(Windows)または Command + K(macOS)で開きます。
コンポジション/コンポジション設定 からでも同じです。
デュレーションの欄に、目的の長さを入力します。
コンポジションの尺は最長で3時間です。
それより長いフッテージも置けますが、3時間以降は正しく表示されません。
なお、解像度・開始タイムコード・デュレーションは、コンポジション設定のプリセットには保存されません。
毎回同じ尺にしたい場合でも、ここは手で入れることになります。
縦横のサイズを中身に合わせたい場合
尺ではなく、余白を詰めたい場合もあります。
その場合は、選択したレイヤーの境界にコンポジションをトリミングします。
選んだ2Dレイヤーの表示領域に合わせて、コンポジションのサイズが変わります。
小さく切り詰めることも、全部が入るように広げることもできます。
SNS向けに書き出すときなど、余白を消したい場面で使えます。
コンポジション全体を拡大縮小したい場合は、ファイル/スクリプト/Scale Composition.jsx があります。
このスクリプトは、レイヤーがロックされていると失敗します。
実行前に、すべてのレイヤーのロックを外してください。
※ 仕様は、Adobe公式ヘルプ「After Effects のコンポジションの基本」で2026年9月19日に確認しました。
コンポジションを複製したり、サイズや尺を揃えたりするスクリプトは、ほかにもあります。




