メインコンテンツへ移動
AIチュートリアル

OpenHiggsfield AIでオープンソースのAI画像・動画スタジオを構築・実行する

OpenHiggsfield AIのインストール、プラットフォームキーの接続、メディア生成、結果の管理、カタログ主導のNext.jsアーキテクチャについて学びます。

OpenHiggsfield AIでオープンソースのAI画像・動画スタジオを構築・実行

OpenHiggsfield AIとは?

OpenHiggsfield AIは、Higgsfield AIに代わる無料のオープンソースソフトウェアです。40種類のモデル(画像モデル12種、動画モデル28種)を使って画像と動画を生成できる、統合型のブラウザースタジオを提供します。生成プラットフォームの自分のキーを使用し、ホスト版のスタジオを開くことも、アプリケーションを自分で実行することもできます。

このプロジェクトは、Next.js 16 App Router、React 19、Zustand、プレーンCSS、pnpmで構築されています。カタログには、Nano Banana、Soul、Gemini、Kling、Veo、Wan、Flux、GPT Image、Ideogram、Recraft、LTX、MiniMax、PixVerse、Grok、Qwenなどのモデルファミリーが含まれています。

スタジオは無料かつオープンソースですが、生成リクエストには自分のプラットフォームキーを使用します。

主な機能

画像と動画に対応する1つのコンポーザー

1つのプロンプトバーで画像と動画の両方を生成できます。選択したモデルによって出力タイプが決まります。macOSではCmd + Enter、その他のプラットフォームではCtrl + Enterを押すと、リクエストを送信できます。

各モデルは、対応する設定とメディアの役割を定義しています。そのため、インターフェースにはアスペクト比、解像度、長さ、出力形式、音声、バッチサイズ、プロンプト強化など、関連するコントロールだけが表示されます。

モデルに対応したメディア入力

選択したモデルに応じて、開始フレーム、終了フレーム、参照メディア、動画、音声など、対応する入力を添付できます。各役割には、そのモデルが定義した制限が適用されます。

アップロードしたファイルはVercel Blobに直接送信され、生成リクエストで利用できる公開URLに変換されます。アセットピッカーでは、アップロードライブラリのファイルやローカル履歴にある完了済みの実行結果も再利用できます。

バッチ生成とライブ進捗

スタジオでは、1回の送信につき最大4件の結果を生成できます。ネイティブの件数設定があるモデルではその設定を使用し、それ以外のモデルでは結果1件につき1回のリクエストを送信します。

送信直後に結果のプレースホルダーが表示されます。OpenHiggsfield AIは4秒ごとにリクエストの状態を確認し、10分の期限内で、完了した結果を利用可能になった時点でそれぞれ表示します。

ギャラリーと結果の管理

  • 4つのギャラリースコープ:画像、動画、アセット、お気に入り。
  • メイソンリーレイアウト:結果は実際のアスペクト比で、新しいものから順に表示されます。
  • タイル操作:個々の結果の再利用、お気に入り登録、削除、選択。
  • 詳細ビューアー:プロンプト、モデル、確定した設定、タイムスタンプ、フルサイズのメディアを確認できます。
  • 一括操作:選択した項目のダウンロード、お気に入り登録、お気に入り解除、削除。
  • 元に戻す:削除した結果は6秒間復元できます。
  • 失敗からの復旧:失敗、キャンセル、NSFWの実行結果には理由が保持され、再試行ワークフローを利用できます。

再利用を選ぶと、元のモデル、プロンプト、設定が復元されます。そのため、プロンプトテキストをコピーするだけでなく、反復的な作業にも役立ちます。

ローカル履歴

履歴は現在使用しているブラウザーのIndexedDBに保存されます。最大60件の記録が保持されますが、お気に入りはこの上限に達しても削除されません。結果のURLは生成プラットフォームに属するため、CDNのメディアの有効期限が切れた後も、古い記録が履歴に残る場合があります。

方法1:ホスト版スタジオを使う

最も簡単に始めるには、openhiggsfield.aiを開きます。このバージョンは完全にブラウザー上で動作し、Node.jsのインストールやローカル設定は必要ありません。

  1. ホスト版スタジオを開きます。
  2. Add keyを選択します。
  3. プラットフォームキーをid:secret形式で貼り付けます。
  4. 画像または動画モデルを選択します。
  5. プロンプトを入力し、利用可能な設定を構成します。
  6. リクエストを送信し、結果タイルの完了を待ちます。

キーはサーバーアクションで処理され、httpOnly Cookieに保存されます。ブラウザーが生成APIを直接呼び出すことはありません。キーがない場合、スタジオは黙って失敗するのではなく、キーモーダルを開きます。

方法2:OpenHiggsfield AIをローカルにインストールする

前提条件

pnpmでプロジェクトを実行できる開発環境が必要です。また、生成に使用できる互換性のあるプラットフォームキーも必要です。アップロード機能には、Vercel Blobの読み書きトークンが必要です。

依存関係をインストールして開発環境を起動する

リポジトリをクローンまたはダウンロードし、ターミナルでそのディレクトリを開いて、次を実行します:

pnpm install
pnpm dev

開発サーバーはhttp://localhost:3000で起動します。このアドレスを開き、Add keyを押して、キーをid:secretとして入力します。

環境変数を設定する

アプリケーションが使用する環境で、生成APIのオリジンとVercel Blobトークンを設定します:

HF_API_BASE_URL=
OPEN_HIGGSFIELD_READ_WRITE_TOKEN=
  • HF_API_BASE_URLは、生成APIのサーバー専用オリジンを定義します。
  • OPEN_HIGGSFIELD_READ_WRITE_TOKENは、Vercel Blobへのアップロードに必要な読み書きアクセスを提供します。

生成APIのオリジンや非公開の認証情報をクライアントサイドコードから公開しないでください。このプロジェクトでは、生成APIを呼び出せるのはサーバーアクションだけになるよう設計されています。

本番環境用コマンド

次のコマンドで本番版をビルドして配信します:

pnpm build
pnpm start

リポジトリには、public/内のアイコンとOpen Graphカードを再構築するブランディングコマンドも含まれています:

pnpm brand

最初の結果を生成する

  1. トップバーのキーインジケーターに、利用可能なキーがあることが表示されているか確認します。
  2. 検索可能なモデルピッカーを開きます。
  3. 画像モデルまたは動画モデルを選択します。
  4. 共通コンポーザーにプロンプトを入力します。
  5. そのモデル用に表示された設定を確認します。
  6. 対応している場合は、参照メディアまたは別のロール固有の入力を添付します。
  7. 必要に応じて、最大4件のバッチサイズを選択します。
  8. Cmd + Enter または Ctrl + Enter を押します。

基本的な画像リクエストには、次のように入力できます。

日の出の misty forest の上に浮かぶガラス張りの展望台を捉えた、映画のワンシーンのような写真

動画モデルの場合、動きを重視したプロンプトは次のようになります。

朝霧が木々の間を流れる中、カメラがガラス張りの展望台にゆっくり近づいていく

利用できるオプションはモデルによって異なります。すべてのモデルが同じ入力に対応していると想定せず、スタジオに表示される設定とメディアロールだけを使用してください。

アセットと以前の実行結果を再利用する

モデルがメディアを受け付ける場合は、該当するロールのアセットピッカーを開きます。同じライブラリ上に、次の2つのソースが表示されます。

  • Uploads: 以前にスタジオからアップロードしたファイル。
  • History: 完了した生成実行のメディア。

ピッカーは、選択したロールに必要な種類に応じて項目を絞り込みます。そのため、選択したモデルが入力への対応を宣言していれば、完成した画像を開始フレームや参照画像として使用できます。

以前の生成を繰り返すには、ギャラリータイルのReuse、またはビューアーのRecreateを選択します。スタジオがモデル、設定、プロンプトを復元するため、1つの詳細を変更して別バージョンを生成できます。

ギャラリーで効率的に作業する

ImageスコープとVideoスコープを使ってメディアタイプに集中し、Assetsですべての完了済み実行を確認し、Favoritesで重要な出力にアクセスしやすくします。タブレールは矢印キーによるナビゲーションに対応しています。

複数の結果を管理するには、タイルのチェックボックスをクリックして選択モードに入ります。Shiftキーを押しながらクリックすると、範囲選択を拡張できます。その後、ダウンロード、Favoritesの変更、削除を一括で実行できます。選択モードを終了するには Esc を押します。

一括ダウンロードは順番に実行され、進捗が表示されます。最終レポートには、CDNによって拒否されたファイルがあれば記載されます。誤って項目を削除した場合は、6秒間の取り消しコントロールが期限切れになる前に使用してください。

生成アーキテクチャの仕組み

すべての生成は、選択したモデル、プロンプト、メディア、設定を含む1つのオブジェクトとして開始されます。

{ model, prompt, media, settings }

インターフェースはこのオブジェクトを構築し、サーバーアクションに渡します。サーバーアクションはカタログからモデルを解決し、スタジオの値を生成APIが要求するフィールド(image_urlsやaspect_ratioなど)にマッピングします。

送信とステータス取得のリクエストは、次のサーバー側パターンに従います。

POST /{model}
GET /requests/{id}/status
Authorization: Key <api_key>

ブラウザーが生成APIに直接接続することはありません。アップロードは別途処理されます。クライアントは/api/blobを介してVercel Blobにアップロードし、スコープ付きトークンを発行してもらいます。ローカルのblob: URLはプレビューにのみ使用されます。

プロジェクト構成

src/
  app/
    /api/blob
    base.css
  generation/
  openhiggsfield/
  • src/app/には、ビューポート全体を使用するスタジオページ、Blobトークンエンドポイント、ドキュメントレベルのキャンバススタイルが含まれます。
  • src/generation/には、生成リクエスト、サーバーアクション、APIマッピング、モデルカタログ、Zustandストアが含まれます。
  • src/openhiggsfield/には、コンポーザー、ギャラリー、ビューアー、モデルピッカー、設定、アセットピッカー、選択バー、スタジオCSSが含まれます。

高度なヒント

カタログを信頼できる唯一の情報源として扱う

モデルの動作はsrc/generation/catalog/にあるカタログによって決まります。カタログエントリは設定とメディアロールをインターフェースに提供するため、スタジオで別途ハードコードされたコントロールリストを管理する必要はありません。

生成サービスが対応するモデルをプロジェクトに追加する場合は、既存のカタログ宣言パターンに従ってください。許可される設定とメディアロールがAPIを正確に表すようにし、スタジオの別の場所にモデル固有のコントロールを追加しないでください。

APIアクセスはサーバー側に保持する

プロジェクトをカスタマイズする際も、既存のサーバーアクション境界を維持してください。生成の認証にはAuthorization: Key <api_key>を使用します。これらの呼び出しをブラウザーコードに移すと、API通信と認証情報をサーバー側に保持する設計が損なわれます。

Zustandの状態モデルを理解する

アプリケーションでは、モデルごとに1つのストアを作成するのではなく、5つの小さなZustandストアを使用します。画像と動画のワークフローはプロンプトとメディアの状態を共有し、設定はモデルIDをキーとして管理され、現在の状態は小さなアクティブストアで追跡されます。カスタマイズする際は、このモデル指向の設定構造を維持してください。

期限切れになるメディアURLに備える

IndexedDBの履歴は、生成プラットフォームのCDNがホストするファイルより長く保持される場合があります。Favoritesのレコードは意図的に保持されますが、リモートメディアURLが引き続き利用できることを保証するものではありません。ブラウザー履歴だけに頼らず、重要な出力をダウンロードしてください。

長時間の反復セッションにはFavoritesを使う

通常の履歴上限は60件ですが、Favoritesはこの上限による期限切れの対象になりません。長時間のセッションでは有望な出力をFavoritesに登録し、ReuseまたはRecreateを使ってプロンプトと設定の調整を続けてください。

まとめ

OpenHiggsfield AIは、画像生成と動画生成を1つに統合した、オープンソースのカタログ駆動型スタジオです。ホスト版をすぐに利用できるほか、Next.jsアプリケーションをセルフホストして自分のキーを接続し、モデル固有のコントロールを使い、アセットを再利用し、永続的なブラウザーギャラリーで結果を管理できます。サーバー専用のAPI境界と宣言的なカタログにより、カスタマイズの明確な基盤も提供されます。