TTS APIベースURL:何で、何を入力するか
ベースURLは、すべてのエンドポイントアドレスの共通の前半部分です。このページでは、このサービス(テキストLLM APIであり音声エンドポイントではない)に何を入力するか、一般的なツールでの設定方法について説明します。
更新

主要ポイント
- このAPIのベースURLはhttps://api.ttsapihub.com/v1;です。/chat/completionsなどのパスは、その後に追加されます。
- サイト名とは裏腹に、このエンドポイントはテキストのみを生成します。音声や音声エンドポイントはありません。
- ほとんどのOpenAI互換ツールには、ベースURL、APIキー、モデルIDのuncensoredの3つの値のみが必要です。
- 一般的な間違いは、/v1の二重化と、ベースURLフィールドに完全な/chat/completionsパスを貼り付けることです。
ベースURL、そしてまず知っておくべきこと
tts api base urlで検索してここに来た場合は、コピーする前に1つの詳細を確認してください:このサイトの背後にあるサービスは音声合成器ではなく、テキスト言語モデルAPIです。ベースURLはhttps://api.ttsapihub.com/v1で、POST /v1/chat/completionsとGET /v1/modelsを公開しています。/audio/speechルート、音声リスト、音声出力はありません。
これは重要です。多くのツールは設定を汎用的にラベル付けしているからです。クライアントのベースURLフィールドは、背後のサーバーがテキストか音声で応答するかにかかわらず、同じように機能します。テキストを音声に変換したい場合、このエンドポイントではできません。音声ツールが後で読み上げるためのテキスト(スクリプト、会話、ナレーションのドラフトなど)を生成したい場合は、非常に適しています。そのようなワークフローを計画している場合は、サイトのTTSパイプラインのチェックリストを確認してください。また、クイックスタートドキュメントにはすべてのリクエストパラメータがリストされています。
このページの残りの部分は、すべてのOpenAI互換クライアントに適用されるため、ベースURLの動作を学ぶためだけに来た場合でも有用です。
ベースURLとは実際に何か
APIアドレスは2つの部分で構成されます。最初の部分はサービスとそのインターフェースのバージョンを識別します。2番目の部分はアクションの名前です。クライアントライブラリはこれらをあなたのために結合します。OpenAI SDKでは、これらの要素は次のようになります。
| パート | 内容 |
|---|---|
| ベース URL | https://api.ttsapihub.com/v1 |
| SDKによって追加されるチャットのパス | /chat/completions |
| 呼び出される完全なアドレス | https://api.ttsapihub.com/v1/chat/completions |
| モデルリストのパス | /models |
SDKはパスを付加するため、最初の半分だけを指定します。これが、1行の変更でプロバイダを切り替えるという考え方の核心です。リクエスト形式は共通なので、変更が必要なのはリクエストが送信される場所だけです。キーも変わります。各サービスは独自のキーを発行するためです。モデル名も変わります。各サービスは独自のモデルに名前を付けているためです。このAPIの場合、モデルIDはuncensoredです。
時間を節約する小さな詳細が2つあります。バージョンセグメント/v1は、インターフェースの世代を示すためベースURLに属します。将来の非互換インターフェースは異なるバージョンの下にあり、あなたがコードを移動することを選択するまでコードは変更されません。また、ベースURLの末尾のスラッシュはほとんどのSDKで許容されますが、結合されたパスに二重スラッシュが含まれないように、外すのが安全です。
認証は標準的なBearerヘッダーです:Authorization: Bearer YOUR_KEY。SDKは、あなたが渡したキーからこのヘッダーを構築するため、curlを使用する場合を除き、自分で入力することはめったにありません。
コードでのベースURLの設定
Python
公式のopenaiパッケージはbase_url引数を受け取ります。これは完全な動作呼び出しです:
from openai import OpenAI
client = OpenAI(
base_url="https://api.ttsapihub.com/v1",
api_key="YOUR_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Write a two-line scene opening."}],
)
print(resp.choices[0].message.content)Node
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.ttsapihub.com/v1",
apiKey: process.env.API_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Write a two-line scene opening." }],
});
console.log(resp.choices[0].message.content);curl
curlでは、パスが含まれるため、完全なアドレスを自分で記述します。
curl https://api.ttsapihub.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "uncensored", "messages": [{"role": "user", "content": "Say hello."}]}'環境変数
最新の公式 OpenAI SDK は、コードでそれらを渡さない場合、環境変数から OPENAI_BASE_URL と OPENAI_API_KEY を読み取ります。既存のソフトウェアを編集せずに新しいエンドポイントに接続したい場合に便利です。シェルやプロセスマネージャーで設定し、通常どおりプログラムを実行してください。SDK がこれらの変数を認識しない場合は、SDK バージョンのドキュメントを確認してください。
エディターとアプリでの設定
カスタムOpenAIエンドポイントを受け付けるツールは、同じ3つの値を求めます。名前が異なるため、次のような表記を探してください。
- Cursor:モデル設定には OpenAI ベース URL を上書きするオプションがあります。
https://api.ttsapihub.com/v1を貼り付け、API キーを追加し、カスタムモデル名としてuncensoredを追加してください。Cursor のバージョンによってインターフェースのラベルが異なるため、これらは参考として扱ってください。 - SillyTavern: Chat Completionを選択し、カスタム (OpenAI 互換) ソースを選択してから、エンドポイント、キー、モデルを入力します。
- Open WebUIおよび類似のチャットフロントエンド: ベースURLとキーを使用して、OpenAI互換の接続を追加します。
- 独自のスクリプト: インターフェースはHTTPS経由のプレーンJSONであるため、任意のHTTPクライアントが機能します。
一部のツールはGET /v1/modelsを呼び出して接続を確認します。このAPIはそのエンドポイントをサポートしているため、チェックはパスします。一部のツールでは固定リストから選択できるのみです。該当する場合、ドロップダウンではなく、カスタムまたは手動のモデルフィールドを探してください。
ツールの用途を覚えておいてください。Cursorのようなエディターは、コードの質問を汎用チャットモデルに送信しますが、これは機能します。しかし、コード検索用の埋め込みなど、特殊なエンドポイントに依存する機能は、埋め込みが提供されていないため、ここでは利用できません。
ベースURLエラーの大部分を引き起こす間違い
最初の接続の失敗のほとんどは、これらいずれかに由来します。
- バージョンの重複。 ベースURLはすでに
/v1で終わります。もう1つ追加すると、アドレスは/v1/v1/chat/completionsになり、サーバーは「見つかりません」エラーで応答します。 - フルパスの貼り付け。 ベースURLフィールドには
https://api.ttsapihub.com/v1が必要であり、https://api.ttsapihub.com/v1/chat/completionsではありません。SDKはパスを2回目に付加します。 - Webサイトのアドレスの使用。あなたが読んでいるサイトはAPIホストではありません。リクエストは上記の
api.ホストに送信されます。 - 音声ルートの呼び出し。
/audio/speechなどのパスは存在せず、エラーを返します。 - 間違ったまたは欠落したモデル名。常に小文字の
uncensoredを送信します。 - キーの問題。 手書きのヘッダーに余分なスペースが含まれているか、
Bearerプレフィックスが欠落していると、認証エラーが発生します。
URLの問題とキーの問題を区別するには、モデルリストをリクエストします。正しいURLと間違ったキーは認証エラーを返します。間違ったURLは「見つかりません」、DNSエラー、またはJSONではなくHTMLページを返します。
curl https://api.ttsapihub.com/v1/models -H "Authorization: Bearer $API_KEY"
# then a minimal chat call with the model ID "uncensored":
curl https://api.ttsapihub.com/v1/chat/completions -H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}],"max_tokens":5}'キーの取得とコスト
これらを利用するにはAPIキーが必要です。APIキーページでGoogleまたはメールアドレスとパスワードでサインアップし、ワンクリックで$0.50のトライアルクレジットを受け取ってください。有効期限は7日で、1人1回限りの受け取りでカード登録は不要です。トライアルキーは同時2リクエスト、1分間60リクエストまで利用可能ですが、フルキーでは同時8リクエスト、1分間300リクエストまで利用可能です。
料金は入力トークン100万トークンあたり$0.15、出力トークン100万トークンあたり$0.50で、サブスクリプションなしで前払いクレジットから課金されます。入力トークン2,000と出力トークン500のリクエストの場合、料金は$0.0003と$0.00025を合計した$0.00055です。チャージは$20〜$500で、$50以上のチャージにはボーナスが付きます。カード(Visa、Mastercard、Apple Pay、Google Pay)または暗号資産(TRC20上のUSDT、Base上のUSDC)でお支払いいただけます。料金ページに完全な料金表があります。プロンプトはトレーニングに使用されず、モデルは未成年者を含む性的なコンテンツを含まない合法的な成人向けにのみ使用されます。
その他のガイド
質問と回答
このAPIのベースURLは何ですか?
これはhttps://api.ttsapihub.com/v1です。その後に/chat/completionsのようなパスを追加するか、SDKに追加させます。
このエンドポイントでテキストから音声への変換は利用できますか?
いいえ。音声、画像、動画の生成は行われず、テキストのみを返します。別のツールで音声に変換するためのテキストを生成するために使用できます。
SDKでベースURLに/chat/completionsを追加する必要がありますか?
いいえ。SDKはパスを自動的に付加します。curlなどの生HTTPクライアントのみが完全なアドレスを必要とします。
どのモデル名を送信すべきですか?
uncensoredを送信してください。GET /v1/modelsでサーバーがリストする内容を確認できます。
URLを設定した後、ツールで「見つかりません」と表示されるのはなぜですか?
最も一般的な原因は、/v1が重複している、フルパスが貼り付けられている、またはapi.hostの代わりにウェブサイトアドレスが使用されていることです。