Remotionのライセンス徹底解説 — 無料で使える範囲と企業ライセンスが必要になる条件
Remotionのライセンス徹底解説 — 無料で使える範囲と企業ライセンスが必要になる条件
「Remotionって無料で使えるの?」——コンポジションのコードを1行書く前に、ほぼ全員が突き当たる質問です。そして答えは、単純なイエス・ノーでは済みません。Remotionは多くのユーザーにとって無料であり、そこには商用利用も含まれます。一方で、MITライセンスのライブラリのような「オープンソース」ではなく、有料のCompany License(企業ライセンス)が必須になる明確な境界線が存在します。
この理解をどちらの方向に間違えてもコストがかかります。「ライセンスが必要だ」と誤解すれば導入自体を見送ってしまうかもしれませんし、「無料枠でカバーされている」と誤解したままだと、M&Aのデューデリジェンスやクライアントの法務レビューでギャップが表面化します。
この記事では、Remotionのライセンスが実際にどう機能するかを整理します。誰が無料で使えるのか、企業ライセンスはいつ必要になるのか、シートとレンダーはどう数えるのか、そして受託案件・テンプレート販売・クラウドレンダリングでは何が適用されるのか。先にひとつ断っておくと、これは開発者向けの要約であり法的助言ではありません。ライセンス条件は更新されるため、一次情報は常に remotion.dev/license です。
MITではない「ソースアベイラブル」ライセンスの正体
Remotionは独自のライセンス(通称 Remotion License)で配布されています。ソースコードはGitHubで全文公開されており、読むことも、デバッグで中に潜ることも、自分のユースケースに合わせて改変することも、改善をコントリビュートすることもできます。日々の開発体験は、一般的なオープンソースフレームワークとほぼ変わりません。
しかしRemotionは**「ソースアベイラブル(source-available)」であって、OSI定義のオープンソースではありません**。違いは主に2点に現れます。
- 利用条件がある。 無料利用は特定のカテゴリのユーザーに限って認められています(次のセクションで解説)。それ以外は有料ライセンスが必要です。MITライセンスのライブラリにこうした条件はありません。
- 再配布に制限がある。 Remotionのコードをコピー・改変して、Remotionの派生物として販売・貸与・ライセンス・サブライセンスすることはできません。フォークして「Remotion Pro Plus」を売る、といったことは不可能です。
一方で、ライセンスが制限しないものを押さえておくことも重要です。それはあなたの成果物とあなた自身のコードです。レンダリングした動画・GIF・画像はあなたのものであり、あなたが書いたコンポジションはあなたのコードとして自由な条件で扱えます。ライセンスが規定するのはフレームワークそのものであって、フレームワークで作ったものではありません。
このライセンスモデルはRemotionのmonorepo内のパッケージ全体——コアの remotion に加えて @remotion/renderer、@remotion/lambda、@remotion/player、@remotion/noise などの公式エコシステム——をカバーします。ライセンスの判断は1回で、Remotionスタック全体に適用されます。
無料で使えるのは誰か — 個人と小規模チーム
無料ライセンスが適用されるのは次の4グループです。
- 個人 — ソロ開発者、個人として活動するフリーランス、趣味のユーザー
- 従業員3名以下の営利組織
- 非営利組織
- 本格導入前の評価目的での利用者
多くの人が驚くポイントはここです。無料枠は商用利用を明示的に許可しています。 2人のスタートアップがRemotionで動画プロダクトを作って販売しても無料ですし、フリーランスがクライアントの動画を有償でレンダリングしても無料です。有料ライセンスのトリガーは組織の規模であって、お金が動くかどうかではありません。
しきい値について2つ補足します。「従業員3名以下」は全従業員を数えます。Remotionのコードを書く人だけではありません——Remotion開発者が1人しかいない10人の会社は、しきい値を超えています。また、無料ライセンスは利用量無制限ですが「資格を満たし続けること」が条件です。チームが4人以上に成長した時点で、アップグレードが求められます。
つまり、あなたが個人または小規模チームなら、次のようなコンポジションを作り、レンダリングし、販売するところまで、すべて無料です。
import {
AbsoluteFill,
useCurrentFrame,
useVideoConfig,
spring,
interpolate,
} from 'remotion';
export const LaunchTitle: React.FC<{ title: string }> = ({ title }) => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
const enter = spring({
frame,
fps,
config: { mass: 0.6, stiffness: 160, damping: 14 },
});
const translateY = interpolate(enter, [0, 1], [50, 0]);
const opacity = interpolate(enter, [0, 1], [0, 1], {
extrapolateRight: 'clamp',
});
return (
<AbsoluteFill
style={{
backgroundColor: '#0a0a0a',
alignItems: 'center',
justifyContent: 'center',
}}
>
<h1
style={{
fontFamily: '-apple-system, "Segoe UI", Roboto, sans-serif',
fontSize: 90,
fontWeight: 800,
color: '#ffffff',
transform: `translateY(${translateY}px)`,
opacity,
}}
>
{title}
</h1>
</AbsoluteFill>
);
};
ライセンスのしきい値を超えても、このコードは1文字も変わりません。ライセンスが問うのは「あなたが誰か」であって、「どのAPIを呼ぶか」ではないからです。
企業ライセンスが必要になる条件と、シート/レンダーの数え方
営利組織の人数が4名以上になった時点で、Remotionの利用にはCompany Licenseが必要になります。現行のライセンスモデルは、チームの実際の使い方に対応する2つの形に分かれています。
シートベース(コードを書く人向け)
**シート(Seat)**は、Remotionのコードを自分で書く人1名をカバーします——AIコーディングツールを使って書く場合も含みます。開発者が手で動画を組み立てるチーム、たとえばモーションデザインシステム、社内ツール、コードで生産するマーケティングコンテンツなどに適したモデルです。20人の会社で3人の開発者がRemotionコンポジションを触るなら、必要なのは3シートです。シートは「誰が書くか」の話であって「誰が見るか」の話ではないので、レンダリング済みの動画を見るだけの同僚にシートは不要です。
使用量ベース(自動化向け)
自動化システムを構築する企業——動画エディタ、プロンプトからの動画生成アプリ、パーソナライズ動画パイプライン、Remotion Playerを組み込んだプロダクトなど——のライセンスは、レンダー(Render)数で数えます。レンダーとは、プログラムからトリガーされた動画・音声ファイル・GIF・PDF・静止画の生成が成功することを指します。
import { bundle } from '@remotion/bundler';
import { renderMedia, selectComposition } from '@remotion/renderer';
// バンドルとコンポジション選択 — この時点ではまだレンダーではない
const serveUrl = await bundle({ entryPoint: './src/index.ts' });
const composition = await selectComposition({
serveUrl,
id: 'LaunchTitle',
inputProps: { title: 'Launch Week' },
});
// この呼び出しが成功した時点で、1レンダーとカウントされる
await renderMedia({
composition,
serveUrl,
codec: 'h264',
outputLocation: 'out/launch-week.mp4',
inputProps: { title: 'Launch Week' },
});
同じ数え方が renderMediaOnLambda()、renderStill()、CLIの npx remotion render にも適用されます。
同じくらい重要なのが、カウントされないものです。Remotion Studioと <Player> コンポーネントでのプレビューはレンダーに含まれません。 タイムラインをスクラブして試行錯誤しても、エンドユーザーにブラウザ上でコンポジションをプレビューさせても、いくらでも無料です。カウントされるのは、出力ファイルを実際にエンコードした時だけです。
2つのモデルがどうパッケージされているかの具体的な条件は、ブログ記事ではなく一次情報の remotion.dev/license で確認してください。ここは特に一次ソースにあたるべき領域です。
受託・エージェンシー案件 — 誰のライセンスが問われるのか
受託やフリーランスの案件では2つの組織が関わるため、ライセンスの疑問が最も混乱しやすい領域です。Remotionのライセンスは、これをひとつの原則で解決しています。
ライセンス購入の責任は、Remotionプロジェクトの知的財産(IP)を最終的に所有する主体にある。
成果物の権利がクライアントに移る典型的な受託契約では、問われるのはクライアント側の組織規模です。ソロのフリーランスが50人規模の企業向けにRemotionパイプラインを構築し、その企業がプロジェクトを所有するなら、ライセンスが必要なのは企業側であってフリーランスではありません。
もうひとつ、共同開発を対象にしたルールがあります。協業する企業・チームの合計人数が4名以上になる場合、企業ライセンスの対象になります。2人のスタジオが2社で共同開発すれば、ライセンス上は4人のチームです。
エージェンシー向けの実務的な指針をまとめます。
- ライセンスの帰属は契約書(SOW)で確定させる。 プロジェクトIPを誰が所有し、したがって誰がRemotionライセンスの義務を負うのかを、納品後ではなく契約時に明記します。
- 自社がパイプラインを保有し、成果物だけをクライアントに納める形(動画は渡すがコードは自社資産)なら、義務は自社に残り、自社の組織規模で判定されます。
- あるクライアントのライセンスが他のクライアント案件をカバーすると考えない。 プロジェクトごとにIP所有者が個別に判定されます。
テンプレートの購入・販売・再配布とライセンス
テンプレートはRemotionの上に載るものであり、ここでは2つの独立したライセンスが重なります。この区別は買う側にも売る側にも効いてきます。
テンプレートは作者のコードであって、Remotionのコードではありません。 次のコンポジションはRemotionにライブラリとして依存していますが、すべての行が作者のIPです。
import { AbsoluteFill, Sequence } from 'remotion';
export type PromoTemplateProps = {
headline: string;
bullets: string[];
brandColor: string;
};
export const PromoTemplate: React.FC<PromoTemplateProps> = ({
headline,
bullets,
brandColor,
}) => {
return (
<AbsoluteFill style={{ backgroundColor: '#0a0a0a' }}>
<Sequence durationInFrames={60}>
<TitleScene text={headline} color={brandColor} />
</Sequence>
{bullets.map((bullet, i) => (
<Sequence key={i} from={60 + i * 45} durationInFrames={45}>
<BulletScene text={bullet} color={brandColor} />
</Sequence>
))}
</AbsoluteFill>
);
};
この分離から導かれる結論は次のとおりです。
- テンプレートの販売は許可されています。 売っているのはRemotionを利用する自分自身のコードであり、Reactコンポーネントライブラリを売るのと同じことです。ライセンスが禁じているのは「Remotion自体の改変版」の販売であって、Remotionで作ったプロダクトの販売ではありません。
- テンプレートを買っても、Remotionのライセンスは付いてきません。 個人の購入者は無料枠でテンプレートを動かせますが、同じテンプレートを10人の会社が動かすなら、テンプレートの有無に関係なくCompany Licenseが必要です。
- テンプレート自体の利用条件は販売元ごとに異なります。 クライアント案件での利用・再販・プロダクトへの組み込みが許可されているかは、各テンプレートのライセンスを確認してください。(RenderCompのテンプレートは、まさにこうした再利用を想定して、編集可能なTypeScriptソース一式を同梱しています。)
テンプレートを軸にプロダクトを作る場合には、もうひとつ重要な区別があります。ユーザーがあなたのテンプレートをベースに自分用のパーソナライズ動画を作成・レンダリングできるようにすることは明示的に許可されています——パーソナライズ動画SaaSの標準パターンです。許可されていないのは、ユーザーが任意のRemotionプロジェクトを持ち込める汎用レンダーファームの運営です。自社コンポジションのパラメータ化はOK、Remotionレンダリングそのものをオープンなサービスとして転売するのはNG、と覚えてください。
テンプレート作者がコードとライセンスを実際にどう構成しているかを研究したい場合は、購入前に無料・オープンソースのRemotionテンプレートを眺めてみるのが近道です。
クラウドレンダリングとRemotion Lambdaのライセンス
「クラウドレンダリングには別のライセンスが必要」というのはよくある誤解です。必要ありません。@remotion/lambda と @remotion/cloudrun は同じライセンスの下にあり、レンダリングがどこで走ろうと——手元のノートPCでも、CIランナーでも、Lambda関数の群れでも——義務の内容は同一です。
import { renderMediaOnLambda } from '@remotion/lambda/client';
const { renderId, bucketName } = await renderMediaOnLambda({
region: 'us-east-1',
functionName: 'remotion-render-4-0-345-mem2048mb-disk2048mb-120sec',
serveUrl:
'https://remotionlambda-abcdef.s3.us-east-1.amazonaws.com/sites/promo/index.html',
composition: 'PromoTemplate',
codec: 'h264',
inputProps: {
headline: 'Q3 Product Update',
bullets: ['Faster onboarding', 'New reporting', 'API v2'],
brandColor: '#0B84FF',
},
});
整理すべきポイントは3つです。
- ライセンスとインフラコストは別の帳簿。 RemotionライセンスはRemotionに対する支払い、Lambdaのコンピュートは自分のAWSアカウントに対するAWSからの請求であり、Remotionとの契約関係の外側にあります。
- Lambdaレンダーも1レンダー。
renderMediaOnLambda()の成功は、ローカルのrenderMedia()の成功とまったく同じように数えます。1本の動画を多数のLambda関数に分散処理させても、出力は1本——つまり1レンダーです。 - 自社のAWSアカウントで動かしても資格判定は変わらない。 4人以上の企業は、Lambdaだろうと、Cloud Runだろうと、物置のMac miniだろうと、Company Licenseが必要です。
関数やサイトのデプロイ、同時実行数の扱いといった実際のセットアップは、Remotion Lambdaクラウドレンダリング入門で解説しています。
完全オープンソースな代替との比較
ソースアベイラブルというモデルが組織的に受け入れられない場合、反対側に何があるのかを知っておく価値があります。
Motion Canvas(MIT)は思想的に最も近い隣人です。TypeScriptによるプログラマティックなアニメーションで、企業規模を問わず利用条件はありません。ただしReactではなく独自のコンポーネントモデルを採用しており、エコシステムはサーバーサイドの大規模自動化よりインタラクティブな編集に向いています。
FFmpegベースのスクリプティング(ビルドによりLGPL/GPL)は制限なしで実績も十分ですが、コンポーネントではなくフィルタグラフで合成することになります。カット・オーバーレイ・シンプルなテキストを超えると、誰もメンテナンスしたがらない文字列連結のフィルタチェーン職人芸になりがちです。
プロプライエタリなSaaS APIは正反対の極です。ソースは一切見えず、セルフホストもできず、テンプレートロジックはベンダーのエディタにロックされます。このトレードオフはRemotion vs Creatomate比較で詳しく扱っています。
率直に言えば、Remotionのライセンスは「Reactネイティブなプログラミングモデル+メンテナンスされた本番品質のクラウドレンダリング」の対価です。個人と小規模チームにとってその対価はゼロ。より大きな企業にとっての問いは、動画をReactコンポーネントとして書けることが開発速度の面で代替手段に勝るか——そしてすでにTypeScriptで仕事をしているチームなら、たいてい勝ります。
FAQ — 導入前に開発者が実際に聞くこと
Q: Remotionを無料で商用利用できますか?
できます。個人、従業員3名以下の営利組織、非営利組織のいずれかであれば可能です。有料ライセンスのトリガーは組織規模であって、商用かどうかではありません。
Q: 「従業員3名以下」は開発者だけを数えますか?
いいえ、全従業員を数えます。10人の会社にRemotion開発者が1人しかいなくても、しきい値を超えています。
Q: 大企業ですが、まだ評価段階です。PoCにもライセンスが必要ですか?
評価は無料です。ライセンスが求めるのは、評価から商用デプロイに移行する時点でのアップグレードです。まずPoCを作り、本格導入を決めた時点で購入すれば問題ありません。
Q: レンダリングした動画にRemotion由来の義務は残りますか?
残りません。レンダリング済みの出力は無制限にあなたのものです——ウォーターマークも、クレジット表記も、ロイヤリティもありません。ライセンスが規定するのはフレームワークであって、生成されたメディアではありません。
Q: 自社はライセンスを持っています。業務委託のフリーランスにも個別のライセンスが必要ですか?
義務はプロジェクトIPを所有する主体——業務委託の構図では通常あなたの会社——に付きます。共同開発の場合は合計人数で判定され、複数社合わせて4名以上なら企業ライセンスの対象です。
Q: WebアプリにRemotionの <Player> を組み込むと、それはレンダリングにカウントされますか?
されません。PlayerとStudioのプレビューは明示的にレンダーの対象外で、カウントされるのは出力ファイルの生成が成功した時だけです。ただし4名以上の企業は、Playerの利用を含めRemotionを使うこと自体にCompany Licenseが必要です。Playerの組み込み方はRemotionのPlayerをReactに埋め込むで解説しています。
Q: 3人のスタートアップが4人目を採用したらどうなりますか?
その時点でアップグレードが求められます。技術的には何も壊れません——npmパッケージにライセンスキーのゲートはありません——が、しきい値を超えて無料枠に留まり続けるのはコンプライアンス上の穴であり、デューデリジェンスでは実際に発見されます。
Q: Remotionで作ったテンプレートやプロダクトを販売できますか?
できます。あなたのコンポジションはあなたのコードであり、テンプレートとして、SaaSとして、クライアント納品物として販売することは許可されています。販売できないのは、Remotion自体の改変版と、ユーザーが持ち込む任意のRemotionプロジェクトをレンダリングするサービスです。
まとめ
- RemotionはソースアベイラブルであってMITではない。ソースは全文公開、ただし利用条件がある。
- 無料: 個人、従業員3名以下の営利チーム(全従業員を数える)、非営利、評価目的——商用利用込み。
- Company Licenseは4名以上から。シート(Remotionコードを書く人数)またはレンダー(プログラムによる出力生成の成功数。プレビューは対象外)で構成される。
- 受託案件: 義務はプロジェクトIPの所有者に付く。協業の合計人数が4名以上なら企業ライセンスの対象。
- テンプレート: 自分のコードは自由に販売できる。テンプレート購入はRemotionライセンスの代わりにならない。自社テンプレートによるパーソナライズ動画プロダクトはOK、汎用レンダーファームはNG。
- クラウドレンダリングでも何も変わらない。同じライセンス、同じ数え方。インフラ費用はクラウドプロバイダーから別途請求。
導入を確定する前に、必ず remotion.dev/license で現行の条文を確認してください。この記事はモデルの要約であり、契約となるのはライセンス本文です。
ライセンスの疑問が解けたら、次のボトルネックは構築時間です →
RenderComp は本番投入可能なRemotionテンプレートのカタログです。イントロ、ローワーサード、データビジュアライゼーション、SNSフォーマットなど、すべてのテンプレートが型付きpropsインターフェース付きの編集可能なTypeScriptソース一式として提供され、あなたのRemotionプロジェクト(企業ライセンスでも無料枠でも)にそのまま組み込めます。