{
  "aboutHtml": "<p>A Google Gemini 3.1 Flash TTS Preview a Gemini 3.1 Flash Audio család szövegfelolvasó kiadása. Szöveget fogad, és prompttal irányított kifejezésmódú beszédhangot állít elő. A Google ezt a generációt a beszéd természetessége, vezérelhetősége és többnyelvű teljesítménye terén előrelépésként írja le, natív többbeszélős párbeszéddel és több mint 70 nyelvvel. Gyakorlati felhasználás egy rövid narrált lecke, karakterek közötti párbeszéd vagy olyan elmondott szövegrész, amelynél az előadásmód legalább annyira fontos, mint a megfogalmazás.</p><p>Készítsen elő végleges forgatókönyvet és előadásmódra vonatkozó feladatleírást. Ez a generáció a szöveges bemeneten belüli természetes nyelvű utasításokkal irányítja a hang stílusát, tempóját és előadását. A Google kiadása jelenetrendezési utasítást vezet be a helyzet meghatározására, beszélői Audio Profiles leírásokat a karakterek kialakítására és Director’s Notes utasításokat a tempó, hangszín és akcentus irányítására. A prompt előkészítésekor e részek legyenek azonosíthatók, hogy a kívánt szavak és az előadási utasítások egymástól függetlenül ellenőrizhetők legyenek. Egy tömör feladatleírás könnyebben módosítható, mint ugyanannak a hangnak több versengő leírása.</p><p>Például egy önálló próbafeladat leírhat nyugodt narrátort, aki kimért beszédmóddal magyaráz egy múzeumi kiállítási tárgyat, az utolsó mondatban melegebb hangszínnel. A kísérő forgatókönyv tartalmazza a kiállítási tárgy tényleges neveit és a pontosan megszólaltatandó szöveget. Párbeszédhez adjon a karaktereknek eltérő profilokat és egyértelmű megszólalási sorrendet. A jelenet kontextusával magyarázza el, hogy az egyik beszélő megnyugtatja-e a másikat, valódi kérdést tesz-e fel vagy visszafogott meglepetéssel reagál-e. Az értékelendő generált eredmény e forgatókönyv hallható előadása.</p><p>A beágyazott hangcímkék helyi vezérlést adnak a szövegen belül, lehetővé téve, hogy a beszélő kifejezésmódja egy mondaton belül változzon, ne teljes egészében a kezdő utasításra támaszkodjon. A Google a címkéket a hangstílus, tempó és előadásmód vezérlőiként írja le. Ott használja őket, ahol az előadásnak meghatározott váltásra van szüksége, a szöveg többi része pedig maradjon természetesen kimondható. E kiadásban a hasznos különbség a magas szintű karakter- vagy jelenetleírás és a helyi előadásmód-váltás között van. Egy rövid, semleges szövegrész meghatározhatja az alaphangot, mielőtt a forgatókönyv több érzelmi utasítást ad hozzá.</p><p>Többnyelvű munkához a végleges nyelvű forgatókönyvet adja meg, és a feladatleírásban határozza meg a kívánt akcentust és beszédstílust. A Google bejelentése több mint 70 nyelv támogatását dokumentálja. Gyakorlati szerkesztői előkészítésként a visszatérő neveknek adjon egységes írásmódot, bontsa ki a kétértelmű rövidítéseket, ha egyetlen olvasat szükséges, és ellenőrizze a számokat a beszédben. Egy nyelvi címke önmagában nem dönti el, hogyan hangozzon egy márkanév vagy kölcsönszó. Hosszú narráció elfogadása előtt vesse össze az ilyen kifejezéseket tartalmazó részeket a kívánt olvasattal.</p><p>A konkrét Gemini API-modelloldal ehhez az előzetes modellhez 8 192 tokenes bemeneti és 16 384 tokenes kimeneti korlátot sorol fel. A DeepMind natív TTS-modellkártyája külön legfeljebb 16K tokenes szövegbemenetet és 32K tokenes hangkimenetet ad meg; ezek a modellkártyaértékek különböznek a Gemini API-kiszolgálási korlátoktól. A forgatókönyv mellett az előadási utasításokat is az előkészített bemenet részeként számolja. A kimeneti keret hangtokenekben van megadva, ezért nem garantál meghatározott felvételi időtartamot. Hosszú leckét vagy történetet rendezzen összefüggő szakaszokba, őrizze meg ugyanazt a karakterleírást, és hallgassa meg az illesztéseket. Megírt párbeszédnél a kimondott szavakon és érzelmi előadáson túl a beszélő-hozzárendelést és a megszólalási sorrendet is ellenőrizze.</p><p>A Google migrációs dokumentációja a 3.1 alapértelmezett kimenetét fejléc nélküli nyers PCM-ként azonosítja audio/l16 típussal. Szerkeszthető felvétel előkészítésekor a hangbájtokhoz megfelelő lejátszási vagy konténerinformáció kell; önmagában a WAV-fájlnév hozzáadása nem hoz létre WAV-fejlécet. Importálás előtt ellenőrizze a ténylegesen visszakapott formátumot. A Google azt is állítja, hogy a Gemini 3.1 Flash TTS által generált hang észrevehetetlen SynthID-vízjelet hordoz. A vízjel a generált hang azonosítására szolgál, és nem helyettesíti az átiratot, a beszélőcímkéket vagy a visszahallgatásos ellenőrzést.</p><p>A 3.1 előkészítési stílusa lényegesen eltér a 3.8-étól. A Gemini 3.8 a tartós utasításokat és beszélőazonosságot strukturált beszédmetaadatokba helyezi, csúcsos zárójelű, adott pontra vonatkozó eseménycímkéket használ, és a befejezett kérések alapértelmezését WAV-ra változtatja. A 3.1 promptot 3.1 promptként őrizze meg, ne keverje bele az újabb kérési szerkezetet. A Google támogatott modelleket felsoroló táblázata a 3.1-hez egy- és többbeszélős szintézist sorol fel, míg az egyedileg megtervezett hangok és hangmásolás vezérlői a 3.8 bejegyzéseihez tartoznak. A külön Flash Live kiadás interaktív hangbemenetet kezel; ez a TTS kiadás előkészített szöveg–hang előállításra szolgál.</p><p>Ellenőrizze a felvételt az írott forgatókönyv alapján kihagyott vagy ismételt szavakra, nevekre, megszólalási időzítésre és a kívánt érzelmi változásokra. Ha egy mondat más hangsúlyt igényel, módosítsa a helyi utasítást, és vizsgálja meg az érintett átmenetet. Ez a munkafolyamat teszi hasznossá az előadásleírást: rögzíti, minek kell állandónak maradnia a beszélőnél és minek kell változnia az adott részben, miközben a forgatókönyv megőrzi a közönség által hallandó tartalmat.</p>",
  "aboutText": "A Google Gemini 3.1 Flash TTS Preview a Gemini 3.1 Flash Audio család szövegfelolvasó kiadása. Szöveget fogad, és prompttal irányított kifejezésmódú beszédhangot állít elő. A Google ezt a generációt a beszéd természetessége, vezérelhetősége és többnyelvű teljesítménye terén előrelépésként írja le, natív többbeszélős párbeszéddel és több mint 70 nyelvvel. Gyakorlati felhasználás egy rövid narrált lecke, karakterek közötti párbeszéd vagy olyan elmondott szövegrész, amelynél az előadásmód legalább annyira fontos, mint a megfogalmazás.\n\nKészítsen elő végleges forgatókönyvet és előadásmódra vonatkozó feladatleírást. Ez a generáció a szöveges bemeneten belüli természetes nyelvű utasításokkal irányítja a hang stílusát, tempóját és előadását. A Google kiadása jelenetrendezési utasítást vezet be a helyzet meghatározására, beszélői Audio Profiles leírásokat a karakterek kialakítására és Director’s Notes utasításokat a tempó, hangszín és akcentus irányítására. A prompt előkészítésekor e részek legyenek azonosíthatók, hogy a kívánt szavak és az előadási utasítások egymástól függetlenül ellenőrizhetők legyenek. Egy tömör feladatleírás könnyebben módosítható, mint ugyanannak a hangnak több versengő leírása.\n\nPéldául egy önálló próbafeladat leírhat nyugodt narrátort, aki kimért beszédmóddal magyaráz egy múzeumi kiállítási tárgyat, az utolsó mondatban melegebb hangszínnel. A kísérő forgatókönyv tartalmazza a kiállítási tárgy tényleges neveit és a pontosan megszólaltatandó szöveget. Párbeszédhez adjon a karaktereknek eltérő profilokat és egyértelmű megszólalási sorrendet. A jelenet kontextusával magyarázza el, hogy az egyik beszélő megnyugtatja-e a másikat, valódi kérdést tesz-e fel vagy visszafogott meglepetéssel reagál-e. Az értékelendő generált eredmény e forgatókönyv hallható előadása.\n\nA beágyazott hangcímkék helyi vezérlést adnak a szövegen belül, lehetővé téve, hogy a beszélő kifejezésmódja egy mondaton belül változzon, ne teljes egészében a kezdő utasításra támaszkodjon. A Google a címkéket a hangstílus, tempó és előadásmód vezérlőiként írja le. Ott használja őket, ahol az előadásnak meghatározott váltásra van szüksége, a szöveg többi része pedig maradjon természetesen kimondható. E kiadásban a hasznos különbség a magas szintű karakter- vagy jelenetleírás és a helyi előadásmód-váltás között van. Egy rövid, semleges szövegrész meghatározhatja az alaphangot, mielőtt a forgatókönyv több érzelmi utasítást ad hozzá.\n\nTöbbnyelvű munkához a végleges nyelvű forgatókönyvet adja meg, és a feladatleírásban határozza meg a kívánt akcentust és beszédstílust. A Google bejelentése több mint 70 nyelv támogatását dokumentálja. Gyakorlati szerkesztői előkészítésként a visszatérő neveknek adjon egységes írásmódot, bontsa ki a kétértelmű rövidítéseket, ha egyetlen olvasat szükséges, és ellenőrizze a számokat a beszédben. Egy nyelvi címke önmagában nem dönti el, hogyan hangozzon egy márkanév vagy kölcsönszó. Hosszú narráció elfogadása előtt vesse össze az ilyen kifejezéseket tartalmazó részeket a kívánt olvasattal.\n\nA konkrét Gemini API-modelloldal ehhez az előzetes modellhez 8 192 tokenes bemeneti és 16 384 tokenes kimeneti korlátot sorol fel. A DeepMind natív TTS-modellkártyája külön legfeljebb 16K tokenes szövegbemenetet és 32K tokenes hangkimenetet ad meg; ezek a modellkártyaértékek különböznek a Gemini API-kiszolgálási korlátoktól. A forgatókönyv mellett az előadási utasításokat is az előkészített bemenet részeként számolja. A kimeneti keret hangtokenekben van megadva, ezért nem garantál meghatározott felvételi időtartamot. Hosszú leckét vagy történetet rendezzen összefüggő szakaszokba, őrizze meg ugyanazt a karakterleírást, és hallgassa meg az illesztéseket. Megírt párbeszédnél a kimondott szavakon és érzelmi előadáson túl a beszélő-hozzárendelést és a megszólalási sorrendet is ellenőrizze.\n\nA Google migrációs dokumentációja a 3.1 alapértelmezett kimenetét fejléc nélküli nyers PCM-ként azonosítja audio/l16 típussal. Szerkeszthető felvétel előkészítésekor a hangbájtokhoz megfelelő lejátszási vagy konténerinformáció kell; önmagában a WAV-fájlnév hozzáadása nem hoz létre WAV-fejlécet. Importálás előtt ellenőrizze a ténylegesen visszakapott formátumot. A Google azt is állítja, hogy a Gemini 3.1 Flash TTS által generált hang észrevehetetlen SynthID-vízjelet hordoz. A vízjel a generált hang azonosítására szolgál, és nem helyettesíti az átiratot, a beszélőcímkéket vagy a visszahallgatásos ellenőrzést.\n\nA 3.1 előkészítési stílusa lényegesen eltér a 3.8-étól. A Gemini 3.8 a tartós utasításokat és beszélőazonosságot strukturált beszédmetaadatokba helyezi, csúcsos zárójelű, adott pontra vonatkozó eseménycímkéket használ, és a befejezett kérések alapértelmezését WAV-ra változtatja. A 3.1 promptot 3.1 promptként őrizze meg, ne keverje bele az újabb kérési szerkezetet. A Google támogatott modelleket felsoroló táblázata a 3.1-hez egy- és többbeszélős szintézist sorol fel, míg az egyedileg megtervezett hangok és hangmásolás vezérlői a 3.8 bejegyzéseihez tartoznak. A külön Flash Live kiadás interaktív hangbemenetet kezel; ez a TTS kiadás előkészített szöveg–hang előállításra szolgál.\n\nEllenőrizze a felvételt az írott forgatókönyv alapján kihagyott vagy ismételt szavakra, nevekre, megszólalási időzítésre és a kívánt érzelmi változásokra. Ha egy mondat más hangsúlyt igényel, módosítsa a helyi utasítást, és vizsgálja meg az érintett átmenetet. Ez a munkafolyamat teszi hasznossá az előadásleírást: rögzíti, minek kell állandónak maradnia a beszélőnél és minek kell változnia az adott részben, miközben a forgatókönyv megőrzi a közönség által hallandó tartalmat.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "27ddb48da33899274bc7216dd0a96dfd43514cf4e2bbf60d181e6b3deef2a974",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "hu",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Gemini 3.1 Flash TTS Preview</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Bezárás\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-3.1-flash-tts-preview</code><button type=\"button\" id=\"copy-id\">ID másolása</button></div><nav class=\"card-jump-nav\" aria-label=\"Modellkártya szakaszai\"><button type=\"button\" data-card-jump=\"overview\">Kezdő lépések</button><button type=\"button\" data-card-jump=\"methods\">Bemenetek és metódusok</button><button type=\"button\" data-card-jump=\"pricing\">Díjcsomagok</button><button type=\"button\" data-card-jump=\"examples\">Példák</button><button type=\"button\" data-card-jump=\"results\">Eredmények</button><button type=\"button\" data-card-jump=\"aliases\">Álnevek</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metódusok\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|speech|/v1/audio/speech|google%2Fgemini-3.1-flash-tts-preview\">Felolvasás</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Kezdő lépések</h3><p class=\"mdesc-full\">A Google Gemini 3.1 Flash TTS Preview írott forgatókönyveket alakít kifejező beszédhanggá. Természetes nyelvű rendezői utasítások, beszélői Audio Profiles, Director’s Notes és beágyazott hangcímkék alakítják a tempót, hangszínt és akcentust. Natív párbeszédet és több mint 70 nyelvet támogat a 3.1 prompt- és hangformátumával.</p><dl class=\"card-io\" data-card-io><div><dt>Elfogadott bemenetek</dt><dd>Szöveg</dd></div><div><dt>Eredmények</dt><dd>Hang</dd></div></dl><details class=\"card-about\"><summary>A modellről</summary><p class=\"note-s\" data-model-method-boundary>Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.</p><div class=\"mabout\" id=\"m-about\"><p>A Google Gemini 3.1 Flash TTS Preview a Gemini 3.1 Flash Audio család szövegfelolvasó kiadása. Szöveget fogad, és prompttal irányított kifejezésmódú beszédhangot állít elő. A Google ezt a generációt a beszéd természetessége, vezérelhetősége és többnyelvű teljesítménye terén előrelépésként írja le, natív többbeszélős párbeszéddel és több mint 70 nyelvvel. Gyakorlati felhasználás egy rövid narrált lecke, karakterek közötti párbeszéd vagy olyan elmondott szövegrész, amelynél az előadásmód legalább annyira fontos, mint a megfogalmazás.</p><p>Készítsen elő végleges forgatókönyvet és előadásmódra vonatkozó feladatleírást. Ez a generáció a szöveges bemeneten belüli természetes nyelvű utasításokkal irányítja a hang stílusát, tempóját és előadását. A Google kiadása jelenetrendezési utasítást vezet be a helyzet meghatározására, beszélői Audio Profiles leírásokat a karakterek kialakítására és Director’s Notes utasításokat a tempó, hangszín és akcentus irányítására. A prompt előkészítésekor e részek legyenek azonosíthatók, hogy a kívánt szavak és az előadási utasítások egymástól függetlenül ellenőrizhetők legyenek. Egy tömör feladatleírás könnyebben módosítható, mint ugyanannak a hangnak több versengő leírása.</p><p>Például egy önálló próbafeladat leírhat nyugodt narrátort, aki kimért beszédmóddal magyaráz egy múzeumi kiállítási tárgyat, az utolsó mondatban melegebb hangszínnel. A kísérő forgatókönyv tartalmazza a kiállítási tárgy tényleges neveit és a pontosan megszólaltatandó szöveget. Párbeszédhez adjon a karaktereknek eltérő profilokat és egyértelmű megszólalási sorrendet. A jelenet kontextusával magyarázza el, hogy az egyik beszélő megnyugtatja-e a másikat, valódi kérdést tesz-e fel vagy visszafogott meglepetéssel reagál-e. Az értékelendő generált eredmény e forgatókönyv hallható előadása.</p><p>A beágyazott hangcímkék helyi vezérlést adnak a szövegen belül, lehetővé téve, hogy a beszélő kifejezésmódja egy mondaton belül változzon, ne teljes egészében a kezdő utasításra támaszkodjon. A Google a címkéket a hangstílus, tempó és előadásmód vezérlőiként írja le. Ott használja őket, ahol az előadásnak meghatározott váltásra van szüksége, a szöveg többi része pedig maradjon természetesen kimondható. E kiadásban a hasznos különbség a magas szintű karakter- vagy jelenetleírás és a helyi előadásmód-váltás között van. Egy rövid, semleges szövegrész meghatározhatja az alaphangot, mielőtt a forgatókönyv több érzelmi utasítást ad hozzá.</p><p>Többnyelvű munkához a végleges nyelvű forgatókönyvet adja meg, és a feladatleírásban határozza meg a kívánt akcentust és beszédstílust. A Google bejelentése több mint 70 nyelv támogatását dokumentálja. Gyakorlati szerkesztői előkészítésként a visszatérő neveknek adjon egységes írásmódot, bontsa ki a kétértelmű rövidítéseket, ha egyetlen olvasat szükséges, és ellenőrizze a számokat a beszédben. Egy nyelvi címke önmagában nem dönti el, hogyan hangozzon egy márkanév vagy kölcsönszó. Hosszú narráció elfogadása előtt vesse össze az ilyen kifejezéseket tartalmazó részeket a kívánt olvasattal.</p><p>A konkrét Gemini API-modelloldal ehhez az előzetes modellhez 8 192 tokenes bemeneti és 16 384 tokenes kimeneti korlátot sorol fel. A DeepMind natív TTS-modellkártyája külön legfeljebb 16K tokenes szövegbemenetet és 32K tokenes hangkimenetet ad meg; ezek a modellkártyaértékek különböznek a Gemini API-kiszolgálási korlátoktól. A forgatókönyv mellett az előadási utasításokat is az előkészített bemenet részeként számolja. A kimeneti keret hangtokenekben van megadva, ezért nem garantál meghatározott felvételi időtartamot. Hosszú leckét vagy történetet rendezzen összefüggő szakaszokba, őrizze meg ugyanazt a karakterleírást, és hallgassa meg az illesztéseket. Megírt párbeszédnél a kimondott szavakon és érzelmi előadáson túl a beszélő-hozzárendelést és a megszólalási sorrendet is ellenőrizze.</p><p>A Google migrációs dokumentációja a 3.1 alapértelmezett kimenetét fejléc nélküli nyers PCM-ként azonosítja audio/l16 típussal. Szerkeszthető felvétel előkészítésekor a hangbájtokhoz megfelelő lejátszási vagy konténerinformáció kell; önmagában a WAV-fájlnév hozzáadása nem hoz létre WAV-fejlécet. Importálás előtt ellenőrizze a ténylegesen visszakapott formátumot. A Google azt is állítja, hogy a Gemini 3.1 Flash TTS által generált hang észrevehetetlen SynthID-vízjelet hordoz. A vízjel a generált hang azonosítására szolgál, és nem helyettesíti az átiratot, a beszélőcímkéket vagy a visszahallgatásos ellenőrzést.</p><p>A 3.1 előkészítési stílusa lényegesen eltér a 3.8-étól. A Gemini 3.8 a tartós utasításokat és beszélőazonosságot strukturált beszédmetaadatokba helyezi, csúcsos zárójelű, adott pontra vonatkozó eseménycímkéket használ, és a befejezett kérések alapértelmezését WAV-ra változtatja. A 3.1 promptot 3.1 promptként őrizze meg, ne keverje bele az újabb kérési szerkezetet. A Google támogatott modelleket felsoroló táblázata a 3.1-hez egy- és többbeszélős szintézist sorol fel, míg az egyedileg megtervezett hangok és hangmásolás vezérlői a 3.8 bejegyzéseihez tartoznak. A külön Flash Live kiadás interaktív hangbemenetet kezel; ez a TTS kiadás előkészített szöveg–hang előállításra szolgál.</p><p>Ellenőrizze a felvételt az írott forgatókönyv alapján kihagyott vagy ismételt szavakra, nevekre, megszólalási időzítésre és a kívánt érzelmi változásokra. Ha egy mondat más hangsúlyt igényel, módosítsa a helyi utasítást, és vizsgálja meg az érintett átmenetet. Ez a munkafolyamat teszi hasznossá az előadásleírást: rögzíti, minek kell állandónak maradnia a beszélőnél és minek kell változnia az adott részben, miközben a forgatókönyv megőrzi a közönség által hallandó tartalmat.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Elérhető az Ailootban · bemenetek és metódusok</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Beszéd</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Bemenet</dt><dd><code>text</code></dd></div><div><dt>Kimenet</dt><dd><code>audio</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Mező</th><th>Típus</th><th>Követelmény</th><th>Értékek és korlátok</th><th>Alapértelmezett</th></tr></thead><tbody><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>google/gemini-3.1-flash-tts-preview</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>Minimális hossz: 1</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">voice</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat</div><div>Minimális hossz: 1</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>mp3, pcm</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"known\"><span class=\"card-cell-label\">Alapértelmezett</span>pcm</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>object</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Metódus paraméterei és életciklusa</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paraméter</th><th>Szerződés</th></tr></thead><tbody><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>content_type</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>application/json</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>required</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>model, input, voice</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>material_types</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>text</td></tr></tbody></table></div><p>Életciklus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · A ténylegesen visszaadott task_id vagy a médiatár bejegyzése</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Díjcsomagok</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.</p><dl data-price-conditions><dt>Gyors mód</dt><dd>Nincs megadva <span class=\"note-s\">Ha a gyors mód van kiválasztva</span></dd><dt>Flex mód</dt><dd>Nincs megadva <span class=\"note-s\">Ha a flex mód van kiválasztva</span></dd><dt>Maximális gondolkodási ráfordítás</dt><dd>Nincs megadva <span class=\"note-s\">Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-díjak</h4><h4>Árak beállításonként</h4><p class=\"note-s\">Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Beállítás</th><th>Díjtáblázat</th><th>Elszámolási egység</th><th>Díj</th></tr></thead><tbody><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>Tokenek alapdíjai</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>Alapdíj</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>—</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet · Bemeneti tokenek</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kimenet · Kimeneti tokenek</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Gyorsítótár olvasása</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba, 1 óra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>bemeneti token</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>—</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>/ 1K token</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet</span> <b>$0.002</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>kimeneti token</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>—</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>/ 1K token</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Kimenet</span> <b>$0.04</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. <a href=\"/docs/hu/billing/reserve/\">A foglalás és az elszámolás működése →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Példakérések</h3><h4>Ailoot Ultra · Beszéd</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kódváltozatok\"><button class=\"cg-tab\" id=\"model-code-1460-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1460-panel-0\" aria-selected=\"true\" tabindex=\"0\">Használd a tényleges bemenetet, és őrizd meg a teljes eredményt</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kód másolása\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1460-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1460-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;google/gemini-3.1-flash-tts-preview&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;Orus&#39;, &#39;response_format&#39;: &#39;pcm&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Eredmények fogadása és mentése</h3><h4>Ailoot Ultra · Beszéd</h4><p class=\"note-s\">Teljes bináris hang vagy eredeti audio_url válasz, fejlécek és minden saját médiaállomány.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>További tartalomlekérések</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kódváltozatok\"><button class=\"cg-tab\" id=\"model-code-1461-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1461-panel-0\" aria-selected=\"true\" tabindex=\"0\">A meglévő, Önhöz tartozó médiafájlok lekérése</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kód másolása\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1461-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1461-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Őrizzen meg minden elkészült eredményt</h5><p class=\"note-s\">Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.</p><p class=\"note-s\">Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Ha az eredeti választ ellenőrizni kell</h5><p class=\"note-s\">Őrizze meg a visszaadott X-Client-Request-ID értéket az egyeztetéshez. Csak a ténylegesen visszaadott task_id/asset_id értékekkel kérdezzen le, vagy használja a saját médiatárat; soha ne állítson össze feladat-URL-t a műveletazonosítóból, és soha ne küldje be újra a létrehozási kérést.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Álnevek</h3><h4>Modell álnevei</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fgemini-3.1-flash-tts-preview&amp;route=Ultra&amp;caller=google%2Fgemini-3.1-flash-tts-preview&amp;fmt=speech\"><code>google/gemini-3.1-flash-tts-preview</code></a></span></p><h4>Metódusútvonalak álnevei</h4><p class=\"note-s\">Használja a fent látható metódusútvonalakat.</p><h4>Kapcsolódó modellazonosítók</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-3.1-flash-tts-preview&amp;route=Ultra&amp;caller=google%2Fgemini-3.1-flash-tts-preview&amp;fmt=speech\"><code>google/gemini-3.1-flash-tts-preview</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-3.1-flash-tts-preview",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|google%2Fgemini-3.1-flash-tts-preview",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Őrizze meg a visszaadott X-Client-Request-ID értéket az egyeztetéshez. Csak a ténylegesen visszaadott task_id/asset_id értékekkel kérdezzen le, vagy használja a saját médiatárat; soha ne állítson össze feladat-URL-t a műveletazonosítóból, és soha ne küldje be újra a létrehozási kérést."
            },
            "outputs": {
              "all_results": "Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Teljes bináris hang vagy eredeti audio_url válasz, fejlécek és minden saját médiaállomány."
            },
            "parameters": [
              {
                "enum": [
                  "google/gemini-3.1-flash-tts-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "Zephyr",
                  "Puck",
                  "Charon",
                  "Kore",
                  "Fenrir",
                  "Leda",
                  "Orus",
                  "Aoede",
                  "Callirrhoe",
                  "Autonoe",
                  "Enceladus",
                  "Iapetus",
                  "Umbriel",
                  "Algieba",
                  "Despina",
                  "Erinome",
                  "Algenib",
                  "Rasalgethi",
                  "Laomedeia",
                  "Achernar",
                  "Alnilam",
                  "Schedar",
                  "Gacrux",
                  "Pulcherrima",
                  "Achird",
                  "Zubenelgenubi",
                  "Vindemiatrix",
                  "Sadachbia",
                  "Sadaltager",
                  "Sulafat"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "google/gemini-3.1-flash-tts-preview"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "Zephyr",
                    "Puck",
                    "Charon",
                    "Kore",
                    "Fenrir",
                    "Leda",
                    "Orus",
                    "Aoede",
                    "Callirrhoe",
                    "Autonoe",
                    "Enceladus",
                    "Iapetus",
                    "Umbriel",
                    "Algieba",
                    "Despina",
                    "Erinome",
                    "Algenib",
                    "Rasalgethi",
                    "Laomedeia",
                    "Achernar",
                    "Alnilam",
                    "Schedar",
                    "Gacrux",
                    "Pulcherrima",
                    "Achird",
                    "Zubenelgenubi",
                    "Vindemiatrix",
                    "Sadachbia",
                    "Sadaltager",
                    "Sulafat"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "google/gemini-3.1-flash-tts-preview",
                "response_format": "pcm",
                "voice": "Orus"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "A ténylegesen visszaadott task_id vagy a médiatár bejegyzése",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'google/gemini-3.1-flash-tts-preview', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Orus', 'response_format': 'pcm'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Beszéd",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 2e-06,
            "output_token": 4e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.04000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00004",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemini-3.1-flash-tts-preview",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "ce8fe554d96acd6f6a892e65150b0748c2498ffea71f389f18411cb562229348",
    "input_html_sha256": "fb3261d6cf374e309936e7aa80633d40cb75e3d4d3a41300cc4f44c3881f8b50",
    "private_audit_sha256": "473daba5ec5031decf4737e68b5c93e9d54e3c67a28b84ae3c78ed76bdd83fab",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/hu/google-gemini-3-1-flash-tts-preview/",
    "description": "A Google Gemini 3.1 Flash TTS Preview írott forgatókönyveket alakít kifejező beszédhanggá. Természetes nyelvű rendezői utasítások, beszélői Audio Profiles, Director’s Notes és beágyazott hangcímkék alakítják a tempót, hangszínt és akcentust. Natív párbeszédet és több mint 70 nyelvet támogat a 3.1 prompt- és hangformátumával.",
    "locale": "hu",
    "md_url": "https://ailoot.ai/models/hu/google-gemini-3-1-flash-tts-preview/index.md",
    "title": "Google: Gemini 3.1 Flash TTS Preview — Ailoot",
    "url": "https://ailoot.ai/models/hu/google-gemini-3-1-flash-tts-preview/"
  },
  "rawModel": {
    "about": "A Google Gemini 3.1 Flash TTS Preview a Gemini 3.1 Flash Audio család szövegfelolvasó kiadása. Szöveget fogad, és prompttal irányított kifejezésmódú beszédhangot állít elő. A Google ezt a generációt a beszéd természetessége, vezérelhetősége és többnyelvű teljesítménye terén előrelépésként írja le, natív többbeszélős párbeszéddel és több mint 70 nyelvvel. Gyakorlati felhasználás egy rövid narrált lecke, karakterek közötti párbeszéd vagy olyan elmondott szövegrész, amelynél az előadásmód legalább annyira fontos, mint a megfogalmazás.\n\nKészítsen elő végleges forgatókönyvet és előadásmódra vonatkozó feladatleírást. Ez a generáció a szöveges bemeneten belüli természetes nyelvű utasításokkal irányítja a hang stílusát, tempóját és előadását. A Google kiadása jelenetrendezési utasítást vezet be a helyzet meghatározására, beszélői Audio Profiles leírásokat a karakterek kialakítására és Director’s Notes utasításokat a tempó, hangszín és akcentus irányítására. A prompt előkészítésekor e részek legyenek azonosíthatók, hogy a kívánt szavak és az előadási utasítások egymástól függetlenül ellenőrizhetők legyenek. Egy tömör feladatleírás könnyebben módosítható, mint ugyanannak a hangnak több versengő leírása.\n\nPéldául egy önálló próbafeladat leírhat nyugodt narrátort, aki kimért beszédmóddal magyaráz egy múzeumi kiállítási tárgyat, az utolsó mondatban melegebb hangszínnel. A kísérő forgatókönyv tartalmazza a kiállítási tárgy tényleges neveit és a pontosan megszólaltatandó szöveget. Párbeszédhez adjon a karaktereknek eltérő profilokat és egyértelmű megszólalási sorrendet. A jelenet kontextusával magyarázza el, hogy az egyik beszélő megnyugtatja-e a másikat, valódi kérdést tesz-e fel vagy visszafogott meglepetéssel reagál-e. Az értékelendő generált eredmény e forgatókönyv hallható előadása.\n\nA beágyazott hangcímkék helyi vezérlést adnak a szövegen belül, lehetővé téve, hogy a beszélő kifejezésmódja egy mondaton belül változzon, ne teljes egészében a kezdő utasításra támaszkodjon. A Google a címkéket a hangstílus, tempó és előadásmód vezérlőiként írja le. Ott használja őket, ahol az előadásnak meghatározott váltásra van szüksége, a szöveg többi része pedig maradjon természetesen kimondható. E kiadásban a hasznos különbség a magas szintű karakter- vagy jelenetleírás és a helyi előadásmód-váltás között van. Egy rövid, semleges szövegrész meghatározhatja az alaphangot, mielőtt a forgatókönyv több érzelmi utasítást ad hozzá.\n\nTöbbnyelvű munkához a végleges nyelvű forgatókönyvet adja meg, és a feladatleírásban határozza meg a kívánt akcentust és beszédstílust. A Google bejelentése több mint 70 nyelv támogatását dokumentálja. Gyakorlati szerkesztői előkészítésként a visszatérő neveknek adjon egységes írásmódot, bontsa ki a kétértelmű rövidítéseket, ha egyetlen olvasat szükséges, és ellenőrizze a számokat a beszédben. Egy nyelvi címke önmagában nem dönti el, hogyan hangozzon egy márkanév vagy kölcsönszó. Hosszú narráció elfogadása előtt vesse össze az ilyen kifejezéseket tartalmazó részeket a kívánt olvasattal.\n\nA konkrét Gemini API-modelloldal ehhez az előzetes modellhez 8 192 tokenes bemeneti és 16 384 tokenes kimeneti korlátot sorol fel. A DeepMind natív TTS-modellkártyája külön legfeljebb 16K tokenes szövegbemenetet és 32K tokenes hangkimenetet ad meg; ezek a modellkártyaértékek különböznek a Gemini API-kiszolgálási korlátoktól. A forgatókönyv mellett az előadási utasításokat is az előkészített bemenet részeként számolja. A kimeneti keret hangtokenekben van megadva, ezért nem garantál meghatározott felvételi időtartamot. Hosszú leckét vagy történetet rendezzen összefüggő szakaszokba, őrizze meg ugyanazt a karakterleírást, és hallgassa meg az illesztéseket. Megírt párbeszédnél a kimondott szavakon és érzelmi előadáson túl a beszélő-hozzárendelést és a megszólalási sorrendet is ellenőrizze.\n\nA Google migrációs dokumentációja a 3.1 alapértelmezett kimenetét fejléc nélküli nyers PCM-ként azonosítja audio/l16 típussal. Szerkeszthető felvétel előkészítésekor a hangbájtokhoz megfelelő lejátszási vagy konténerinformáció kell; önmagában a WAV-fájlnév hozzáadása nem hoz létre WAV-fejlécet. Importálás előtt ellenőrizze a ténylegesen visszakapott formátumot. A Google azt is állítja, hogy a Gemini 3.1 Flash TTS által generált hang észrevehetetlen SynthID-vízjelet hordoz. A vízjel a generált hang azonosítására szolgál, és nem helyettesíti az átiratot, a beszélőcímkéket vagy a visszahallgatásos ellenőrzést.\n\nA 3.1 előkészítési stílusa lényegesen eltér a 3.8-étól. A Gemini 3.8 a tartós utasításokat és beszélőazonosságot strukturált beszédmetaadatokba helyezi, csúcsos zárójelű, adott pontra vonatkozó eseménycímkéket használ, és a befejezett kérések alapértelmezését WAV-ra változtatja. A 3.1 promptot 3.1 promptként őrizze meg, ne keverje bele az újabb kérési szerkezetet. A Google támogatott modelleket felsoroló táblázata a 3.1-hez egy- és többbeszélős szintézist sorol fel, míg az egyedileg megtervezett hangok és hangmásolás vezérlői a 3.8 bejegyzéseihez tartoznak. A külön Flash Live kiadás interaktív hangbemenetet kezel; ez a TTS kiadás előkészített szöveg–hang előállításra szolgál.\n\nEllenőrizze a felvételt az írott forgatókönyv alapján kihagyott vagy ismételt szavakra, nevekre, megszólalási időzítésre és a kívánt érzelmi változásokra. Ha egy mondat más hangsúlyt igényel, módosítsa a helyi utasítást, és vizsgálja meg az érintett átmenetet. Ez a munkafolyamat teszi hasznossá az előadásleírást: rögzíti, minek kell állandónak maradnia a beszélőnél és minek kell változnia az adott részben, miközben a forgatókönyv megőrzi a közönség által hallandó tartalmat.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 32768,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.04000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00004",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "A konfiguráció teljes árazása a részletekben."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "google/gemini-3.1-flash-tts-preview",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Őrizze meg a visszaadott X-Client-Request-ID értéket az egyeztetéshez. Csak a ténylegesen visszaadott task_id/asset_id értékekkel kérdezzen le, vagy használja a saját médiatárat; soha ne állítson össze feladat-URL-t a műveletazonosítóból, és soha ne küldje be újra a létrehozási kérést."
            },
            "outputs": {
              "all_results": "Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Teljes bináris hang vagy eredeti audio_url válasz, fejlécek és minden saját médiaállomány."
            },
            "parameters": [
              {
                "enum": [
                  "google/gemini-3.1-flash-tts-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "Zephyr",
                  "Puck",
                  "Charon",
                  "Kore",
                  "Fenrir",
                  "Leda",
                  "Orus",
                  "Aoede",
                  "Callirrhoe",
                  "Autonoe",
                  "Enceladus",
                  "Iapetus",
                  "Umbriel",
                  "Algieba",
                  "Despina",
                  "Erinome",
                  "Algenib",
                  "Rasalgethi",
                  "Laomedeia",
                  "Achernar",
                  "Alnilam",
                  "Schedar",
                  "Gacrux",
                  "Pulcherrima",
                  "Achird",
                  "Zubenelgenubi",
                  "Vindemiatrix",
                  "Sadachbia",
                  "Sadaltager",
                  "Sulafat"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "google/gemini-3.1-flash-tts-preview"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "Zephyr",
                    "Puck",
                    "Charon",
                    "Kore",
                    "Fenrir",
                    "Leda",
                    "Orus",
                    "Aoede",
                    "Callirrhoe",
                    "Autonoe",
                    "Enceladus",
                    "Iapetus",
                    "Umbriel",
                    "Algieba",
                    "Despina",
                    "Erinome",
                    "Algenib",
                    "Rasalgethi",
                    "Laomedeia",
                    "Achernar",
                    "Alnilam",
                    "Schedar",
                    "Gacrux",
                    "Pulcherrima",
                    "Achird",
                    "Zubenelgenubi",
                    "Vindemiatrix",
                    "Sadachbia",
                    "Sadaltager",
                    "Sulafat"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "google/gemini-3.1-flash-tts-preview",
                "response_format": "pcm",
                "voice": "Orus"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "A ténylegesen visszaadott task_id vagy a médiatár bejegyzése",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'google/gemini-3.1-flash-tts-preview', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Orus', 'response_format': 'pcm'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Beszéd",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 2e-06,
            "output_token": 4e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.04000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00004",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemini-3.1-flash-tts-preview",
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini 3.1 Flash TTS Preview",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.04,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.04,
      "varies": true
    },
    "short": "A Google Gemini 3.1 Flash TTS Preview írott forgatókönyveket alakít kifejező beszédhanggá. Természetes nyelvű rendezői utasítások, beszélői Audio Profiles, Director’s Notes és beágyazott hangcímkék alakítják a tempót, hangszínt és akcentust. Natív párbeszédet és több mint 70 nyelvet támogat a 3.1 prompt- és hangformátumával."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "A Google Gemini 3.1 Flash TTS Preview írott forgatókönyveket alakít kifejező beszédhanggá. Természetes nyelvű rendezői utasítások, beszélői Audio Profiles, Director’s Notes és beágyazott hangcímkék alakítják a tempót, hangszínt és akcentust. Natív párbeszédet és több mint 70 nyelvet támogat a 3.1 prompt- és hangformátumával.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "55c70632ae7a00f344b4ee79df2421d019fa1d5e97e9d66bc44ed41acad53c6c",
    "renderer_sha256": "59b0e30a0b251f9d98bf0bafcc7ef50440c33057c2bf9c9fadabbcaeefffb5bb"
  },
  "sourceRevision": "8b887efb091e6f08a3ee704ea4600dda1661ac2d4394f825734e68cd0e7d99d4"
}
