GradioのWebUIでユーザーが希望するイラストを生成するチャットサービスです。
このプロジェクトは、ユーザーの自然な日本語入力を高品質なアニメイラストに変換するWebアプリケーションです。 複数のキャラクター(1~6人)と柔軟な設定に対応できます。
・NextJSプロジェクトでの再設計予定 ・位置関係をGUI操作に ・より精度の高いプロンプト構成 など乞うご期待!
- ユーザー入力 → ユーザーが希望するイラストの詳細をチャットで入力
- 最新のGPT-5処理 → LangChainのGPT-5で構造化プロンプト(JSON形式)に変換・補完
- NovelAI v4.5生成 → キャラクター座標対応で高品質画像生成(832x1216解像度)
- 結果表示 → Gradioチャットに画像とダウンロードボタンを表示
- 🤖 GPT-5活用: 自然な日本語から構造化プロンプト(JSON)への高精度変換
- 🎯 キャラクター座標対応: 1-6キャラクター、A1-E5座標指定可能
- 🎨 NovelAI v4.5 Curated: 最新モデルによる高品質アニメ風イラスト生成
- 🔧 拡張プロンプト機能: 環境変数でメイン・キャラクタープロンプトに共通要素を自動追加
- 🌐 美しいWebUI: 中央揃え・レスポンシブ対応のGradioインターフェース
- 📥 ダウンロード機能: 生成画像の簡単ダウンロード
- 📱 リアルタイム: 処理状況をリアルタイムで表示
- 🔧 エラーハンドリング: ポート競合時の自動ポート検索
pip install -r requirements.txt.envファイルを作成し、以下の設定を追加:
# OpenAI API設定
OPENAI_API_KEY=your_openai_api_key_here
# NovelAI API設定
NOVELAI_USERNAME=your_novelai_username_here
NOVELAI_PASSWORD=your_novelai_password_here
# 拡張プロンプト設定
NOVELAI_EXTEND_PROMPT=ultra_detailed, extremely_detailed, photorealistic
NOVELAI_EXTEND_CHARACTER_PROMPT=perfect_face, detailed_eyes, high_quality_skin
# Gradio設定
GRADIO_PORT=7860
GRADIO_HOST=127.0.0.1python main.pyブラウザで http://127.0.0.1:7860 にアクセスしてください。
NAIPGRA/
├── main.py # メインアプリケーション(Gradio WebUI)
├── chatGPT.py # GPT-5による構造化プロンプト変換
├── novelai.py # NovelAI v4.5 API画像生成(キャラクター座標対応)
├── requirements.txt # 依存パッケージ
├── .env # 環境変数(作成が必要)
├── .gitignore # Git除外設定
└── README.md # このファイル
- フロントエンド: Gradio WebUI
- AI処理:
- OpenAI GPT-5 (LangChain経由)
- NovelAI v4.5 Curated (novelai-api経由)
- 画像処理: PIL (Pillow)
- 並行処理: asyncio, aiohttp
- 環境管理: python-dotenv
猫の女の子が花畑で笑っている
{
"characterCount": 1,
"prompt": "flower_field, outdoor, flowers, nature, sunny, best_quality, masterpiece",
"characterPrompts": [
{
"prompt": "1girl, catgirl, cute, smiling, floral_background, standing, full_body, animal_ears, tail",
"position": "C3"
}
]
}環境変数設定:
NOVELAI_EXTEND_PROMPT=masterpiece, best_quality, ultra_detailed
NOVELAI_EXTEND_CHARACTER_PROMPT=perfect_face, detailed_eyes最終生成プロンプト:
メインプロンプト: "masterpiece, best_quality, ultra_detailed, flower_field, outdoor, flowers, nature, sunny"
キャラクター: "perfect_face, detailed_eyes, 1girl, catgirl, cute, smiling, animal_ears, tail"
入力: オレンジ髪の魔法使いが火の魔法を練習している、それを褒めている牧師様
{
"characterCount": 2,
"prompt": "magic_academy, training_ground, fire_magic, spell_practice, indoors, best_quality, masterpiece",
"characterPrompts": [
{
"prompt": "1girl, orange_hair, hime_cut, wizard_hat, robe, casting_spell, fireball, focused_expression, full_body",
"position": "B3"
},
{
"prompt": "1boy, priest, short_hair, smiling, clapping_hands, upper_body",
"position": "D3"
}
]
}- 解像度: 832x1216の高品質アニメ風イラスト
- キャラクター配置: A1-E5座標グリッドに正確配置
- 品質向上: 拡張プロンプトにより一貫した高品質
- ダウンロード: 生成完了と同時にダウンロードボタン表示
- モデル: NovelAI v4.5c (Anime_v45_Curated)
- 解像度: 832x1216(縦長・スマホ壁紙に最適)
- 品質: 高品質設定(steps=28, scale=5.0)
- キャラクター座標: A1-E5グリッド対応(A1=左上、E5=右下、C3=中央)
- 同時生成: 最大6キャラクター対応
- NOVELAI_EXTEND_PROMPT: 全画像のメインプロンプトの先頭に自動追加
- 例:
masterpiece, best_quality, ultra_detailed - 効果: 品質タグが最優先で適用される
- 例:
- NOVELAI_EXTEND_CHARACTER_PROMPT: 全キャラクタープロンプトの先頭に自動追加
- 例:
perfect_face, detailed_eyes, beautiful - 効果: キャラクターの顔・表情品質が向上
- 例:
- 配置: 先頭配置により最高優先度で画像生成に影響
- 使用例: 一貫した品質やスタイルを全生成画像に適用
-
APIキーエラー
.envファイルの設定を確認- OpenAI/NovelAIアカウントの有効性を確認
-
ポート競合
- 自動的に利用可能ポートを検索(7860→7861→7862...)
- 手動設定:
.envでGRADIO_PORTを変更
-
LangChain警告
BaseChatModel.__call__の非推奨警告は動作に影響なし- 将来のアップデートで修正予定
-
画像生成失敗
- NovelAIアカウントクレジット残高を確認
- ネットワーク接続を確認
-
拡張プロンプトが適用されない
.envファイルでNOVELAI_EXTEND_PROMPTとNOVELAI_EXTEND_CHARACTER_PROMPTを確認- アプリケーション再起動で環境変数を再読込
- ログで「拡張プロンプト追加(先頭)」メッセージを確認
このプロジェクトは個人・学習目的での使用を想定しています。
注意: このツールはAPIクレジットを消費します。使用前に各サービスの料金体系をご確認ください。
