Amazonで商品を見るセール会場へ

After Effects│コンポジションの尺を変える方法|レイヤーに合わせるスクリプトも

コンポジションの尺を数値で指定するなら「コンポジション設定」、選択したレイヤーの終了位置に合わせるなら下のスクリプトを使います。

時間の長さと画面の縦横サイズでは、使う操作が異なります。

やりたいこと方法
数値を入れて変えるコンポジション設定(Ctrl + K/Command + K)
選んだレイヤーに合わせるこの記事のスクリプト
縦横のサイズを中身に合わせる選択したレイヤーの境界にコンポジションをトリミング

尺と縦横のサイズは別の話です。

「はみ出している」のがどちらなのかを先に決めてください。

入れ子のコンポジションでは、子の尺だけでなく、親のデュレーションと子を配置したレイヤーの終了位置も確認します。

階層構造になったコンポジションで、レイヤーや尺のはみ出し状況と調整の必要性を示した画面。

下のスクリプトは、開いているコンポジションで選択したレイヤーのアウトポイントを読み、最も遅い終了時刻へ尺を合わせます。

開始位置を詰める処理や、親コンポの尺を変更する処理は含みません。

目次

選択した2枚の終了時刻で尺を確認する練習

プロジェクトを別名保存し、960×540・10秒・30fps・開始タイムコード0の練習用コンポジションを作ります。

開始位置0のソリッドを3枚置き、アウトポイントを1秒・6秒・8秒に設定します。

タイムラインで1秒と6秒の2枚だけを選択してください。

8秒まであるソリッドは未選択のまま残します。

実行前のデュレーションが0:00:10:00であることをコンポジション設定で確認します。

下のコードをUTF-8のduration.jsxとして保存し、対象のコンポジションを開いて「ファイル」→「スクリプト」→「スクリプトファイルを実行」から実行します。

複数選択では、選択したレイヤーの最大のアウトポイントへ尺を合わせる例です。

実機ではデュレーションが0:00:06:00になりました。

30fpsでは180フレームの長さです。

ワークエリアが開始0・長さ10秒だった今回の条件では、ワークエリアの長さも6秒になりました。

未選択の8秒のソリッドは削除されませんが、6秒より後はコンポジションの範囲外になります。

未選択も含めて全体の尺を残したい場合は、必要なレイヤーをすべて選択します。

開始タイムコードの表示とコンポ内の秒数を混同せず、ここでは開始タイムコード0で確認します。

空選択・終了時刻が0以下・上限超過では変更しません。

親のコンポジションの尺と、子を配置したレイヤーのアウトポイントは別々に確認してください。

今回、開始0・アウトポイント10秒の子レイヤーを持つ親コンポは10秒のままでしたが、その子レイヤーのアウトポイントは6秒へ変わりました。

「親コンポの尺が変わらない」ことと「親の中のレイヤーが変わらない」ことは同じではありません。

実行後にCtrl+Kで6秒を確認したら、設定画面をキャンセルして閉じ、Ctrl+Zを1回押します。

Windows実機ではコンポの尺とワークエリアが10秒へ戻り、親に置いた子レイヤーのアウトポイントも10秒へ戻りました。

取り消し結果が違う場合は、別名保存した実行前のプロジェクトを開き直してください。

確認することAE 26.5での実測違ったとき
選択の終了1秒と6秒デュレーション6秒選択した対象を確認
終了1.001秒・30fps約1.033333秒(1秒1フレーム)フレームレートを確認
未選択の終了8秒3枚とも残り、未選択素材のoutPointは8秒のまま必要なら選択に加える
AEのコンポジション設定で30fps、デュレーション0:00:06:00。背後のタイムラインでは終了1秒と6秒の2枚を選択
10秒・30fpsのコンポで終了1秒と6秒の2枚を選択して本文jsxを実行。設定画面のデュレーションは0:00:06:00。未選択の終了8秒のレイヤーもタイムラインに残っています。 2026年10月14日、Windows 11 Pro・AE 26.5(Build 89)で撮影。

端数の検証では、スクリプトからアウトポイントに1.001秒を設定しました。

AEから読み戻した値は約1.001009秒で、本文のスクリプト実行後は31/30秒、約1.033333秒になりました。

これは通常のフレーム単位のトリミング操作と区別した、端数入力の検証です。

レイヤーを何も選ばずに実行すると「Open a composition and select one or more layers.」と表示され、10秒のデュレーションは変わりませんでした。

対象コンポを開き、タイムラインのレイヤーを選択してから実行します。

2026年10月14日、Windows 11 Pro(10.0.26200)・After Effects 26.5(Build 89)で、本文のjsxを変更せず実行し、尺・未選択レイヤー・親との連動・Ctrl+Z・端数入力・空選択を確認しました。

スクリプトのAPIはLayer・CompItem・Applicationの参照先も掲載しています。

Mac・他バージョン・タイムリマップやストレッチ付き素材・書き出し結果は未検証です。

スポンサーリンク

選択したレイヤーの長さに合わせてコンポジションの尺を変更するスクリプト

(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レイヤーを選び、コンポジションメニューから「選択したレイヤーの境界にコンポジションをトリミング」(英語表示:Crop Comp to Selected Layer(s) Bounds)を選びます。

選んだ2Dレイヤーの表示領域に合わせて、コンポジションのサイズが変わります。

小さく切り詰めることも、全部が入るように広げることもできます。

SNS向けに書き出すときなど、余白を消したい場面で使えます。

コンポジション全体を拡大縮小したい場合は、ファイル/スクリプト/Scale Composition.jsx があります。

このスクリプトは、レイヤーがロックされていると失敗します。

実行前に、すべてのレイヤーのロックを外してください。

尺の上限、プリセットの保存対象、サイズ変更の標準機能は、Adobe公式「コンポジションの基本」を2026年10月14日に確認しました。

サイズのトリミングとScale Composition.jsxは、今回の尺変更の実機検証には含めていません。

コンポジションを複製したり、サイズや尺を揃えたりするスクリプトは、ほかにもあります。

スポンサーリンク

よくある質問:After Effectsでコンポジションの尺を調整するとき

コンポジションの尺の変え方には、どんな方法がありますか?

尺を数値で指定するならコンポジション設定(Ctrl + K/Command + K)、選んだレイヤーの終了位置に合わせるなら記事のスクリプトを使います。

「選択したレイヤーの境界にコンポジションをトリミング」は、時間ではなく縦横のサイズを変える操作です。

数値を入れて尺を変えるには?

コンポジション設定をCtrl + K(Windows)またはCommand + K(macOS)で開きます。

コンポジション/コンポジション設定からでも同じです。

デュレーションの欄に、目的の長さを入力します。

コンポジションの尺の上限はありますか?

コンポジションの尺は最長で3時間です。

それより長いフッテージも置けますが、3時間以降は正しく表示されません。

毎回同じ尺にするプリセットを、保存できますか?

コンポジション設定のプリセットにはデュレーションが保存されません。

尺を含む設定を再利用したい場合は、元になるコンポジションを複製し、素材や内容を変更する方法があります。

解像度と開始タイムコードも設定プリセットの保存対象外です。

選んだレイヤーに合わせて尺を変えるスクリプトの動きを教えてください。

複数選択では、選択したレイヤーの最大のアウトポイントへ尺を合わせます。

記事の練習(10秒・30fps、終了時刻が1秒と6秒のソリッドを選択)では6秒になり、1.001秒の終了時刻は次のフレーム境界である31/30秒へ切り上げます。

未選択の8秒のソリッドは削除されませんが、6秒より後はコンポジションの範囲外になります。

未選択のレイヤーも含めて、全体の尺を残したいときは?

必要なレイヤーをすべて選択します。

空選択・終了時刻が0以下・上限超過では変更しません。

今回の実機では親コンポの尺は10秒のままでしたが、そこに置いた子レイヤーのアウトポイントは6秒へ変化しました。

親の尺と子レイヤーの終了位置を両方確認してください。

縦横のサイズを、中身に合わせたいときは?

選択したレイヤーの境界にコンポジションをトリミングします。

選んだ2Dレイヤーの表示領域に合わせて、コンポジションのサイズが変わり、小さく切り詰めることも、全部が入るように広げることもできます。

SNS向けに書き出すときなど、余白を消したい場面で使えます。

コンポジション全体を拡大縮小したいときや、スクリプトが失敗するときは?

コンポジション全体を拡大縮小したい場合は、ファイル/スクリプト/Scale Composition.jsx があります。

このスクリプトは、レイヤーがロックされていると失敗するため、実行前にすべてのレイヤーのロックを外してください。

仕様は2026年10月14日にAdobe公式ヘルプで確認しています。

今回の実機検証は尺を変える本文スクリプトが対象です。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

須澤 元貴のアバター 須澤 元貴 代表社員

MOTOKI合同会社 代表社員。
アニメ・映像業界とゲーム業界で、2D・UI・3D・アニメーション制作、映像編集、ツール制作に携わってきました。
現在はWordPressを中心にWebサイトの制作とカスタマイズを手がけています。
著書に『Unity デザイナーズ・バイブル』『Unityゲーム プログラミング・バイブル 2nd Generation』(ボーンデジタル)。
岡山県出身、埼玉県在住。

目次