# Dockerで動かすセルフホスト音声合成API

更新日 2026-10-22

自分のサーバー上の音声合成APIは、HTTPリクエストを送れるあらゆるプログラムのためにテキストを音声に変えます。Webサイト、ボット、ゲームのバックエンド、どの言語のスクリプトでも使えます。テキストはマシンの外に出ず、文字数に応じた料金もかかりません。

このガイドでは、オープンモデルSupertonic 3をベースにしたSuperClonicaエンジンをDockerでHTTPサーバーとして動かす方法を紹介します。CPUまたはNVIDIA GPUでの起動、内蔵音声とカスタム音声でのリクエスト、実運用への準備まで扱います。イメージとエンジンは当社の製品なので、該当する箇所ではそう明記します。

## 音声合成を自分で動かす理由

クラウドの音声APIは手軽に始められますが、リクエストのたびにテキストが提供元に送られ、文字数で課金されます。セルフホストAPIなら、それを自分で管理するサーバーに置き換えられます。

- プライバシー：テキストと音声は自分のハードウェアにとどまります。社内文書、メッセージ、ユーザーデータでは特に重要です。
- コスト：ハードウェアの費用を除けば音声は無料です。長文や大量処理でも請求額は増えません。
- どんなクライアントでも：1つのHTTPエンドポイントでPython、JavaScript、Go、PHP、C#、シェルスクリプトに対応できます。
- オフライン：モデルを一度ダウンロードすれば、サーバーはインターネット接続を必要としません。

## サーバーを起動する

どのCPUでも：docker run -d --name tts -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu。NVIDIA GPUでは、NVIDIA Container Toolkitをインストールしてから docker run -d --name tts --gpus all -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cuda を実行します。CUDAとcuDNNはイメージに含まれ、ホストに必要なのはドライバーだけです。

初回起動時にSupertonic 3モデル（約385 MB）がsuperclonica-modelsボリュームにダウンロードされ、次回以降は再利用されます。GET http://localhost:8000/health が状態、バージョン、使用中のデバイスを返せば準備完了です。イメージには独自のヘルスチェックがあるため、docker psで準備ができたかを確認できます。

## リクエストを送る

POST /synthesize はJSONを受け取り、16ビット・モノラルのWAVファイルを返します：curl -X POST http://localhost:8000/synthesize -H "Content-Type: application/json" -d '{"text": "自分のサーバーからこんにちは。", "voice": "F1", "lang": "ja"}' -o hello.wav。ヘッダーのX-Sample-RateとX-Duration-Secondsが音声の情報を示します。

フィールドはtext、voice、lang、seed、normalizeです。voiceはM1〜M5とF1〜F5の10種類の内蔵音声のいずれか、またはカスタム音声です。langはテキストの言語で、モデルが対応する31言語のいずれかです（中国語は含まれません）。seedを固定すると同じテキストから同じ音声が得られ、normalizeは音量をそろえます。GET /voices は内蔵音声と言語の一覧を返し、/docs では対話型のAPIドキュメントを表示できます。

## カスタム音声を使う

Supertonic 3の音声は約0.3 MBのJSONファイルです。音声サンプル付きの無料音声はGitHubのsuperclonica/supertonic-voicesリポジトリにあり、SuperClonicaのカタログには170以上の音声があり、どれも無料のオンラインデモ付きです。

音声はJSONオブジェクトそのものとしてリクエストのvoiceフィールドに入れるため、サーバーは音声ファイルを保持しません。オブジェクトが大きいので、リクエストはファイルに組み立てて curl -d @request.json で送るか、コードからPythonのjson.loadやJavaScriptのJSON.parseで音声を読み込み、テキストと一緒に送信してください。リクエスト本文は最大2 MBです。

## 設定

サーバーは環境変数から設定を読み込みます。docker runの-eやComposeファイルで指定してください。

- SUPERCLONICA_API_KEY：設定すると、/synthesize と /voices には Authorization: Bearer とキーのヘッダーが必要になります。
- SUPERCLONICA_LANES：モデルのコピー数、1〜8（既定は1）。それぞれが一度に1件のリクエストを処理し、個別にメモリを使います。
- SUPERCLONICA_DEVICE：auto、cuda、cpu（既定はauto：GPUがあればGPU）。
- SUPERCLONICA_THREADS：CPUスレッド数（既定は物理コアごとに1つ）。
- SUPERCLONICA_MAX_TEXT：テキストの最大文字数（既定は5000）。

## 本番運用の前に

いくつかの習慣で、セルフホストの音声APIを速く安全に保てます。

- /models ボリュームを残して再起動時にモデルを再ダウンロードしないようにし、コンテナは --restart unless-stopped で起動します。
- ポート8000をそのままインターネットに公開しないでください。APIキーを設定し、HTTPS付きのリバースプロキシの背後に置くか、プライベートネットワーク内で使います。
- 進捗表示やストリーミングが必要なら、長文は自分で段落に分けて送ります。エンジン自体も長文を最大160文字の自然な区切りで読み上げます。
- UIのフレーズなど繰り返すテキストの音声はキャッシュしましょう。同じテキスト、音声、seedからは常に同じファイルができます。
- 自分のハードウェアで計測してください。当社のテストでは、短いフレーズがRTX 5070 Tiで0.12秒、Ryzen 7 5800Xの4スレッドで0.43秒でした。

## ライセンス

SuperClonicaエンジンとイメージはApache License 2.0で公開されています。Supertonic 3モデルはOpenRAIL-Mで公開されています。これは非商用条項ではなく禁止用途のリストを持つ、ロイヤリティフリーのライセンスです。同意なく他人になりすます、だます、嫌がらせをする目的で音声を使わず、必要な場面では機械生成の音声であることを明示してください。

## ほかのガイド

- [自分のPCでテキストをオフライン読み上げする方法](https://superclonica.com/ja/guides/offline-text-to-speech)
- [ボイスクローン：録音の声に近い音声を手に入れる方法](https://superclonica.com/ja/guides/voice-cloning)
- [2026年、ローカルで使える無料の音声合成モデル](https://superclonica.com/ja/guides/best-free-tts-models)
- [動画、オーディオブック、ゲーム、アプリのテキスト読み上げ](https://superclonica.com/ja/guides/text-to-speech-for-videos)
- [Supertonic 3 の音声：カスタム音声の入手先と使い方](https://superclonica.com/ja/guides/supertonic-3-voices)
- [Pythonで音声合成：オフライン・無料・自然な声で](https://superclonica.com/ja/guides/python-text-to-speech)

## 音声合成と比較

- [自分のPCで動く音声合成・テキスト読み上げ](https://superclonica.com/ja/text-to-speech)
- [Supertonic と SuperClonica：同じモデルで、より速く、よりクリーンに](https://superclonica.com/ja/compare/supertonic)
- [Fish Audio・Fish SpeechとSuperClonicaの比較](https://superclonica.com/ja/compare/fish-audio)
- [OmniVoiceとSuperClonica：言語の多さか、速度か](https://superclonica.com/ja/compare/omnivoice)
- [ローカル音声合成ならQwen3-TTSかSuperClonicaか](https://superclonica.com/ja/compare/qwen3-tts)
- [VoxCPM 2とSuperClonica：スタジオ品質か、CPUでの速度か](https://superclonica.com/ja/compare/voxcpm)
- [F5-TTSとSuperClonica：ゼロショットのクローンか、CPUでの高速読み上げか](https://superclonica.com/ja/compare/f5-tts)
- [オフラインで使えるElevenLabsの代替](https://superclonica.com/ja/compare/elevenlabs)
- [Kokoro TTSとSuperClonica：ローカル音声合成の小型モデル2つ](https://superclonica.com/ja/compare/kokoro)
- [Piper TTSとSuperClonica：小型デバイスか、オリジナル音声か](https://superclonica.com/ja/compare/piper)
- [Coqui XTTS-v2とSuperClonica：Coqui TTSの代替として](https://superclonica.com/ja/compare/xtts)
- [Chatterbox TTSとSuperClonica：即時クローンか、学習済みの音声ファイルか](https://superclonica.com/ja/compare/chatterbox)

## よくある質問

### このAPIはOpenAIの音声エンドポイントと互換性がありますか？

いいえ。独自のシンプルなJSON形式で、text、voice、langといくつかのオプションを送るとWAVファイルが返ります。コードやプロキシに小さなアダプターを置けば、他の形式から変換できます。

### GPUは必要ですか？

いいえ。cpuイメージは一般的なプロセッサーで動き、短いフレーズなら1秒を大きく下回ります。cudaイメージとNVIDIA GPUの組み合わせは数倍速く、大量処理に向いています。

### 同時にいくつのリクエストを処理できますか？

リクエストはモデルのコピーであるレーンで処理され、レーンが1つなら順番待ちになります。SUPERCLONICA_LANES（最大8）を設定すると複数を同時に処理できます。CPUではレーンがコアを分け合い、GPUではより有効に活用されます。

### インターネットなしで動きますか？

はい、初回起動後は動きます。モデルは /models ボリュームに保存され、その後サーバーは接続を必要としません。インターネットが必要なのはイメージとモデルのダウンロード時だけです。

- [APIで使う音声を見る](https://superclonica.com/ja/explore)
- [エンジンのその他のインストール方法](https://superclonica.com/ja/superclonica)

## 出典

- [SuperClonicaのDockerイメージ（Docker Hub）](https://hub.docker.com/r/superclonica/superclonica)
- [NVIDIA Container Toolkitのインストール](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)
- [SuperClonicaエンジン（PyPI）](https://pypi.org/project/superclonica-cpu/)
- [Supertonic 3モデルカード（Hugging Face）](https://huggingface.co/supertone-oss-archive/supertonic-3)
- [Supertonic 3の無料音声（GitHub）](https://github.com/superclonica/supertonic-voices)
- [SuperClonica](https://superclonica.com/ja/)
- [テキスト読み上げ用AI音声カタログ](https://superclonica.com/ja/explore)
- [Supertonic 3 カスタム音声の依頼](https://superclonica.com/ja/requests)
- [仕組み：音声、ローカル合成、学習](https://superclonica.com/ja/guide)
- [高速な Supertonic 3 エンジンのインストール](https://superclonica.com/ja/superclonica)
- [私たちについて：音声合成が好きなチーム](https://superclonica.com/ja/about)
- [お問い合わせ・サポート・音声の通報](https://superclonica.com/ja/contacts)
- [プライバシーポリシー](https://superclonica.com/ja/privacy)
- [利用規約](https://superclonica.com/ja/terms)
- [音声合成](https://superclonica.com/ja/text-to-speech)
