作成日時2026-02-04 18:07
AI TTSのAPIについて、AIにまとめさせました。
根拠の検索もAIがやっているので間違いがあるかも知れません。
個人的には、従量料金でやるなら「gemini-2.5-flash-preview-tts」、ガンガン使うなら「Aivis Cloud API(Aivisプレミアム)」がオススメかな。
gemini-2.5-flash-preview-ttsは自然言語で簡単に出力内容をコントロールできるのが強み。感情込めたり、話す速度を調整したり。
そしてAivisプレミアム(定額)には制限はあるけど、うまく使えば自分のサービスに組み込めそうですよね。Aivis Cloud APIの従量料金の方は高めだけど..
📋 前提条件の整理
調査対象モデル
- モデル名:
gemini-2.5-flash-preview-tts
- 提供: Google AI API / GCP Vertex AI
- 用途: Text-to-Speech(テキスト音声合成)
重要な計算基準
- 日本語トークン換算: 約4文字で1トークン
- 音声出力トークン: 1秒あたり32トークン(固定レート)
- 読み上げ速度: 1分間に300〜350文字が標準
- 時間換算:
- 10,000文字 ≈ 約30〜35分(約33分が目安)
- 100万文字 ≈ 約3,300分(約55時間)
📊 Gemini 2.5 Flash Preview TTS 基本料金
公式料金表(Standard プラン)
| 項目 | 料金(100万トークンあたり) |
| 入力(テキスト) | $0.50 |
| 出力(音声) | $10.00 |
料金計算方法(日本語の場合)
例: 10,000文字を音声化する場合
- 入力トークン計算:
- 10,000文字 ÷ 4文字/トークン = 2,500トークン
- コスト: $0.50 × (2,500 / 1,000,000) = $0.00125(約0.2円)
- 出力トークン計算:
- 10,000文字 ≈ 約33分 = 1,980秒
- 1,980秒 × 32トークン/秒 = 63,360トークン
- コスト: $10.00 × (63,360 / 1,000,000) = $0.634(約95円)
- 合計: $0.635(約95円)/ 10,000文字
💰 文字数別料金表(日本語)
| 文字数 | 音声時間 | 出力トークン | 料金(USD) | 料金(円)※ |
| 1,000文字 | 約3.3分 | 6,336 | $0.064 | 約10円 |
| 5,000文字 | 約16.7分 | 31,680 | $0.318 | 約48円 |
| 10,000文字 | 約33分 | 63,360 | $0.635 | 約95円 |
| 50,000文字 | 約2.8時間 | 316,800 | $3.17 | 約476円 |
| 100,000文字 | 約5.5時間 | 633,600 | $6.34 | 約951円 |
| 100万文字 | 約55時間 | 6,336,000 | $63.50 | 約9,525円 |
※1ドル=150円で計算
🔍 日本のTTSサービスとの完全比較
総合料金比較(100万文字あたり)
| 順位 | サービス名 | 料金 | 特徴 |
| 1 | VOICEVOX | 無料 | オープンソース、API提供なし、ローカル動作 |
| 2 | Google Cloud TTS(標準) | 約600円 | 月100万文字まで無料、その後$4 |
| 3 | Amazon Polly(標準) | 約600円 | AWS統合、$4/100万文字 |
| 4 | AIVIS Cloud API(月額) | 月1,980円 | 10req/分制限内で無制限 |
| 5 | Google Cloud TTS(Neural) | 約2,400円 | 高品質、月100万文字まで無料、その後$16 |
| 6 | Amazon Polly(Neural) | 約2,400円 | 高品質、$16/100万文字 |
| 7 | Azure TTS | 約2,400円 | 感情表現可能、約$16/100万文字 |
| 8 | ElevenLabs(大量利用時) | 約18,000〜24,000円 | 超高品質、感情表現豊か |
| 9 | 音読さん | 約4,900円 | 月980円で20万文字(換算値) |
| 10 | Gemini 2.5 Flash TTS | 約9,525円 | 低遅延、プレビュー版 |
| 11 | AIVIS Cloud API(従量) | 44,000円 | 超低遅延、日本語特化 |
🎤 ElevenLabs 詳細解説
料金プラン(月額)
| プラン | 月額料金 | 月間クレジット | 音声時間(目安) | 文字数換算 |
| Free | 無料 | 10,000 | 約20分 | 約10,000文字 |
| Starter | $5 | 30,000 | 約60分 | 約30,000文字 |
| Creator | $22(初月$11) | 100,000 | 約200分 | 約100,000文字 |
| Pro | $99 | 500,000 | 約1,000分 | 約500,000文字 |
| Scale | $330 | 2,000,000 | 約4,000分 | 約2,000,000文字 |
| Business | $1,320 | 11,000,000 | 約22,000分 | 約11,000,000文字 |
クレジットシステム
基本換算:
- Multilingual v2/v2.5モデル: 1文字 = 1クレジット
- Flash/Turboモデル: 1文字 = 0.5〜1クレジット(プランにより変動)
追加購入:
- Creatorプラン以上: 約$0.09〜0.15/1,000クレジット(プランにより異なる)
100万文字利用時の実質料金
Proプラン使用の場合:
- 月額基本: $99(500,000文字分含む)
- 追加必要: 500,000文字分
- 追加料金: 約$0.12/分 = 約$60
- 合計: 約$159(約23,850円)/ 100万文字
Businessプラン使用の場合:
- 月額: $1,320(11,000,000文字分)
- 100万文字あたり: 約$120(約18,000円)
主な特徴
圧倒的な音声品質:
- 最新モデルMultilingual v2.5で感情表現が非常に豊か
- 自然な抑揚、リアルな感情表現
- 業界最高レベルの音声品質
多言語対応:
- 32言語以上に対応(日本語含む)
- ネイティブレベルの発音
独自機能:
- 音声クローニング(自分の声を複製)
- 音声から音声への変換
- AI吹き替え機能
- 5,000種類以上のプリセット音声
制限事項:
- 無料プランでは商用利用が禁止
- 無料プランではクレジット表記が必要
- 日本語の場合、英語と比べると精度がやや劣る場合がある
- 漢字の読み間違いや不自然なイントネーションが見られることがある
🎯 各サービス詳細解説
1️⃣ VOICEVOX
料金: 完全無料
特徴:
- オープンソース
- 商用利用可能(クレジット表記必要)
- 高品質な日本語音声
- ローカルで動作
制限:
- API提供なし(自前で構築が必要)
- GPU推奨
- クラウド利用不可
おすすめ用途: コストゼロで高品質な音声が必要な場合
2️⃣ Google Cloud Text-to-Speech
料金:
- 標準音声: $4/100万文字(約600円)
- Neural2音声: $16/100万文字(約2,400円)
- 月100万文字まで完全無料
特徴:
- 40以上の言語対応
- WaveNet/Neural2による高品質
- SSML対応
- 国際音素記号(IPA)で発音調整可能
おすすめ用途:
3️⃣ Amazon Polly
料金:
- 標準音声: $4/100万文字(約600円)
- Neural音声: $16/100万文字(約2,400円)
特徴:
- AWS統合
- SSML対応
- カナで日本語発音調整可能
- リアルタイムストリーミング対応
おすすめ用途: AWS環境での利用
4️⃣ Azure Text-to-Speech
料金: 約$16/100万文字(約2,400円)
特徴:
- 感情表現に優れる
- カナで日本語発音調整可能
- SSML対応
- 多言語対応
おすすめ用途: Azure環境での利用、感情表現が必要な場合
5️⃣ AIVIS Cloud API(日本製)
料金プラン:
従量課金プラン
- 1万文字あたり440円(税込)
- 100万文字で44,000円
月額定額プラン(Aivis プレミアム)
- 月額1,980円(税込)で文字数無制限
- レート制限: 10リクエスト/分
主な特徴:
- 最速0.3秒で音声生成開始
- 2秒程度の音声(約15文字)ならほぼ瞬時に生成完了
- 最大3,000文字の一括生成に対応
- ストリーミング再生対応
- 日本国内サーバーで運用
- 高度なユーザー辞書機能(読み・アクセント・品詞の詳細設定)
- SSML対応
- プライベートモデル対応
- WAV/FLAC/MP3/AAC/Opusの5形式対応
得意分野:
- 日本語固有名詞・人名の正確な読み上げ
- 「向井理」「新田真剣佑」などの難読人名
- 技術用語・英単語のカタカナ読み
- リアルタイムAIチャット
6️⃣ Gemini 2.5 Flash Preview TTS
料金: 約9,525円/100万文字
特徴:
- Googleの最新TTSモデル
- 低遅延設計
- プレビュー版(仕様変更の可能性)
注意点:
- 日本語の場合、トークン数が増えるため想定よりコスト高
- 固有名詞の読み精度は未検証
7️⃣ ElevenLabs
料金: プランにより変動(詳細は上記参照)
- 少量利用: 月$5〜22
- 大量利用: 約18,000〜24,000円/100万文字
特徴:
- 業界最高レベルの音声品質
- 感情表現が非常に豊か
- 音声クローニング機能
- 32言語以上対応
- YouTube・ポッドキャストに最適
注意点:
- 日本語の読み精度がやや不安定
- 漢字の読み間違いがある
- 大量利用時のコストが高い
- 無料プランは商用利用不可
8️⃣ 音読さん
料金:
- ベーシック: 月980円で20万文字
- バリュー: 月1,980円で45万文字
- プレミアム: 月2,980円で100万文字
特徴:
9️⃣ CoeFont
料金: 月500円〜(制限あり)
特徴:
- 3000種以上の声
- 声のクローン作成可能
- API提供
💡 AIVIS Cloud API 月額プランの損益分岐点
計算式
- 従量課金: 440円/1万文字
- 月額プラン: 1,980円で無制限
損益分岐点:
plain text
1,980円 ÷ 440円 = 4.5
4.5 × 10,000文字 = 45,000文字
結論: 月45,000文字以上使うなら月額プランがお得
| 利用文字数/月 | 従量課金 | 月額プラン | お得なプラン |
| 10,000文字 | 440円 | 1,980円 | 従量課金 |
| 30,000文字 | 1,320円 | 1,980円 | 従量課金 |
| 45,000文字 | 1,980円 | 1,980円 | 同額(分岐点) |
| 50,000文字 | 2,200円 | 1,980円 | 月額 |
| 100,000文字 | 4,400円 | 1,980円 | 月額 |
| 100万文字 | 44,000円 | 1,980円 | 月額 |
時間換算
- 45,000文字 ≈ 約2.5時間(約150分)の音声
- 月に2.5時間以上の音声を生成するなら月額プランが得
🏆 用途別おすすめサービス
完全無料で使いたい
→ VOICEVOX
- 理由: 完全無料、高品質
- 注意: API連携は自作必要
少量利用(〜10万文字/月)
→ Google Cloud TTS(無料枠)
- 理由: 月100万文字まで無料
- 品質: 標準でも十分、Neuralなら高品質
中量利用(10万〜50万文字/月)
→ Google Cloud TTS Neural(約2,400円)
大量利用(50万文字以上/月)
→ AIVIS Cloud API 月額プラン(1,980円)
- 理由: 10req/分の制限内なら圧倒的コスパ
- 特に45,000文字以上で確実にお得
超高品質・感情表現重視
→ ElevenLabs(Creator以上)
- 理由:
- 業界最高レベルの音声品質
- 感情表現が非常に豊か
- 音声クローニング機能
- 用途: YouTubeコンテンツ、ポッドキャスト、キャラクター音声
- 注意: 日本語は若干読み間違いあり、コストは高め
リアルタイムAIチャット・日本語品質重視
→ AIVIS Cloud API 月額プラン
- 理由:
- 超低遅延(0.3秒で生成開始)
- 日本語固有名詞に強い
- ストリーミング対応
- 月1,980円で制限内無制限
多言語対応必須
→ ElevenLabs or Google Cloud TTS
- ElevenLabs: 32言語以上、超高品質、感情表現豊か
- Google Cloud: 40以上の言語、コスパ良好、安定性高い
コンテンツクリエイター向け
→ ElevenLabs Creator
- 理由:
- 音声クローニングで自分の声を使える
- YouTubeやポッドキャストに最適
- 初月50%オフ($11)
- 感情表現が豊か
AWS/Azure環境での利用
→ Amazon Polly / Azure TTS
📈 価格帯別ランキング
100万文字あたりのコスト順
- VOICEVOX: 0円
- Google Cloud TTS標準: 約600円
- Amazon Polly標準: 約600円
- AIVIS月額: 1,980円(無制限)
- Google Cloud TTS Neural: 約2,400円
- Amazon Polly Neural: 約2,400円
- Azure TTS: 約2,400円
- 音読さん: 約4,900円
- Gemini 2.5 Flash TTS: 約9,525円
- ElevenLabs: 約18,000〜24,000円
- AIVIS従量: 44,000円
⚡ 実例:10,000文字(約33分音声)のコスト比較
| サービス | 10,000文字の料金 | コメント |
| VOICEVOX | 0円 | 無料 |
| Google Cloud TTS標準 | 約6円 | 無料枠内 |
| Google Cloud TTS Neural | 約24円 | 無料枠内 |
| AIVIS月額 | 月1,980円で無制限 | 45,000文字以上で得 |
| Gemini 2.5 Flash TTS | 約95円 | 中価格 |
| ElevenLabs Free | 無料(月10,000文字まで) | 商用利用不可 |
| ElevenLabs Creator | 月$22で100,000文字 | 超高品質 |
| AIVIS従量 | 440円 | 高額 |
📊 サービス別強み・弱み比較
ElevenLabs
強み:
- ✅ 業界最高レベルの音声品質
- ✅ 感情表現が非常に豊か
- ✅ 音声クローニング機能
- ✅ 32言語以上対応
- ✅ キャラクター音声・ポッドキャストに最適
- ✅ 5,000種類以上のプリセット音声
弱み:
- ❌ 日本語の読み精度がやや不安定
- ❌ 漢字の読み間違いがある
- ❌ 大量利用時のコストが高い(100万文字約18,000〜24,000円)
- ❌ 無料プランは商用利用不可
AIVIS Cloud API
強み:
- ✅ 日本語固有名詞・人名に強い
- ✅ 超低遅延(0.3秒)
- ✅ 月額プランのコスパ最強(月1,980円で無制限)
- ✅ ストリーミング対応
- ✅ 日本国内サーバー
弱み:
- ❌ 従量課金プランは高額(100万文字44,000円)
- ❌ 多言語対応なし(日本語特化)
- ❌ 音声の表現力はElevenLabsに劣る
- ❌ 10req/分の制限あり(月額プラン)
Gemini 2.5 Flash TTS
強み:
- ✅ 低遅延設計
- ✅ Google製の信頼性
- ✅ プレビュー版で今後改善の可能性
弱み:
- ❌ 100万文字約9,525円と中途半端な価格
- ❌ 日本語の固有名詞精度は未検証
- ❌ プレビュー版で仕様変更の可能性
- ❌ 他サービスと比較して特筆すべき強みが少ない
Google Cloud TTS
強み:
- ✅ 月100万文字まで無料
- ✅ 安定したサービス
- ✅ 40以上の言語対応
- ✅ 企業利用に安心
- ✅ Neural2で高品質
弱み:
- ❌ 音声品質はElevenLabsに劣る
- ❌ 感情表現が控えめ
- ❌ 日本語固有名詞の精度はAIVISに劣る
🎯 最終推奨(用途別ベスト選択)
| 用途 | 第1選択 | 第2選択 | 理由 |
| 完全無料 | VOICEVOX | Google Cloud(無料枠) | コスト最優先 |
| YouTubeコンテンツ | ElevenLabs Creator | AIVIS月額 | 品質・感情表現・音声クローニング |
| ポッドキャスト | ElevenLabs Pro | AIVIS月額 | 音声クローニング・高品質 |
| AIチャット | AIVIS月額 | Google Cloud Neural | 低遅延・日本語品質 |
| ニュース読み上げ | AIVIS月額 | Google Cloud Neural | 固有名詞の正確性 |
| 大量バッチ処理 | AIVIS月額 | Google Cloud | コスト効率 |
| 多言語展開 | ElevenLabs | Google Cloud | 言語数・品質 |
| 企業サービス組込 | Google Cloud / Azure | AIVIS | 安定性・サポート |
| キャラクター音声 | ElevenLabs | - | 感情表現・音声クローニング |
| 技術文書読み上げ | AIVIS月額 | Google Cloud Neural | 専門用語・英単語の読み |
📝 総合まとめ
各サービスの位置づけ
品質ランキング: ElevenLabs > AIVIS > Google Cloud Neural > Azure > その他
コストランキング(安い順): VOICEVOX > Google Cloud > AIVIS月額 > Azure > Gemini > ElevenLabs > AIVIS従量
日本語品質ランキング: AIVIS > Google Cloud > ElevenLabs
多言語対応ランキング: Google Cloud (40+言語) > ElevenLabs (32+言語) > Azure
Gemini 2.5 Flash Preview TTS の総合評価
価格: 約9,525円/100万文字(日本語) 評価: ★★☆☆☆
ポジション:
- Google Cloud TTS Neuralの約4倍
- AIVIS月額プランより約4.8倍高い
- ElevenLabsより約半額
推奨度: 低い(他に優れた選択肢が多数存在)
推奨するケース:
- Gemini APIを既に使っている環境での統合利用
- 他の選択肢が使えない特殊な状況
最もコスパが良い選択
無料〜低コスト重視
Google Cloud TTS(月100万文字まで無料)
月45,000文字以上の大量利用
AIVIS Cloud API 月額プラン(月1,980円)
- 約2.5時間以上の音声生成で確実にお得
- 日本語品質・低遅延も優秀
- ただし10req/分の制限あり
最高品質・感情表現重視
ElevenLabs(Creator以上)
- YouTubeコンテンツ、ポッドキャスト向け
- 音声クローニング機能
- ただし日本語精度と高コストに注意
バランス重視
Google Cloud TTS Neural(約2,400円/100万文字)
- 無料枠活用後も低価格
- 安定性・信頼性が高い
- 企業利用に最適
📚 根拠となったURL一覧
Gemini API関連
- Gemini公式価格ページ: https://ai.google.dev/gemini-api/docs/pricing
- Gemini 2.5 Flash Preview TTSの料金情報
- Geminiトークン計算ドキュメント: https://ai.google.dev/gemini-api/docs/tokens
- 音声トークンの換算方法(1秒=32トークン)
- 日本語トークン数の情報
- Gemini音声理解ドキュメント: https://ai.google.dev/gemini-api/docs/audio
AIVIS Cloud API関連
- AIVIS Cloud API公式発表: https://note.com/aivis_project/n/nd7840ae2b903
- 料金プラン(従量課金・月額)
- サービス特徴・機能詳細
- 日本語読み上げ精度の情報
ElevenLabs関連
- ElevenLabs公式価格ページ(日本語): https://elevenlabs.io/ja/pricing
- 各プランの料金・クレジット数
- 追加料金の情報
- 機能比較
音声読み上げ速度・換算関連
- 一般的な音声読み上げ速度の情報:
- 1分間に300〜350文字が標準的な読み上げ速度
- 検索結果から複数の情報源を総合
その他参考情報
- Google Cloud Text-to-Speech: https://cloud.google.com/text-to-speech/pricing
- Amazon Polly: https://aws.amazon.com/polly/pricing/
- Azure Text-to-Speech: https://azure.microsoft.com/pricing/details/cognitive-services/speech-services/
- すべての料金情報は2026年2月4日時点のもの
- 1ドル=150円で換算
- 音声時間の計算は1分間300文字の読み上げ速度を基準
作成日時2026-01-21 12:33
TagVPS
まず前提知識.. なぜウェブに「証明書」が必要なのか
〜Let’s Encrypt が変えたインターネットの安全性〜
インターネットでブログやサービスを公開しようとすると、
**「SSL証明書」「HTTPS」「Let’s Encrypt」**といった言葉をよく目にします。
「よく分からないけど、入れないと危ないらしい…」
そんな状態のまま設定している人も多いでしょう。
この記事では、なぜ証明書が必要なのか、そして Let’s Encrypt がなぜ重要なのかを、初心者向けに解説します。
ウェブの通信はそのままだと「丸見え」
通常のウェブ通信(HTTP)は暗号化されていません。
これはどういうことかというと:
- 入力したID・パスワード
- お問い合わせフォームの内容
- クレジットカード番号
これらが、途中で盗み見られる可能性があるということです。
- 公共Wi-Fi(カフェ・空港・ホテル)
- 悪意のある第三者が同じネットワークにいる場合
- サーバーとの通信経路
通信の仕組みを考える
インターネットでサイトを見るとき、あなたのブラウザは 直接サーバーと会話しているように見えます。
しかし実際には、その間にはたくさんの「通り道」があります。
例えば:
- 自宅や会社のルーター
- カフェや空港のWi-Fi
- 通信事業者のネットワーク
- 世界中にある中継サーバー
つまり、あなたとサーバーの間には、常に第三者が存在する可能性がある のです。
問題①:相手が「本物のサーバー」だと確認できない
証明書がない場合、ブラウザはこう思っています。
「このサーバーが本当に example.com なのか分からない…」
すると何が起きるかというと:
- 偽のサーバーが途中で割り込む
- 見た目は同じ偽サイトに接続させられる
- IDやパスワードを入力してしまう
これが フィッシング攻撃 や 中間者攻撃(Man-in-the-Middle)と呼ばれるものです。
問題②:通信内容が「そのまま流れている」
HTTP通信では、データは 封筒に入れずにハガキで送る ような状態です。
- 誰が見ても内容が読める
- 途中で書き換えられる可能性もある
- 利用者は気づけない
この状態で個人情報を扱うのは、現代のインターネットでは非常に危険 です。
証明書は「身分証+封印シール」
そこで登場するのが SSL/TLS証明書 です。
証明書は次の2つを証明します。
- 🪪 このサーバーは本物です(身元証明)
- 🔐 通信内容は暗号化されています(盗み見防止)
つまり、
「この相手は信用できる」
「この会話は誰にも読めない」
という状態を ブラウザが保証できる ようになります。
だから証明書がないと「危険」と表示される
現在のブラウザはとても正直です。
- 証明書がない
- 正体が確認できない
- 暗号化されていない
この条件が揃うと、
ユーザーに 強い警告 を出します。
これは意地悪ではなく、ユーザーを守るための安全装置 なのです。
HTTPS は「信頼できます」のサイン
URLが以下のようになっているサイトを見たことがあるでしょう。
この https の s は secure(安全) の意味です。
- 証明書が正しく設定されている
- 通信が暗号化されている
- ブラウザが「安全」と判断している
という状態を表します。
今では Google も HTTPS をSEO評価の要素に含めている ため、技術的にもビジネス的にも必須になっています。
以前は証明書は「高価で面倒」だった
ところが少し前まで、SSL証明書は:
- 年間数千円〜数万円かかる
- 申請手続きが複雑
- 更新を忘れるとサイトが壊れる
という 初心者やライトユーザーには非常にハードルが高いもの でした。
その結果、多くの個人サイトや小規模サービスが「安全ではない状態」のまま放置されていました。
Let’s Encrypt の登場で何が変わったのか
ここで登場するのが Let’s Encrypt です。
Let’s Encrypt は、次の特徴を持つ 無料の証明書発行機関 です。
✔ 完全無料
誰でも、何枚でも、費用ゼロで証明書を取得できます。
✔ 自動化されている
サーバー設定と更新が 自動 で行えます。
更新忘れによる事故が激減しました。
✔ 世界標準として普及
現在、世界中の非常に多くのHTTPSサイトが Let’s Encrypt を利用しています。
Let’s Encrypt の意義
Let’s Encrypt の価値は「無料」だけではありません。
インターネット全体の安全性を底上げした
- 個人ブログ
- 学生のポートフォリオ
- 小規模スタートアップ
誰でも 「当たり前に安全な通信」 を使えるようになりました。
「暗号化は特別なもの」ではなくなった
今では、
証明書がない = 設定ミス or 管理不足
と見なされる時代です。
初心者こそ、証明書を意識しよう
もしあなたが:
- ブログを始めたい
- Webサービスを作りたい
- ポートフォリオを公開したい
と思っているなら、HTTPSは必須条件です。
幸い、Let’s Encrypt のおかげで危険な時代は終わりました。
前提終わり..
さて、ここまでが前提です。ここを理解していないと、これからの話が理解できないと思います。
ここからが今回の本題となります。
IPアドレスでもHTTPSが使えるようになった話
IPアドレスに証明書?昔は無理だった
先の前提でご説明した通り、少し前まで、HTTPS は ドメイン名が必須でした。
- 証明書はドメインに対して発行される
- IPアドレス直指定は対象外
https://1.2.3.4 は自己署名か警告付き
というのが常識でした。
「IPアドレスそのもの」に証明書が出るようになった
現在は、IPアドレスを SAN に含む正式な公開証明書が発行できます。
発行元は同じく Let’s Encrypt。これも無料です。
特徴はシンプルです。
- DNS不要
- 独自ドメイン不要
- IPv4 / IPv6 対応
- 証明書は短命(最大6日)
つまり、
一時VPS・検証環境・実験用途なら、IP直HTTPSが現実解
になりました。
じゃあ、実際にどうやるか
以下は 最短で再現するための手順だけを書きます。
今回のテストの前提
- Ubuntu 22.04 で構築したウェブサーバー(VPSなど)
- IPv4 / IPv6 割り当て済み(固定IP)
- 80 / 443 ポート開放済み(ハードウェアおよびファイアウォール)
- root ログイン
1. nginx を入れる
bash
apt update && apt install -y nginx curl
2. Hello World を用意
bash
rm /var/www/html/index.nginx-debian.html
echo '<html><head><meta charset="UTF-8"></head><h1>Hello World</h1><p>IP HTTPS</p></html>' > /var/www/html/index.html
確認(HTTP):
bash
curl http://<IPv4アドレス>
3. acme.sh を入れる(certbotは使わない)
bash
curl <https://get.acme.sh> | sh
source ~/.bashrc
4. IPv4 の IP証明書を取る
nginx 停止:
bash
systemctl stop nginx
証明書発行(short-lived):
bash
acme.sh --issue --server letsencrypt -d <IPv4アドレス> --standalone --cert-profile shortlived --days 3
生成先(※ _ecc が付く場合):
bash
/root/.acme.sh/<IPv4アドレス>_ecc/
5. IPv6 の IP証明書を取る
IPv6は TLS-ALPN-01 を使う:
bash
acme.sh --issue --server letsencrypt -d <IPv6アドレス> --alpn --cert-profile shortlived --days 3
※ ディレクトリ名は : を含む場合あり:
6. nginx を HTTPS(IPv4 / IPv6)対応にする
default 無効化:
bash
rm /etc/nginx/sites-enabled/default
設定ファイル作成:
bash
nano /etc/nginx/sites-available/ip-https
中身:
plain text
# IPv4
server {
listen 443 ssl default_server;
ssl_certificate /root/.acme.sh/<IPv4アドレス>_ecc/fullchain.cer;
ssl_certificate_key /root/.acme.sh/<IPv4アドレス>_ecc/<IPv4アドレス>.key;
root /var/www/html;
index index.html;
}
# IPv6
server {
listen [::]:443 ssl default_server;
ssl_certificate /root/.acme.sh/<IPv6アドレス>_ecc/fullchain.cer;
ssl_certificate_key /root/.acme.sh/<IPv6アドレス>_ecc/<IPv6アドレス>.key;
root /var/www/html;
index index.html;
}
有効化:
bash
ln -s /etc/nginx/sites-available/ip-https /etc/nginx/sites-enabled/
起動:
bash
nginx -t
systemctl start nginx
7. 確認
- IPv4:
https://<IPv4アドレス>
- IPv6(※ [] 必須):
https://[<IPv6アドレス>]
- HTTPS 🔒
- 発行元:Let’s Encrypt
- SAN:IP Address
よくある詰まりどころ
| 症状 | 原因 |
| cert が見つからない | _ecc 付け忘れ |
| IPv6で失敗 | --alpn 未使用 |
| nginx 起動失敗 | パス違い |
| IPv6でアクセス不可 | [] 忘れ |
まとめ
- IPアドレスでも正式なHTTPSが可能
- DNSもドメインも不要
- 短命証明書 ×
- 検証・実験用途で使えそう
作成日時2025-11-21 12:14
2025年11月21日付近に発表された最新画像生成モデル「Nano Banana Pro(正式名:Gemini 3 Pro Image)」は、以前の Nano Banana(Gemini 2.5 Flash Image)から大幅に性能向上し、特に日本語テキスト再現性/推論(reasoning)能力/複数画像統合の面で注目されています。(note(ノート))
主要な進化ポイント
1) 日本語テキストの高精度レンダリング
- 長文・漢字・ひらがな・カタカナを含む日本語の文字入れが大幅に改善され、曲面や遠近に合わせた文字配置も自然に処理できるとの報告が複数あります(サムネ・チラシ等の実制作で実用的)。(note(ノート))
2) 高度な「考えてから描く」推論能力(Gemini 3 の能力を取り込み)
- 単にピクセルを生成するだけでなく、プロンプトの構造や論理を内部で解釈してから画像生成を行うプロセスにより、図解や複雑な指示を忠実に再現しやすくなったと報告されています。(note(ノート))
3) 複数(最大14枚)の参照画像統合
- 複数の参照画像(スタイル、キャラ、色など)を最大14枚まで統合して一貫性のある出力を得られる点が注目ポイント。商用デザイン・広告・EC画像生成での応用例が紹介されています。(note(ノート))
4) リアルタイム情報の視覚化連携
- Google検索等の外部情報と連携し、株価・天気・地図情報など最新データを反映した画像生成が可能という記述があり、実用的な「情報可視化」用途が広がっています。(note(ノート))
5) 解像度・編集機能・出力品質
- ネイティブで**2K(2048px)をサポート、アップスケールで4K(4096px)**まで対応。さらに画像の選択・変形・ライティング調整や角度変更など詳細編集がテキスト指示で行えるとされています。(note(ノート))
6) 利用コストと提供形態(概算)
- 従来モデル(Nano Banana)に比べて Pro は単価が上がる(記事内の目安では API で約20〜36円/枚程度の想定)ものの、生成精度向上により再試行回数が減るため総コストや時間効率は改善するとの評価があります。提供先として Gemini アプリ(Thinking モード)、Google AI Studio、Vertex AI、Photoshop 統合などが挙げられています。(note(ノート))
7) 合成画像の識別(安全措置)
- 出力画像には識別用のメタ(例:SynthID 相当の電子透かし)が埋め込まれる旨の記載が複数記事にあります(生成物のトレーサビリティ対策)。(note(ノート))
クリエイティブ領域(漫画・アニメ)への影響(要点)
- 漫画制作の民主化:コマ割りの安定化、キャラ一貫性の維持、効果音(オノマトペ)挿入の自然さが向上し、再生成(ガチャ)回数が激減した実例が報告されています。(note(ノート))
- 空間認識の改善:左右や遠近指示、背景との整合性が改善され、アニメ制作等での空間破綻が減ったという観察。(note(ノート))
記事別 — 出典一覧
| 記事No. | 著者 | タイトル(概要) | URL |
| 記事 1 | npaka | Nano Banana Pro の概要 — Gemini 3 ベースの推論、リアルタイム連携、14枚統合、テキストレンダリング、2K/4K 対応を解説。 | (note(ノート)) |
| 記事 2 | イケハヤ(ihayato) | 【速報】革命AI「Nano Banana Pro」 — 日本語文字入れの精度向上、漫画・チラシ制作の革新、空間認識能力改善を強調。 | (note(ノート)) |
| 記事 3 | やすだ.dev(yasuda_forceai) | 14枚の画像を統合できる! — 5つの革新機能(日本語、画像統合、高解像度、リアルタイム、推論)とビジネス活用例を詳説。 | (note(ノート)) |
| 記事 4 | けいすけ(けいすけ / konho) | AIマンガ家目線で解説 — 漫画制作での実用性(日本語フォント保持、アスペクト比安定、キャラ分離)とコスト対効果。 | (note(ノート)) |
【Claude Code Router】Raspberry PiでClaude CodeをOpenRouterのAPIで使う
作成日時2025-07-16 18:20
TagAI, Raspberry Pi
今回はClaude CodeでOpenRouter APIを使い、自分の好きなAIモデルを利用する方法。
ClaudeのMaxプランに入らず、かと言ってClaudeのAPIを使うわけでもなく、Claude Codeを使ったVibe Codingを格安で楽しめるかも。
そのために、オープンソース(MITライセンス)のClaude Code Routerを使います。
Claude Code Routerって何?
Claude Code Routerは、Anthropicが開発したエージェントコーディング用のコマンドラインツールであるClaude Codeの拡張機能です。
ユーザーは様々なAIモデルにリクエストを送信できるため、選択の柔軟性が向上します。
インストール
大前提としてNode.jsとnpmがインストールされていること
まずClaude Code自体をインストールする
bash
sudo npm install -g @anthropic-ai/claude-code
次にClaude Code Routerをインストール
bash
sudo npm install -g @musistudio/claude-code-router
設定
以下のように設定する(例: OpenRouter/Google/Gemini 2.5 Flashの場合)
bash
sudo nano /root/.claude-code-router/config.json
json
{
"Providers": [
{
"name": "openrouter",
"api_base_url": "https://openrouter.ai/api/v1/chat/completions",
"api_key": "ここにOpenRouter APIキー",
"models": [
"google/gemini-2.5-flash"
]
}
],
"Router": {
"default": "openrouter,google/gemini-2.5-flash",
"background": "openrouter,google/gemini-2.5-flash",
"think": "openrouter,google/gemini-2.5-flash",
"longContext": "openrouter,google/gemini-2.5-flash"
}
}
起動
アップデート
bash
sudo npm update -g @anthropic-ai/claude-code
sudo npm update -g @musistudio/claude-code-router
アンインストール
bash
sudo rm /root/.claude-code-router/config.json
sudo npm uninstall -g @anthropic-ai/claude-code
sudo npm uninstall -g @musistudio/claude-code-router
参考
作成日時2025-07-03 22:33
TagAI
実行テスト。
YouTube動画の字幕を取得して、AIにまとめさせるコードの例。
Pythonです。必要なライブラリは事前にインストールしてください。
OpenAIのAPIを使います。APIキーを取得してください。
bash
pip install -U openai youtube-transcript-api
python
import re
from openai import OpenAI
from youtube_transcript_api import YouTubeTranscriptApi
OPENAI_API_KEY = "Your OpenAI API Key Here"
OPENAI_MODEL = "gpt-4.1-mini"
def extract_video_id(url):
import re
match = re.search(r'(?:v=|\/)([0-9A-Za-z_-]{11}).*', url)
if match:
return match.group(1)
return None
def get_transcript(video_id):
try:
transcript_list = YouTubeTranscriptApi.list_transcripts(video_id)
auto_transcript = None
for transcript in transcript_list:
if transcript.is_generated:
auto_transcript = transcript
break
if auto_transcript:
lang_code = auto_transcript.language_code
print(f"自動生成字幕の言語コード: {lang_code}")
return YouTubeTranscriptApi.get_transcript(video_id, languages=[lang_code])
else:
print("自動生成字幕が見つかりませんでした")
return None
except Exception as e:
print(f"エラーが発生しました: {str(e)}")
return None
def fetch_YT(youtube_url):
try:
pattern = r"(?:https?://)?(?:www\.|m\.)?(?:youtube\.com|youtu\.be)/.*"
if re.match(pattern, youtube_url):
video_id = extract_video_id(youtube_url)
print(f"Video ID: {video_id}")
content = get_transcript(video_id)
if content:
print("字幕を取得しました")
return content
else:
return None
else:
return None
except Exception as e:
print(f"エラーが発生しました: {str(e)}")
return None
def post_AI(transcript):
client = OpenAI(api_key=OPENAI_API_KEY)
try:
response = client.chat.completions.create(
model=OPENAI_MODEL,
messages=[
{
"role": "user",
"content": f"以下はYouTube動画の音声の文字起こし文です。言葉としておかしい箇所は前後で判断してください。この内容をまとめて、日本語で、markdown形式で出力してください。\n\n---\n{transcript}\n---"
}
],
temperature=0.3
)
summary = response.choices[0].message.content
print(summary)
except Exception as e:
print(f"エラーが発生しました: {str(e)}")
def main():
while True:
try:
print("\nYouTubeのURLを入力してください:")
input_url = input("URL >> ").strip()
if not input_url:
continue
transcript = fetch_YT(input_url)
if transcript:
print("AI処理中..\n")
post_AI(transcript)
else:
print("失敗しました")
except Exception as e:
print(f"エラーが発生しました: {str(e)}")
if __name__ == "__main__":
main()