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 │ │ │ │ │ │ │ │
│ └─────────────┘ │ │ └──────────────┘ │ │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘
データフロー
- 入力: ユーザーがトピック・気分・キーワードを入力
- 生成: Gemini AIが日本語日記を生成
- 編集: ユーザーが内容を確認・編集
- 翻訳: 一括で英語・韓国語に翻訳
- 保存: データベースに保存
- コピー: 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
基本的な使用フロー
- 新規作成 → トピック・気分・キーワード入力
- AI生成 → 日本語日記の自動生成
- 編集・調整 → 内容の確認・修正
- 多言語展開 → 英語・韓国語への翻訳
- コピー → YouTube概要欄への貼り付け
🏷️ タグ
#Python
#Flask
#AI
#GoogleGemini
#多言語対応
#YouTube
#自動翻訳
#WebDevelopment
#ContentCreation
このプロジェクトを通じて、AI技術を実用的なWebアプリケーションに落とし込む技術力と、ユーザーのニーズに応える問題解決能力を身につけました。