Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diff Motion API Playground

Tech Stack

Diff Motion APIと連携して、AIの回答に応じてキャラクターの表情(ポーズ等)を切り替えるデモアプリケーション

image

Important

本デモの動作には、Diff Motionの購入が必要です。

Tip

Diff Motion APIについては、こちらの記事を併せてご覧ください。

プロジェクト構造

app/
├── api/                    # APIエンドポイント関連
│   ├── models.py          # リクエスト/レスポンスモデル
│   └── routes.py          # ルート定義
├── core/                   # コアロジック
│   ├── __init__.py
│   ├── ai_chat.py         # AIチャット機能
│   └── diff_motion_api.py # Diff Motion API連携
├── config/                 # 設定ファイル
│   └── system_prompt.md   # システムプロンプト
├── static/
│   ├── index.html
│   ├── script.js
│   └── style.css
├── favicon.ico
└── main.py

🚀 セットアップ

0. uv のインストール (未インストールの場合)

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

1. リポジトリのクローン

git clone https://github.com/yuki-dev26/diff-motion-api-playground.git
cd diff-motion-api-playground

2. 環境変数の設定

.env ファイルを作成し、OpenAI API キーを設定してください。

OPENAI_API_KEY="your_api_key"

Tip

OpenAI APIキーの取得方法については、こちらの記事を参照してください。

3. 依存関係のインストール

uv sync

4. アプリケーションの起動

以下のコマンドでサーバーを起動します。

uv run python -m app.main

ブラウザで http://localhost:8000 を開く

5. APIドキュメント

使い方

  1. Diff Motionの起動

    • Diff Motionアプリケーションを起動してください
    • プリセットに名前を入力する(感情分類のキーワードとなる)
    • APIサーバーが自動的に起動します(デフォルト: http://localhost:37264
  2. プリセットの取得と切り替えについて

    • Diff Motion API Playgroundが開いたらDiff Motionに登録済みのプリセット名が表示される
    • プリセット名をクリックするとそのプリセットに切り替わります
  3. チャットによるプリセット切り換え

    • Diff Motion API Playgroundを起動後にブラウザで http://localhost:8000 にアクセス
    • チャット欄にメッセージを入力して送信
    • AIが応答し、その感情に応じてDiff Motionのプリセットが自動的に切り替わります

🔧 プリセット切り替えの仕組み

  1. プリセット取得: アプリ起動時にDiff Motion APIからプリセット名を取得し、システムプロンプトに動的注入
  2. システムプロンプト: AIに [[感情]] タグを応答に含めるよう指示(使用可能なプリセット名のリストも含む)
  3. タグ抽出: 正規表現 \[\[(.*?)\]\] でAI応答からタグを抽出
  4. プリセット切り替え: タグ内容がDiff Motionのプリセット名と一致すれば http://localhost:37264/preset/switch にPOSTリクエストを送信

License

Copyright (c) 2026 yuki-P Licensed under the MIT License.

License: MIT

About

Diff Motion APIを活用したPNGTuber表情切替チャットボットPlayground(Web UI)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages