Gemini 3.1 Flash Tts
統合
モデルID
gemini-3.1-flash-tts
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/gemini-3.1-flash-tts?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Hello from Doitong. This is a short test sentence."
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/gemini-3.1-flash-tts?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Hello from Doitong. This is a short test sentence."
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Hello from Doitong. This is a short test sentence.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/gemini-3.1-flash-tts", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/ja/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "gemini-3.1-flash-tts",
"input": {
"prompt": "Hello from Doitong. This is a short test sentence."
}
}
Doitong APIを通じてGemini 3.1 Flash Ttsモデル(gemini-3.1-flash-tts)を呼び出します。エージェント向けドキュメント: https://doitong.com/ja/developers/models/gemini-3.1-flash-tts.md
POST https://api.doitong.ru/v1/run/gemini-3.1-flash-tts?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "Hello from Doitong. This is a short test sentence."
}
レスポンスのステータスが"queued"または"running"の場合、"succeeded"になるまでGET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20をポーリングしてください。ファイルはoutputs[].urlにあります。同じボディでPOST https://api.doitong.ru/v1/quote/gemini-3.1-flash-ttsを実行すると、実行前の正確な価格が返されます。
このリクエスト: $0.003 3 APIクレジット · ≈ ₽0.31 このページで実行
新しいAPIキーです。 これは今だけ表示され、コードと下記のAPIキー欄にすでに入力されています。秘密にしてください。ブラウザで実行されるコードに決して含めないでください。
リクエストを作成
コントロールはモデルスキーマから生成されます。値を変更するとコードと価格が更新されます。
POST
/run/gemini-3.1-flash-tts?wait=20
見積もり → $0.003
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/gemini-3.1-flash-tts?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Hello from Doitong. This is a short test sentence."
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/gemini-3.1-flash-tts?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Hello from Doitong. This is a short test sentence."
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Hello from Doitong. This is a short test sentence.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/gemini-3.1-flash-tts", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "gemini-3.1-flash-tts",
"input": {
"prompt": "Hello from Doitong. This is a short test sentence."
},
"wait_seconds": 20
}
}
}
Gemini 3.1 Flash Ttsについて
最大50000文字の`prompt`を音声に変換します。発話はインラインまたは`style_instructions`で制御できます。30種類の音声から選択し、`language_code`を設定するか、マルチスピーカー音声用に`speakers`(2〜10)を使用します。出力はmp3、wav、ogg_opusで、`temperature`は0〜2です。
パラメータ
名前型
デフォルト許可される値
説明
prompt必須
型string
≤ 50,000文字
Gemini 3.1 Flash TTS用の音声合成テキスト。複数話者の場合、各行は'speakers'フィールドのエイリアスで始めます(例:'Alice: Hello!\nBob: Hi!')。[sigh]、[laughing]、[whispering]、[short pause]などの表現豊かな音声タグや、アクセント、感情、ペース、スタイルを指定するインラインの自然言語指示(例:'Say cheerfully: Have a wonderful day!')で細かく制御できます。
style_instructions任意
型string | null
≤ 4,000文字
発話内容とは分離して保持され、表現力、アクセント、速度、トーン、感情を調整するためプロンプトの前に挿入される任意の自然言語指示。例:'Speak warmly and slowly'、'Read this as a dramatic newscast'、'Use a British accent with a cheerful tone'、'Whisper mysteriously'。
voice任意
型enum
デフォルトKore
AchernarAchirdAlgenibAlgiebaAlnilamAoedeAutonoeCallirrhoeCharonDespinaEnceladusErinomeFenrirGacruxIapetusKore
さらに14件
LaomedeiaLedaOrusPulcherrimaPuckRasalgethiSadachbiaSadaltagerSchedarSulafatUmbrielVindemiatrixZephyrZubenelgenubi30種類のプリセットから選ぶ単一話者の音声。speakersを設定するとこの選択は無効になります。人気の女性音声は、力強く明瞭なKore、明るくクリアなZephyr、温かくメロディックなAoedeです。人気の男性音声は、明るく活発なPuck、穏やかでプロフェッショナルなCharonです。
language_code任意
型enum
Arabic (Egypt)Bangla (Bangladesh)Dutch (Netherlands)English (India)English (US)French (France)German (Germany)Hindi (India)Indonesian (Indonesia)Italian (Italy)Japanese (Japan)Korean (South Korea)Marathi (India)Polish (Poland)Portuguese (Brazil)Romanian (Romania)
さらに71件
Russian (Russia)Spanish (Spain)Tamil (India)Telugu (India)Thai (Thailand)Turkish (Turkey)Ukrainian (Ukraine)Vietnamese (Vietnam)Afrikaans (South Africa)Albanian (Albania)Amharic (Ethiopia)Arabic (World)Armenian (Armenia)Azerbaijani (Azerbaijan)Basque (Spain)Belarusian (Belarus)Bulgarian (Bulgaria)Burmese (Myanmar)Catalan (Spain)Cebuano (Philippines)Chinese Mandarin (China)Chinese Mandarin (Taiwan)Croatian (Croatia)Czech (Czech Republic)Danish (Denmark)English (Australia)English (UK)Estonian (Estonia)Filipino (Philippines)Finnish (Finland)French (Canada)Galician (Spain)Georgian (Georgia)Greek (Greece)Gujarati (India)Haitian Creole (Haiti)Hebrew (Israel)Hungarian (Hungary)Icelandic (Iceland)Javanese (Java)Kannada (India)Konkani (India)Lao (Laos)Latin (Vatican City)Latvian (Latvia)Lithuanian (Lithuania)Luxembourgish (Luxembourg)Macedonian (North Macedonia)Maithili (India)Malagasy (Madagascar)Malay (Malaysia)Malayalam (India)Mongolian (Mongolia)Nepali (Nepal)Norwegian Bokmal (Norway)Norwegian Nynorsk (Norway)Odia (India)Pashto (Afghanistan)Persian (Iran)Portuguese (Portugal)Punjabi (India)Serbian (Serbia)Sindhi (India)Sinhala (Sri Lanka)Slovak (Slovakia)Slovenian (Slovenia)Spanish (Latin America)Spanish (Mexico)Swahili (Kenya)Swedish (Sweden)Urdu (Pakistan)多言語合成の言語上書き。言語を指定しない場合はテキストから自動検出され、指定するとモデルの発話言語を誘導します。
speakers任意
型object[]
複数話者がテキストの別々の部分を読むための音声設定。各話者に、対応するプロンプト接頭辞と一致するspeaker_idエイリアスと音声を割り当てます。
temperature任意
型number
デフォルト1
0 – 2
発話のランダム性設定。低い設定では集中した予測可能な発話、高い設定では創造的で変化に富んだ発話になります。
output_format任意
型enum
デフォルトmp3
wavmp3ogg_opus
出力音声の形式。mp3は圧縮されたコンパクトなファイルで推奨されます。wavは24 kHz、16ビット、モノラル音声をWAVコンテナに格納した非圧縮PCMです。ogg_opusはOgg内でOpusを使用し、品質とサイズのバランスに優れています。
必須
出力
GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "gemini-3.1-flash-tts",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 3,
"usd": "0.003",
"charged": 3,
"refunded": 0
},
"input": {
"prompt": "Hello from Doitong. This is a short test sentence."
},
"output": {
"audio": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_name": "0-output.mp3",
"file_size": 1843200
}
},
"outputs": [
{
"type": "audio",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_size": 1843200,
"duration": 12,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
ファイルの保存期間を選択すべてのoutputs[].urlはストレージ上のコピーです。アカウント設定または?storage=により、永久保存(GB・月単位で有料)または無料で7日保存できます。
すべてのモデルで同じ形式画像、動画、音声のいずれでも、type、url、content_type、width、height、durationが含まれます。outputはモデル独自の結果オブジェクトです。
出力フィールド
- audio
- object {url, content_type, file_name, file_size}生成された音声ファイル。
その他のモデル: テキスト読み上げ
AIエージェント向け:このページのMarkdown版はこちらです: https://doitong.com/ja/developers/models/gemini-3.1-flash-tts.md. すべてのモデルとガイド: https://doitong.com/developers/llms.txt