← BACK TO EXPERIMENT INDEX
EXP_003
SECRET

ACTIVE

Secret Project

Undisclosed Project

NovelAIと連携してキャラクターコンテンツの制作ワークフローを自動化するプロジェクト。 同人声優との協力も通じ、キャラクターIPを育成する拠点を目指す。

STACKS

TanStack StartTypeScriptCloudflare WorkersCloudflare D1Cloudflare R2Drizzle
左にプロンプト入力、中央に生成画像、右に保存済み素材を配置した画像生成・素材管理画面
画像生成・素材管理:プロンプトの入力、生成結果の確認、素材への保存を同じ制作画面で行える。
原寸画像を開く
描画・部分再生成・文字入れの切り替え、編集キャンバス、文字設定、素材ライブラリを備えた画像編集画面
画像編集・文字入れ:微修正や差分生成から文字の配置・装飾、素材への保存までを一つの編集画面に集約した。
原寸画像を開く

同人声優がキャラクターとして継続的に活動し、そのキャラクターへの関心を新たなボイス依頼につなげられる拠点を目指している。キャラクターIPの育成と制作ワークフローの自動化を通じて、声優の活動と仕事の機会を広げたい。

着想の出発点は、同人声優が複数の依頼募集サイトを持ち、演じ分けられるキャラクターや料金を掲載して仕事を募集する活動形態だった。その一方で、VTuberをはじめ、「キャラクターに対してボイスを依頼する」という形式の広がりに着目した。

同人声優自身も、継続して演じるキャラクターを持ち、そのキャラクターとして活動することで、依頼の機会を増やせるのではないかと考えた。これは現時点での仮説であり、案件獲得につながるかはこれから検証していく。

まずは、キャラクターとして継続的に活動することについて声優本人の許可を得たうえで、コンテンツ制作まではJ.K.自身が担う方針としている。声優側に継続的なコンテンツ制作を求めずに検証を始め、キャラクターの発信が関心やボイス依頼につながるかを確かめていく。

NovelAIと連携した制作ワークフローの自動化を実装し、コンテンツの制作・展開もすでに開始している。現在はpixivで継続的にコンテンツを公開し、フォロワー数22,000人を達成した。

フォロワー数22,000人を達成して以降、閲覧数(PV)の伸びが頭打ちになっている。継続的な発信に加え、新たな人にキャラクターを知ってもらうため、pixiv以外の流入チャネルが必要になっている。

そのため、LPの制作と他SNSの運用を計画している。コンテンツの継続発信を土台に、流入経路とキャラクターに触れる機会を増やし、ブランドとしてさらに成長させていく段階に入っている。

TanStack Start・React・TypeScriptで画面とサーバー処理を実装し、Cloudflare Workersで動かしている。画像生成はNovelAIに連携し、描画・文字入れ・画像合成はブラウザ上で処理する構成にした。

  • TanStack Start / Cloudflare Workers:画面の配信、認証・認可、NovelAI連携や素材管理のサーバー処理を担当。
  • Cloudflare D1 / Drizzle:ユーザー、キャラクター、再利用するプロンプト、素材の管理情報を保持。
  • Cloudflare R2:画像素材の実体を保存。認証後に発行する署名付きURLでアップロード・参照する。
  • NovelAI:画像生成と、マスクで指定した範囲の再生成を担当。
  • Amazon SES:認証などに必要なメールを送信。

キャラクターIPを継続して育てるため、個人運営でも維持できるコストと開発体制を重視した。常時稼働するサーバーや画像生成用のGPU環境を自前で抱える負担を抑え、制作ワークフローの改善やコンテンツ制作に時間を回せる構成にしている。

TanStack Startは、Server FunctionsでRPC境界を効率よく扱い、画面からサーバー処理までTypeScriptでつなげられる点を評価した。サーバー側で実行する処理を明示したうえで、フロントエンドとバックエンドの接続を過度に意識せず、機能単位で開発を進められる。DrizzleによるDBの型と合わせ、変更時の整合性と開発速度を両立する狙いがある。

将来のアクセス増加や機能拡張を見据え、Cloudflareのエコシステム内で構成を調整しやすいことも選定理由にした。利用規模に合わせて必要なサービスやリソースを見直し、継続的に機能を育てていく方針である。

WorkersとD1を利用することで、アプリケーションサーバーのOS管理やDBサーバーの保守をサービス側に任せられる。画像生成はNovelAI、文字や画像の合成はブラウザに分担し、Workersは認証・認可、データ管理、外部APIとの連携を担当する。

画像の実体はR2、キャラクターや素材の管理情報はD1へ分離した。画像を繰り返し確認する制作フローでは、R2からのデータ転送にエグレス料金がかからない点も扱いやすい。ただし、保存容量や操作回数には課金があるため、利用量の管理は必要になる。アップロードは署名付きURLでブラウザからR2へ直接送り、画像の転送とアプリケーション処理を分けている。

D1・R2への接続はWorkersのBindingで管理し、接続先とアプリケーションの実装を分離している。環境ごとのリソースの切り替えはBindingの設定へ集約できる。アクセスが増えた際は、各サービスの上限や利用状況を確認し、必要に応じてプラン、DB設計、サービス構成とBindingを調整する。

D1・R2などのインフラはTerraform、アプリケーションのデプロイはWrangler、DBスキーマの変更はDrizzleのマイグレーションで管理している。開発環境と本番環境を分け、GitHub Actionsから検証・デプロイへつなぐことで、環境の再現性と継続的な更新のしやすさを確保している。

制作で最も時間がかかっていたのは、画像を生成した後の微修正・差分生成・文字入れだった。そこで、この三つの工程を一つの編集画面で完結できるようにした。生成した画像をそのまま編集へ引き継ぎ、修正と確認を繰り返しながら仕上げられる構成にしている。

  1. キャラクターごとのプロンプトや参照画像を選び、NovelAIでベースとなる画像を生成する。保存済みの素材から編集を始めることもできる。
  2. 編集画面で微修正を加え、変更したい範囲をマスクで指定して再生成する。プロンプトを調整し、元画像をもとに差分を作成する。
  3. 同じ画面で文字を配置し、書体・サイズ・色などを調整する。画像の修正と文字入れを行き来しながら仕上がりを確認する。
  4. 編集結果を画像として合成し、素材ライブラリへ保存する。保存した画像は次の編集や制作に再利用する。

反復する操作とツール間の画像の受け渡しを減らし、キャラクターの表現や仕上がりを考える作業に時間を使えるよう、生成・編集・保存の導線をつないだ。

pixivでの継続的なコンテンツ展開を基盤に、LPと他SNSを通じて新たな流入経路を作る。あわせて音声・漫画作品にも表現を広げ、複数の接点からキャラクターを知ってもらえるブランドへ育てていく。

pixivや他SNSから訪れた人が、キャラクターの個性・世界観・作品をまとめて知ることができるLPを制作する。訪問者の操作に応じた演出を取り入れ、キャラクターに触れられる拠点として整備する。

pixivでの発信を継続しながら、他SNSの運用を計画している。新たな層との接点を作り、LPや作品への流入につなげることで、キャラクターとブランドの認知を広げていく。

同人声優と協力して音声作品を制作し、声や演技を通じてキャラクターの表現を広げていく。

キャラクターを軸にした漫画作品を制作し、物語を通じてその人柄や世界観を伝えていく。LPや音声作品と合わせ、キャラクターIPを育てるためのコンテンツを蓄積する。