Skip to content

feat: Google Gemini API による AI 画像強化機能の追加#14

Merged
jiuya merged 5 commits into
mainfrom
copilot/add-google-gemini-api-image-enhancement
Apr 13, 2026
Merged

feat: Google Gemini API による AI 画像強化機能の追加#14
jiuya merged 5 commits into
mainfrom
copilot/add-google-gemini-api-image-enhancement

Conversation

Copilot AI commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

renderer が生成する手続き的な空画像を Gemini マルチモーダル API に渡して写真的・リアル調に加工する機能を追加。gemini.enabled = false またはAPIキー未設定時は既存動作を維持する。

新規モジュール: src-tauri/src/gemini/

  • types.rsgenerateContent API のリクエスト/レスポンス serde モデル
  • client.rsreqwest HTTPクライアント。APIキーは URL パラメータではなく x-goog-api-key ヘッダーで送信
  • mod.rs — 公開 API enhance_image()。disabled/空キー時は元バイト列をそのまま返すフォールバック
// gemini.enabled=false or api_key="" → no-op, returns original bytes
pub async fn enhance_image(config: &GeminiConfig, png_bytes: Vec<u8>) -> Result<Vec<u8>>

設定 (config/types.rs)

GeminiConfigAppConfig に追加。デフォルト enabled = false

pub struct GeminiConfig {
    pub api_key: String,
    pub model_name: String,   // default: "gemini-2.0-flash-exp"
    pub enhance_prompt: String,
    pub enabled: bool,
}

スケジューラー (scheduler/mod.rs)

  • run_onceasync fn に変更
  • 画像生成後、gemini.enabled かつキーあり の場合に AI 強化パスを通過
  • Gemini API 失敗時はエラーログ + トレイ通知で継続(クラッシュしない)

Tauri コマンド

preview_image_enhanced コマンドを追加。画像生成 → Gemini 強化 → base64 DataURL を返す。

フロントエンド

  • GeminiConfig 型と previewImageEnhanced() ラッパーを tauri_commands.ts に追加
  • 設定画面に「✨ Gemini AI 強化」セクションを追加(APIキー <input type="password">、モデル名、プロンプト、有効トグル、AI強化プレビューボタン)
  • APIキーは UI に再表示せず、フォーム保存時に未入力なら既存キーを保持

Copilot AI changed the title [WIP] Add Google Gemini API to enhance generated images feat: Google Gemini API による AI 画像強化機能の追加 Apr 13, 2026
Copilot AI requested a review from jiuya April 13, 2026 04:52
jiuya added 3 commits April 13, 2026 14:45
- types.rs の フィールドに serde(rename) を追加して camelCase に対応
- デフォルトモデルを gemini-2.5-flash-image に変更
- 429 Too Many Requests 時のリトライ処理を追加(最大3回、待機時間を解析して適用)
- リクエスト URL フォーマットを修正(:generateContent 形式)
- レスポンスをテキストで受け取り debug ログに出力するよう変更
- config/default_settings.toml に [gemini] セクションを追加
- generate_gemini_test.rs サンプルを追加
- src-tauri/config/user_settings.toml の api_key を空文字に修正
- git rm --cached で同ファイルをインデックスから除外
- .gitignore に src-tauri/config/user_settings.toml を追加
- テンプレートファイル user_settings.toml.example を新規作成
- config::load() で GEMINI_API_KEY 環境変数を優先するよう変更
- README に APIキーの安全な設定方法を追記

BREAKING: 漏洩した API キーは廃棄済み。新しいキーで再設定してください。
@jiuya jiuya marked this pull request as ready for review April 13, 2026 06:48
@jiuya jiuya merged commit fde76d4 into main Apr 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Google Gemini APIを使って生成画像を写真的にAI強化する機能の追加

2 participants