Skip to content本文へ移動

API リファレンス

Celesta の各パッケージの簡潔なリファレンス。

Celesta は Remotion のようにパッケージに分かれています。コアの API は @celesta/react から、それ以外はパッケージ列のパッケージからインポートします。乱数・ノイズ・数学ヘルパーは @celesta/math(ガイド)、色付きコードは @celesta/code(ガイド)にあります。TypeScript 宣言で完全な props の型とエディタ補完を取得できます。

レイヤー

API パッケージ 用途
Composition @celesta/react width、height、fps、durationInFrames を設定します。任意の lang で既定のテキスト言語を指定し、default export からひとつだけ返します。
Rect @celesta/react width、height、任意の fill、stroke、strokeWidth、cornerRadius を持つ矩形。
Text @celesta/react 文字列・数値の子を style で装飾し、maxWidth で折り返します。lang で言語を選び、style.lang はさらに優先されます。テキストとフォントを参照。
Group @celesta/react 子のレイヤーに共通の位置・拡縮・回転・透明度を適用します。lang で既定のテキスト言語を指定できます。
Image / Video / Audio @celesta/react src でローカルファイルや HTTP(S) の素材を指定します。画像・動画・音声も参照してください。
defineShader @celesta/shader WGSL のカスタムフィルタを定義します。パラメータを渡して呼び出し、結果を shader に渡します。
Font @celesta/react src でフォントファイルやウェブフォントの CSS を読み込み、Text で使えるようにします。テキストとフォントも参照してください。

時間と動き

API パッケージ 用途
Sequence @celesta/react from と任意の durationInFrames で子の時間を配置します。lang で既定のテキスト言語も指定できます。
FreezeFrame @celesta/react 子要素を、コンポジション全体の frame 時点(絶対フレーム)の状態で、音声なしで描画します。
Transition @celesta/transitions 親シーケンスの開始・終了に、フェード・スライド・拡縮を単独または組み合わせて適用します。
Series / computeSeries @celesta/react 長さでシーンを続けて並べます。シーン・キュー・拍を参照。
TransitionSeries / computeTransitionSeries @celesta/transitions シーンの間をカット・クロスフェード・スライド・ワイプでつなぎ、重なりと全体の長さを計算します。シーン・キュー・拍を参照。
Stagger @celesta/react 各子を前の子から一定フレーム遅れて開始します。
progress @celesta/react フレームの区間を、イージング付きの 0〜1 に制限した値にします。
useBeat() / beatAt @celesta/react BPM のテンポから拍・小節・パルスを取得します。
useCue() / cueAt @celesta/react { at, …data } のリストから現在のキューを取得します。
TextReveal, useTypewriter(), useCountUp() @celesta/text マスク付きの行表示、入力効果、数値カウンター。
Camera @celesta/layout 大きなワールドの一部を、ズーム・回転・揺れ付きで映します。
Line / Polyline / Path / pointOnPolyline @celesta/shapes 線分・曲線・塗りつぶした形。折れ線は段階的に描けます。
Circle / Ellipse / Arrow @celesta/shapes 図のコンポーネント。円は丸い Rect、楕円と矢印は Path です。円と楕円は Rect と同様に配置します。
interpolate / Easings @celesta/react フレームを、イージング・外挿付きの値に変換します。
interpolateColor @celesta/react フレームを #RRGGBBAA の色に変換し、乗算済みアルファで混ぜます。
frameKeyframes @celesta/react frameKeyframes(keys, { fps, origin? }) は、フレーム番号から音量や再生速度のキーフレームを作ります。時刻は Audio を囲む Sequence の時計で (frame - origin) / fps 秒となり、origin の既定値は 0 です。音声のフェードなどに使えます。ブラウザでの書き出しは、固定の音量と再生速度に限られます。
spring @celesta/react 物理モデルで 0 から 1 に収束する値。
useCurrentFrame() / useCurrentTime() @celesta/react 親シーケンスを基準にした現在のフレームまたは正確な時刻。
useVideoConfig() @celesta/react コンポジション(またはシーケンス)のサイズ・フレームレート・長さ。
timecodeToFrame() / frameToTimecode() @celesta/react MM:SS.mmm 形式をフレーム番号に変換し、フレームを HH:MM:SS:FF に整形します。

キャラクター

API パッケージ 用途
Assets / Character @celesta/react @celesta/character 立ち絵・表情・口パクの口・字幕のスタイルを宣言します。
CharacterView @celesta/character キャラクターの立ち絵を配置します。expression、mouth、lipSync を取ります。
DialogueSeries / planDialogue @celesta/character 音声の長さをもとにタイミングを計算し、会話を順に描画します。詳しくはキャラクターの台詞を参照してください。
Dialogue @celesta/character 字幕を表示し、audio を再生し、有効な間の表情を変更します。
loadLipSync / useLipSync @celesta/character WAV から口の形を生成し、現在の形を取得します。
loadPsdPreset @celesta/character PSDTool の .pfv のお気に入りから、表示レイヤーを読み込みます。

レイアウト・データ・ツール

API パッケージ 用途
TextBox / fitText / useFitText / measureText / useTextMetrics @celesta/text @celesta/react 組版後の文字を測ったり、枠に収まる文字サイズを選んだりします。詳しくはテキストとフォントを参照してください。
Center, SafeArea, Stack, Grid, Fit @celesta/layout 子のレイヤーを配置します。レイアウトのヘルパーを参照。
preloadMedia / mediaDurationInFrames @celesta/media-utils prepare() 内でメディアの長さとサイズを取得します。
DebugOverlay / DebugBounds / useDebugGuides() / useIsPreview() @celesta/debug @celesta/react プレビューと、--debug-guides を付けた PNG 書き出しに描かれるデバッグ用のガイド。動画には含まれません。

旧 JSON プロジェクト用 API

次の API は既存の JSON タイムラインとの互換性のために残っています。新しいコンポジションでは、React コンポーネントと通常の props を直接使えます。

旧 JSON プロジェクト用 API

API パッケージ 用途
loadProject, ProjectProvider, useProjectProperty @celesta/project JSON プロジェクトから値を読みます。
ProjectTimeline / ProjectTrack @celesta/project 対応する JSON のタイムライン全体、または 1 トラックを描画します。
registerComponent / defineProjectProperties @celesta/react JSON プロジェクトや Inspector でコンポーネント・プロパティを使えるようにします。

インストールせずに、試してみよう。

ブラウザで Celesta を動かせます。書き出しもできます。

プレイグラウンドを開く