Trilingual Creator AI

事例ライブラリ

Trilingual Creator AI

あなたの想いを世界の言葉で
YouTubeクリエイター向け多言語コンテンツ自動生成システム

プロジェクト概要 技術スタック 言語対応

📖 プロジェクト概要

Trilingual Creator AIは、YouTubeクリエイター向けに開発した多言語コンテンツ自動生成システムです。最新のGoogle Gemini AIを活用し、日本語の日記を英語・韓国語に自動翻訳すると同時に、各言語に適したハッシュタグも生成。YouTube概要欄に最適化されたフォーマットで一括コピーが可能です。

🎯 解決した課題

従来の問題点

  • YouTube概要欄の多言語化に時間がかかる
  • 言語ごとのハッシュタグ選定が困難
  • コンテンツの一貫性とクオリティの維持が大変
  • 翻訳作業のコストと手間

提供するソリューション

  • AIによる高品質な自動翻訳
  • 各言語に適したハッシュタグの自動生成
  • YouTube概要欄に最適化されたフォーマット
  • プロファイル設定による個性的なコンテンツ生成

🚀 主要機能

1. AI日記自動生成

トピック + 気分 + キーワード → 魅力的な日記
  • Gemini AIによる自然な文章生成
  • ユーザープロファイルを考慮したパーソナライズ
  • YouTube概要欄に適した長さと文体

2. 多言語自動翻訳

日本語 → English + 한국어
  • 3言語同時翻訳
  • 文化的ニュアンスを考慮
  • 原文の雰囲気とトーンを保持

3. ハッシュタグ自動生成

コンテンツ分析 → 最適なハッシュタグ × 3言語
  • 各言語10-15個のハッシュタグ
  • トレンドを意識したタグ選定
  • YouTubeアルゴリズムに最適化

4. ワンクリックコピー機能

全言語統合 → クリップボード → YouTube概要欄
  • 改行とフォーマットを適切に処理
  • 日記本文とハッシュタグを統合
  • 言語別セクション分けで見やすく表示

🛠️ 技術スタック

バックエンド

  • Python 3.8+ - メイン開発言語
  • Flask - Webアプリケーションフレームワーク
  • SQLite - データベース
  • Google Gemini AI - 自然言語処理

フロントエンド

  • HTML5 + CSS3 - UI構築
  • Bootstrap 5 - レスポンシブデザイン
  • JavaScript (ES6) - インタラクティブ機能
  • Font Awesome - アイコン

開発ツール・ライブラリ

  • python-dotenv - 環境変数管理
  • google-generativeai - Gemini API連携

🎨 システム設計

アーキテクチャ

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   Frontend      │    │    Backend       │    │   External      │
│                 │    │                  │    │                 │
│ ┌─────────────┐ │    │ ┌──────────────┐ │    │ ┌─────────────┐ │
│ │ Bootstrap   │ │◄──►│ │ Flask Routes │ │◄──►│ │ Gemini AI   │ │
│ │ UI          │ │    │ │              │ │    │ │ API         │ │
│ └─────────────┘ │    │ └──────────────┘ │    │ └─────────────┘ │
│                 │    │                  │    │                 │
│ ┌─────────────┐ │    │ ┌──────────────┐ │    │                 │
│ │ JavaScript  │ │    │ │ SQLite DB    │ │    │                 │
│ │ Functions   │ │    │ │              │ │    │                 │
│ └─────────────┘ │    │ └──────────────┘ │    │                 │
└─────────────────┘    └──────────────────┘    └─────────────────┘

データフロー

  1. 入力: ユーザーがトピック・気分・キーワードを入力
  2. 生成: Gemini AIが日本語日記を生成
  3. 編集: ユーザーが内容を確認・編集
  4. 翻訳: 一括で英語・韓国語に翻訳
  5. 保存: データベースに保存
  6. コピー: YouTube概要欄用にフォーマット

💡 技術的な挑戦と解決策

1. API使用量の最適化

課題: 複数回のAPI呼び出しによるコスト増加
解決: 統合プロンプトにより5回→1回に削減

def translate_and_generate_all(japanese_content, profile):
    """一度に全言語翻訳とハッシュタグ生成を行う"""
    prompt = f"""
    以下の日本語の日記を英語と韓国語に翻訳し、
    各言語のハッシュタグも生成してください。

    === ENGLISH TRANSLATION ===
    [英語翻訳をここに記載]

    === KOREAN TRANSLATION ===
    [韓国語翻訳をここに記載]
    ...
    """

2. SQLite Row オブジェクトのJSON serialization

課題: TypeError: Object of type Row is not JSON serializable
解決: 明示的な辞書変換

# Before: Rowオブジェクトを直接渡す
diary = cursor.execute('SELECT * FROM diaries').fetchone()

# After: 辞書に変換
diary = {
    'id': diary_row['id'],
    'title': diary_row['title'],
    'content_japanese': diary_row['content_japanese'],
    # ...
}

3. YouTube概要欄フォーマット最適化

課題: 改行やフォーマットが崩れる
解決: 専用フォーマット関数を実装

function formatContentForYoutube(content) {
    return content
        .replace(/\r\n/g, '\n')  // Windows改行を統一
        .replace(/\r/g, '\n')    // Mac改行を統一
        .split('\n')
        .map(line => line.trim()) // 各行の前後空白を削除
        .filter(line => line.length > 0) // 空行を除去
        .join('\n')              // 改行で結合
        .replace(/\n{3,}/g, '\n\n'); // 連続改行を制限
}

📊 パフォーマンス・UX改善

レスポンス時間最適化

  • 統合API呼び出し: 処理時間50%短縮
  • リトライ機能: 安定性向上
  • フォールバック機能: エラー時の代替処理

ユーザビリティ向上

  • 3ステップのウィザード形式: 直感的な操作
  • リアルタイムフィードバック: ローディング表示
  • ワンクリックコピー: 作業効率化

🔧 システムの特徴

エラーハンドリング

# APIエラー時のリトライ機能
max_retries = 3
for attempt in range(max_retries):
    try:
        response = model.send_message(prompt)
        return response.text
    except Exception as e:
        if attempt == max_retries - 1:
            return fallback_translation()
        time.sleep(2)

設定の柔軟性

// profile.json - ユーザープロファイル設定
{
  "profile": {
    "name": "クリエイター名",
    "channel_name": "チャンネル名",
    "style": "動画のスタイル",
    "default_hashtags": {
      "japanese": ["#AI日記", "#テクノロジー"],
      "english": ["#AIDiary", "#Technology"],
      "korean": ["#AI일기", "#기술"]
    }
  }
}

📈 成果・効果

開発成果

  • 完全動作するWebアプリケーション
  • 3言語対応の自動翻訳システム
  • YouTube最適化フォーマット
  • 包括的なエラーハンドリング

想定される効果

  • 時間削減: 多言語コンテンツ作成時間を90%短縮
  • 品質向上: AI による一貫した高品質な翻訳
  • リーチ拡大: 多言語対応による視聴者層拡大
  • 作業効率: ワンクリックコピーによる作業効率化

🚀 今後の拡張可能性

機能拡張

  • [ ] 他言語への対応(中国語、スペイン語等)
  • [ ] YouTube API連携による直接投稿
  • [ ] テンプレート機能
  • [ ] バッチ処理による大量コンテンツ生成

技術改善

  • [ ] Redis によるキャッシュ機能
  • [ ] Docker コンテナ化
  • [ ] AWS/GCP デプロイメント
  • [ ] ユーザー認証システム

🎯 学んだこと

技術面

  • AI API の効率的な活用方法
  • 多言語対応アプリケーションの設計
  • エラーハンドリングとフォールバック戦略
  • フロントエンド・バックエンドの連携

プロダクト面

  • ユーザー中心のUI/UX設計
  • 実用性を重視した機能設計
  • 段階的な開発とテスト手法

📱 デモ・使用方法

システム起動

# 環境設定
pip install -r requirements.txt

# アプリケーション起動
python app.py

# ブラウザでアクセス
http://localhost:10005

基本的な使用フロー

  1. 新規作成 → トピック・気分・キーワード入力
  2. AI生成 → 日本語日記の自動生成
  3. 編集・調整 → 内容の確認・修正
  4. 多言語展開 → 英語・韓国語への翻訳
  5. コピー → YouTube概要欄への貼り付け

🏷️ タグ

#Python #Flask #AI #GoogleGemini #多言語対応 #YouTube #自動翻訳 #WebDevelopment #ContentCreation


このプロジェクトを通じて、AI技術を実用的なWebアプリケーションに落とし込む技術力と、ユーザーのニーズに応える問題解決能力を身につけました。

同様の開発をご希望ですか?

この事例と同様の開発やカスタマイズについて、
お気軽にご相談ください。

お問い合わせ