{
  "aboutHtml": "<p>Lyria 3 Clip Preview — Google-дың қысқа клиптерге, қайталанатын үзінділерге және алдын ала тыңдау нұсқаларына арналған музыка жасау профилі. Ол мәтіндік нұсқауды немесе суреттен алынған шабытты қабылдап, мәтін мен аудио қайтарады. Жарияланған профиль 48 kHz стерео аудиосы бар 30 секундтық клиптерді сипаттайды; оған вокал, уақытқа сәйкестендірілген ән мәтіні және толық аспаптық аранжировкалар кіреді.</p><h4>Музыкалық сәтті сипаттаңыз</h4><p>Клиптің мақсатын және жеткізуге тиіс көңіл күйін атаңыз. Қысқа кіріспе тақырыпта ұстамды басталу мен анық негізгі сәтті көрсетуге болады; фондық үзіндіде визуалды көріністің астына қажет қарқын мен дыбыс құрылымын белгілеуге болады. Нәтижеде вокал болуы керек пе, әлде ол аспаптық болуы керек пе — соны айтып, тапсырмаға маңызды музыкалық элементтерді атаңыз.</p><p>Құрылымды клипке сыятындай шағын ұстаңыз. Басталуын, негізгі әуен тіркесін және аяқталуын не қайталану нүктесін көрсетіңіз. Сөздер маңызды болса, қажетті ән мәтінінің идеясын немесе сөздерін беріп, нақты орындалған нәтижені тексеріңіз. Музыкалық тапсырма вокал мазмұнын аранжировкаға қатысты нұсқаулардан ажыратуы керек.</p><h4>Суреттен алынған шабыт және аранжировка</h4><p>Сурет бергенде, оның музыка сұрауына қандай көрініс немесе көңіл күй қосатынын түсіндіріңіз. Тыныш пейзаж бен адам көп түнгі көрініс әртүрлі бағытты меңзейді, бірақ қажетті эмоциялық рөл мәтінде бәрібір анық айтылуы тиіс. Қайтарылған клипті көзделген тұжырыммен салыстырғанда суретті нұсқаумен бірге сақтаңыз.</p><p>Вокал, аспаптар және негізгі музыкалық тіркес арасындағы теңгерімді тексеріңіз. Қайталанатын үзінді үшін соңы мен басын жалғап тыңдаңыз; алдын ала тыңдау нұсқасы үшін қысқа ұзақтық көзделген бағытты жеткізе ме — соны тексеріңіз. Монтажға сүйемел болатын клипті тек жеке тыңдамай, сол монтажбен бірге бағалау керек.</p><h4>Тыңдалатын материалды сақтаңыз</h4><p>Нақты аудионы және кез келген ілеспе мәтінді тапсырмамен бірге сақтаңыз. Ойнатуға дайындағанда немесе редакторға импорттағанда файл қасиеттерін тексеріп, сұрау қайтарған ән мәтіні не уақыт деректерін сақтаңыз. Музыка — модельдің нәтижесі; кесулерді, титрлерді, визуалды ауысуларды және соңғы өндірістік миксті тексерілген осы материалдың айналасына құруға болады.</p><p>Дәл осы Clip Preview профилі ықшам музыкалық нәтиже алуға жарайды. Ұзынырақ шығарма жоспарлағанда оның қысқа форматтағы рөлін бөлек ескеріп, қайтарылған клипті толық әуен тіркесін, вокал сөздерін және аяқталуын тыңдап таңдаңыз.</p>",
  "aboutText": "Lyria 3 Clip Preview — Google-дың қысқа клиптерге, қайталанатын үзінділерге және алдын ала тыңдау нұсқаларына арналған музыка жасау профилі. Ол мәтіндік нұсқауды немесе суреттен алынған шабытты қабылдап, мәтін мен аудио қайтарады. Жарияланған профиль 48 kHz стерео аудиосы бар 30 секундтық клиптерді сипаттайды; оған вокал, уақытқа сәйкестендірілген ән мәтіні және толық аспаптық аранжировкалар кіреді.\n\n### Музыкалық сәтті сипаттаңыз\n\nКлиптің мақсатын және жеткізуге тиіс көңіл күйін атаңыз. Қысқа кіріспе тақырыпта ұстамды басталу мен анық негізгі сәтті көрсетуге болады; фондық үзіндіде визуалды көріністің астына қажет қарқын мен дыбыс құрылымын белгілеуге болады. Нәтижеде вокал болуы керек пе, әлде ол аспаптық болуы керек пе — соны айтып, тапсырмаға маңызды музыкалық элементтерді атаңыз.\n\nҚұрылымды клипке сыятындай шағын ұстаңыз. Басталуын, негізгі әуен тіркесін және аяқталуын не қайталану нүктесін көрсетіңіз. Сөздер маңызды болса, қажетті ән мәтінінің идеясын немесе сөздерін беріп, нақты орындалған нәтижені тексеріңіз. Музыкалық тапсырма вокал мазмұнын аранжировкаға қатысты нұсқаулардан ажыратуы керек.\n\n### Суреттен алынған шабыт және аранжировка\n\nСурет бергенде, оның музыка сұрауына қандай көрініс немесе көңіл күй қосатынын түсіндіріңіз. Тыныш пейзаж бен адам көп түнгі көрініс әртүрлі бағытты меңзейді, бірақ қажетті эмоциялық рөл мәтінде бәрібір анық айтылуы тиіс. Қайтарылған клипті көзделген тұжырыммен салыстырғанда суретті нұсқаумен бірге сақтаңыз.\n\nВокал, аспаптар және негізгі музыкалық тіркес арасындағы теңгерімді тексеріңіз. Қайталанатын үзінді үшін соңы мен басын жалғап тыңдаңыз; алдын ала тыңдау нұсқасы үшін қысқа ұзақтық көзделген бағытты жеткізе ме — соны тексеріңіз. Монтажға сүйемел болатын клипті тек жеке тыңдамай, сол монтажбен бірге бағалау керек.\n\n### Тыңдалатын материалды сақтаңыз\n\nНақты аудионы және кез келген ілеспе мәтінді тапсырмамен бірге сақтаңыз. Ойнатуға дайындағанда немесе редакторға импорттағанда файл қасиеттерін тексеріп, сұрау қайтарған ән мәтіні не уақыт деректерін сақтаңыз. Музыка — модельдің нәтижесі; кесулерді, титрлерді, визуалды ауысуларды және соңғы өндірістік миксті тексерілген осы материалдың айналасына құруға болады.\n\nДәл осы Clip Preview профилі ықшам музыкалық нәтиже алуға жарайды. Ұзынырақ шығарма жоспарлағанда оның қысқа форматтағы рөлін бөлек ескеріп, қайтарылған клипті толық әуен тіркесін, вокал сөздерін және аяқталуын тыңдап таңдаңыз.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4b7829008f64eb9837b4922148ae763eabe41763397adb7a2fd0af2b2faf8b9c",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "kk",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Lyria 3 Clip Preview</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/lyria-3-clip-preview</code><button type=\"button\" id=\"copy-id\">ID көшіру</button></div><nav class=\"card-jump-nav\" aria-label=\"Модель карточкасының бөлімдері\"><button type=\"button\" data-card-jump=\"overview\">Бастау</button><button type=\"button\" data-card-jump=\"methods\">Кіріс деректері мен әдістер</button><button type=\"button\" data-card-jump=\"pricing\">Тарифтер</button><button type=\"button\" data-card-jump=\"examples\">Мысалдар</button><button type=\"button\" data-card-jump=\"results\">Нәтижелер</button><button type=\"button\" data-card-jump=\"aliases\">Балама атаулар</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API әдістері\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Core|music|/v1/music/generations|google%2Flyria-3-clip-preview\">Музыка</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\">Бастау</h3><p class=\"mdesc-full\">Lyria 3 Clip Preview — Google-дың қысқа клиптерге, қайталанатын үзінділерге және алдын ала тыңдау нұсқаларына арналған музыка моделі. Ол мәтінді немесе суреттен алынған шабытты қабылдап, 48 kHz стерео аудиомен 30 секундтық музыка жасайды; вокалды, уақытқа сәйкестендірілген ән мәтінін және аспаптық аранжировкаларды қолдайды.</p><dl class=\"card-io\" data-card-io><div><dt>Қабылданатын кіріс деректері</dt><dd>Мәтін</dd></div><div><dt>Нәтижелер</dt><dd>music</dd></div></dl><details class=\"card-about\"><summary>Модель туралы</summary><p class=\"note-s\" data-model-method-boundary>Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.</p><div class=\"mabout\" id=\"m-about\"><p>Lyria 3 Clip Preview — Google-дың қысқа клиптерге, қайталанатын үзінділерге және алдын ала тыңдау нұсқаларына арналған музыка жасау профилі. Ол мәтіндік нұсқауды немесе суреттен алынған шабытты қабылдап, мәтін мен аудио қайтарады. Жарияланған профиль 48 kHz стерео аудиосы бар 30 секундтық клиптерді сипаттайды; оған вокал, уақытқа сәйкестендірілген ән мәтіні және толық аспаптық аранжировкалар кіреді.</p><h4>Музыкалық сәтті сипаттаңыз</h4><p>Клиптің мақсатын және жеткізуге тиіс көңіл күйін атаңыз. Қысқа кіріспе тақырыпта ұстамды басталу мен анық негізгі сәтті көрсетуге болады; фондық үзіндіде визуалды көріністің астына қажет қарқын мен дыбыс құрылымын белгілеуге болады. Нәтижеде вокал болуы керек пе, әлде ол аспаптық болуы керек пе — соны айтып, тапсырмаға маңызды музыкалық элементтерді атаңыз.</p><p>Құрылымды клипке сыятындай шағын ұстаңыз. Басталуын, негізгі әуен тіркесін және аяқталуын не қайталану нүктесін көрсетіңіз. Сөздер маңызды болса, қажетті ән мәтінінің идеясын немесе сөздерін беріп, нақты орындалған нәтижені тексеріңіз. Музыкалық тапсырма вокал мазмұнын аранжировкаға қатысты нұсқаулардан ажыратуы керек.</p><h4>Суреттен алынған шабыт және аранжировка</h4><p>Сурет бергенде, оның музыка сұрауына қандай көрініс немесе көңіл күй қосатынын түсіндіріңіз. Тыныш пейзаж бен адам көп түнгі көрініс әртүрлі бағытты меңзейді, бірақ қажетті эмоциялық рөл мәтінде бәрібір анық айтылуы тиіс. Қайтарылған клипті көзделген тұжырыммен салыстырғанда суретті нұсқаумен бірге сақтаңыз.</p><p>Вокал, аспаптар және негізгі музыкалық тіркес арасындағы теңгерімді тексеріңіз. Қайталанатын үзінді үшін соңы мен басын жалғап тыңдаңыз; алдын ала тыңдау нұсқасы үшін қысқа ұзақтық көзделген бағытты жеткізе ме — соны тексеріңіз. Монтажға сүйемел болатын клипті тек жеке тыңдамай, сол монтажбен бірге бағалау керек.</p><h4>Тыңдалатын материалды сақтаңыз</h4><p>Нақты аудионы және кез келген ілеспе мәтінді тапсырмамен бірге сақтаңыз. Ойнатуға дайындағанда немесе редакторға импорттағанда файл қасиеттерін тексеріп, сұрау қайтарған ән мәтіні не уақыт деректерін сақтаңыз. Музыка — модельдің нәтижесі; кесулерді, титрлерді, визуалды ауысуларды және соңғы өндірістік миксті тексерілген осы материалдың айналасына құруға болады.</p><p>Дәл осы Clip Preview профилі ықшам музыкалық нәтиже алуға жарайды. Ұзынырақ шығарма жоспарлағанда оның қысқа форматтағы рөлін бөлек ескеріп, қайтарылған клипті толық әуен тіркесін, вокал сөздерін және аяқталуын тыңдап таңдаңыз.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер</h3><details class=\"card-method\" open><summary><b>Ailoot · Музыка</b> <code>POST /v1/music/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Кіріс</dt><dd><code>text</code></dd></div><div><dt>Шығыс</dt><dd><code>music</code></dd></div><div><dt>Шығыс пішімі</dt><dd>иелігіңіздегі толық аудиоүзінділер / JSON сілтемелері</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Өріс</th><th>Түрі</th><th>Талап</th><th>Мәндер мен шектеулер</th><th>Әдепкі</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>google/lyria-3-clip-preview</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Ең аз ұзындық: 1</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Кіріс материалдарының үйлесімдері</summary><p class=\"note-s\"><b>text_to_music</b> · Міндетті: prompt</p></details><details class=\"note-s\" data-method-contract><summary>Әдіс параметрлері мен өмірлік циклі</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Параметр</th><th>Параметр талаптары</th></tr></thead><tbody><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_types</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>text</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>required</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>null</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>optional_controls</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>null</td></tr></tbody></table></div><p>Өмірлік цикл: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Нақты қайтарылған task_id немесе медиатека жазбасы</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><p class=\"note-s\">Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Тарифтер</h3><h4>Ailoot әдістерінің мөлшерлемелері</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Музыка</b><code>POST /v1/music/generations</code></header><dl><div><dt>Шығыс</dt><dd>0,04 $ <em>клип үшін</em></dd></div><div data-billing-reference=\"not-added\"><dt>Тек анықтама · қосылмайды</dt><dd>0,04 $ <em>әр сұрау үшін</em></dd></div></dl><div data-music-clip-pricing=\"v1\"><p class=\"note-s\">Жеткізілген клиптер × әр клиптің базалық тарифі. Сұрау үшін анықтамалық тариф қосылмайды. Мысалдар қолданылатын түзетулерге дейін берілген.</p><p><code>1 × 0,04 $ = 0,04 $</code></p></div></section><p class=\"note-s\">Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. <a href=\"/docs/kk/billing/reserve/\">Резервтеу мен төлемді есептеу тәртібі →</a></p><div data-model-tariff-reference><h4>Анықтамалық тариф мәліметтері</h4><p class=\"note-s\">Модельдің анықтамалық кестелері әдіс таңдауын, баға есебін не төлемді өзгертпейді. Қолданыстағы төлемдер таңдалған Ailoot әдісінің мөлшерлемелерімен есептеледі.</p><details class=\"card-price-reference\" data-profile-scope=\"manufacturer_reference\" data-client-selectable=\"false\"><summary>Модельдің анықтамалық кестелері</summary><h4>Баптаулар бойынша бағалар</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Баптау</th><th>Қызмет деңгейі</th><th>Контекст шарты</th><th>Төлем</th></tr></thead><tbody><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Ultra</th><td data-cell-label=\"Қызмет деңгейі\"><span class=\"card-cell-label\">Қызмет деңгейі</span>standard</td><td data-cell-label=\"Контекст шарты\"><span class=\"card-cell-label\">Контекст шарты</span>{}</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Шығыс · музыка</span> <b>0,08 $</b> <span class=\"price-unit\">ән үшін</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Сұрау мысалдары</h3><h4>Ailoot · Музыка</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-355-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-355-panel-0\" aria-selected=\"true\" tabindex=\"0\">Музыка мысалы</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Кодты көшіру\"><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-355-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-355-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_PROMPT_FILE:?Set your actual UTF-8 music brief}&quot;\nexport AILOOT_PROMPT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;google/lyria-3-clip-preview&quot;, &quot;prompt&quot;: &quot;&quot;}&#39;)\nf=Path(os.environ[&quot;AILOOT_PROMPT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 brief&quot;)\np[&#39;prompt&#39;]=f.read_text(encoding=&quot;utf-8&quot;)\nif not p[&#39;prompt&#39;].strip():raise SystemExit(&quot;Brief must contain text&quot;)\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \\\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 result.json\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin, urlparse\nresult=json.loads(Path(&quot;result.json&quot;).read_text(encoding=&quot;utf-8&quot;))\nprint(json.dumps(result,ensure_ascii=False,indent=2))\nfor number,clip in enumerate(result.get(&quot;data&quot;) or []):\n    u=urlparse(urljoin(&quot;https://api.ailoot.ai&quot;,clip[&quot;url&quot;]))\n    if u.scheme!=&quot;https&quot; or not u.hostname or u.username or u.password:\n        raise SystemExit(&quot;Result URL must be HTTPS without embedded credentials&quot;)\n    owned=u.netloc==&quot;api.ailoot.ai&quot; and u.path.startswith(&quot;/v1/media/assets/&quot;) and u.path.endswith(&quot;/content&quot;)\n    args=[&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,u.geturl()]\n    if owned: args += [&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;]]\n    raw=subprocess.check_output(args)\n    ext=&quot;wav&quot; if raw.startswith(b&quot;RIFF&quot;) and raw[8:12]==b&quot;WAVE&quot; else &quot;flac&quot; if raw.startswith(b&quot;fLaC&quot;) else &quot;ogg&quot; if raw.startswith(b&quot;OggS&quot;) else &quot;mp3&quot; if raw.startswith(b&quot;ID3&quot;) or raw[:1]==b&quot;\\xff&quot; else &quot;bin&quot;\n    f=Path(&quot;music-&quot;+str(number)+&quot;.&quot;+ext);f.write_bytes(raw)\n    print(&quot;Saved&quot;,f,clip.get(&quot;asset_id&quot;))\n\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Нәтижелерді алу және сақтау</h3><h4>Ailoot · Музыка</h4><p class=\"note-s\">иелігіңіздегі толық аудиоүзінділер / JSON сілтемелері</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><div class=\"card-result-process\" data-all-results><h5>Барлық дайын нәтижені сақтау</h5><p class=\"note-s\">Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.</p><p class=\"note-s\">Қайтарылған әрбір аудиоүзіндіні сақтаңыз немесе жүктеп алыңыз және нақты ID, MIME түрін, метадеректерін сақтаңыз. Әдіс синхронды жұмыс істейді; Ailoot музыка генерациясының күйін сұрауға бөлек URL енгізілмейді.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">Музыка нәтижесін тексеру қажет болса, бастапқы operation_id/X-Client-Request-ID мәндерін және қайтарылған аудиоүзінді мәліметін сақтаңыз. Иелігіңіздегі бар аудиоүзінділерді нақты task_id немесе asset_id мәндері арқылы медиатекадан қалпына келтіріңіз. Музыка сұрауын қайта жібермеңіз және operation_id мәнінен генерация күйін сұрайтын URL құрастырмаңыз.</p></div><details class=\"card-about\" data-output-fields><summary>Жауап өрістері</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Өріс</th><th>Түрі</th></tr></thead><tbody><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">response_id</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>owned clip record</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Қателер және келесі қадамдар</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Жауап</th><th>Шарт</th><th>Келесі қадам</th></tr></thead><tbody><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Міндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Жаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.</td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span><code>server_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Қайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Бастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Балама атаулар</h3><h4>Модельдердің балама атаулары</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=google%2Flyria-3-clip-preview&amp;route=Core&amp;caller=google%2Flyria-3-clip-preview&amp;fmt=music\"><code>google/lyria-3-clip-preview</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\">Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.</p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=google%2Flyria-3-clip-preview&amp;route=Core&amp;caller=google%2Flyria-3-clip-preview&amp;fmt=music\"><code>google/lyria-3-clip-preview</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/lyria-3-clip-preview",
        "fmt": "music",
        "http": "POST",
        "path": "/v1/music/generations",
        "request_model_id": "google/lyria-3-clip-preview",
        "route_label": "Core"
      },
      "method_key": "Core|music|/v1/music/generations|google%2Flyria-3-clip-preview",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Save/fetch every returned clip and preserve actual ID, MIME and metadata. The method is synchronous; no separate Ailoot music generationpollingURL is introduced.",
            "errors": [
              {
                "code": null,
                "condition": "Міндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате",
                "http_status": 400,
                "recovery": "Жаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Қайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген",
                "http_status": null,
                "recovery": "Бастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "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": "Музыка нәтижесін тексеру қажет болса, бастапқы operation_id/X-Client-Request-ID мәндерін және қайтарылған аудиоүзінді мәліметін сақтаңыз. Иелігіңіздегі бар аудиоүзінділерді нақты task_id немесе asset_id мәндері арқылы медиатекадан қалпына келтіріңіз. Музыка сұрауын қайта жібермеңіз және operation_id мәнінен генерация күйін сұрайтын URL құрастырмаңыз."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_music",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_music"
            ],
            "outputs": {
              "all_results": "Қайтарылған әрбір аудиоүзіндіні сақтаңыз немесе жүктеп алыңыз және нақты ID, MIME түрін, метадеректерін сақтаңыз. Әдіс синхронды жұмыс істейді; Ailoot музыка генерациясының күйін сұрауға бөлек URL енгізілмейді.",
              "family": "music",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "response_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "owned clip record"
                }
              ],
              "format": "иелігіңіздегі толық аудиоүзінділер / JSON сілтемелері"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/lyria-3-clip-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "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": "Нақты қайтарылған task_id немесе медиатека жазбасы",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "If a music result requires a check, keep the original operation_id/X-Client-Request-ID and returned clip information. Recover existing owned clips through the media library using actual task_id or asset_id values. Do not resubmit the music request or construct a generation polling URL from operation_id."
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "operation_modes": [
            "music"
          ],
          "output": {
            "family": [
              "music"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_PROMPT_FILE:?Set your actual UTF-8 music brief}\"\nexport AILOOT_PROMPT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/lyria-3-clip-preview\", \"prompt\": \"\"}')\nf=Path(os.environ[\"AILOOT_PROMPT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 brief\")\np['prompt']=f.read_text(encoding=\"utf-8\")\nif not p['prompt'].strip():raise SystemExit(\"Brief must contain text\")\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\nexport AILOOT_API_KEY\npython3 - <<'PY_RESULT'\nimport json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin, urlparse\nresult=json.loads(Path(\"result.json\").read_text(encoding=\"utf-8\"))\nprint(json.dumps(result,ensure_ascii=False,indent=2))\nfor number,clip in enumerate(result.get(\"data\") or []):\n    u=urlparse(urljoin(\"https://api.ailoot.ai\",clip[\"url\"]))\n    if u.scheme!=\"https\" or not u.hostname or u.username or u.password:\n        raise SystemExit(\"Result URL must be HTTPS without embedded credentials\")\n    owned=u.netloc==\"api.ailoot.ai\" and u.path.startswith(\"/v1/media/assets/\") and u.path.endswith(\"/content\")\n    args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u.geturl()]\n    if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n    raw=subprocess.check_output(args)\n    ext=\"wav\" if raw.startswith(b\"RIFF\") and raw[8:12]==b\"WAVE\" else \"flac\" if raw.startswith(b\"fLaC\") else \"ogg\" if raw.startswith(b\"OggS\") else \"mp3\" if raw.startswith(b\"ID3\") or raw[:1]==b\"\\xff\" else \"bin\"\n    f=Path(\"music-\"+str(number)+\".\"+ext);f.write_bytes(raw)\n    print(\"Saved\",f,clip.get(\"asset_id\"))\n\nPY_RESULT\n",
            "label": "Compose from your actual music brief",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Музыка",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "music"
        ],
        "path": "/v1/music/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.04,
                "amount_unit": "usd_per_display_unit",
                "key": "music_output_clip",
                "label": "per clip",
                "side": "out"
              },
              {
                "amount": 0.04,
                "amount_unit": "usd_per_display_unit",
                "key": "per_request",
                "label": "per request",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "google/lyria-3-clip-preview",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "music_output_clip",
        "units": [
          {
            "key": "music_output_clip",
            "label": "per clip",
            "side": "out",
            "usd": 0.04
          },
          {
            "key": "per_request",
            "label": "per request",
            "side": "out",
            "usd": 0.04
          }
        ]
      }
    }
  ],
  "model_id": "google/lyria-3-clip-preview",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b9da78182aa1f61780bbf00e447d0961aeafa3d9fcd4296c6e7d0fc0350bbf0f",
    "input_html_sha256": "34ac03a6bad8185bb2517b4e2538840faf7b8da9f22bf2f2b01d72b75f6e2c75",
    "private_audit_sha256": "76fc52edb5ddd420069fd599a2e3aafa01dafcd69de230577b85c0f8ece7cbd0",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/kk/google-lyria-3-clip-preview/",
    "description": "Lyria 3 Clip Preview — Google-дың қысқа клиптерге, қайталанатын үзінділерге және алдын ала тыңдау нұсқаларына арналған музыка моделі. Ол мәтінді немесе суреттен алынған шабытты қабылдап, 48 kHz стерео аудиомен 30 секундтық музыка жасайды; вокалды, уақытқа сәйкестендірілген ән мәтінін және аспаптық аранжировкаларды қолдайды.",
    "locale": "kk",
    "md_url": "https://ailoot.ai/models/kk/google-lyria-3-clip-preview/index.md",
    "title": "Lyria 3 Clip Preview — Ailoot",
    "url": "https://ailoot.ai/models/kk/google-lyria-3-clip-preview/"
  },
  "rawModel": {
    "about": "Lyria 3 Clip Preview — Google-дың қысқа клиптерге, қайталанатын үзінділерге және алдын ала тыңдау нұсқаларына арналған музыка жасау профилі. Ол мәтіндік нұсқауды немесе суреттен алынған шабытты қабылдап, мәтін мен аудио қайтарады. Жарияланған профиль 48 kHz стерео аудиосы бар 30 секундтық клиптерді сипаттайды; оған вокал, уақытқа сәйкестендірілген ән мәтіні және толық аспаптық аранжировкалар кіреді.\n\n### Музыкалық сәтті сипаттаңыз\n\nКлиптің мақсатын және жеткізуге тиіс көңіл күйін атаңыз. Қысқа кіріспе тақырыпта ұстамды басталу мен анық негізгі сәтті көрсетуге болады; фондық үзіндіде визуалды көріністің астына қажет қарқын мен дыбыс құрылымын белгілеуге болады. Нәтижеде вокал болуы керек пе, әлде ол аспаптық болуы керек пе — соны айтып, тапсырмаға маңызды музыкалық элементтерді атаңыз.\n\nҚұрылымды клипке сыятындай шағын ұстаңыз. Басталуын, негізгі әуен тіркесін және аяқталуын не қайталану нүктесін көрсетіңіз. Сөздер маңызды болса, қажетті ән мәтінінің идеясын немесе сөздерін беріп, нақты орындалған нәтижені тексеріңіз. Музыкалық тапсырма вокал мазмұнын аранжировкаға қатысты нұсқаулардан ажыратуы керек.\n\n### Суреттен алынған шабыт және аранжировка\n\nСурет бергенде, оның музыка сұрауына қандай көрініс немесе көңіл күй қосатынын түсіндіріңіз. Тыныш пейзаж бен адам көп түнгі көрініс әртүрлі бағытты меңзейді, бірақ қажетті эмоциялық рөл мәтінде бәрібір анық айтылуы тиіс. Қайтарылған клипті көзделген тұжырыммен салыстырғанда суретті нұсқаумен бірге сақтаңыз.\n\nВокал, аспаптар және негізгі музыкалық тіркес арасындағы теңгерімді тексеріңіз. Қайталанатын үзінді үшін соңы мен басын жалғап тыңдаңыз; алдын ала тыңдау нұсқасы үшін қысқа ұзақтық көзделген бағытты жеткізе ме — соны тексеріңіз. Монтажға сүйемел болатын клипті тек жеке тыңдамай, сол монтажбен бірге бағалау керек.\n\n### Тыңдалатын материалды сақтаңыз\n\nНақты аудионы және кез келген ілеспе мәтінді тапсырмамен бірге сақтаңыз. Ойнатуға дайындағанда немесе редакторға импорттағанда файл қасиеттерін тексеріп, сұрау қайтарған ән мәтіні не уақыт деректерін сақтаңыз. Музыка — модельдің нәтижесі; кесулерді, титрлерді, визуалды ауысуларды және соңғы өндірістік миксті тексерілген осы материалдың айналасына құруға болады.\n\nДәл осы Clip Preview профилі ықшам музыкалық нәтиже алуға жарайды. Ұзынырақ шығарма жоспарлағанда оның қысқа форматтағы рөлін бөлек ескеріп, қайтарылған клипті толық әуен тіркесін, вокал сөздерін және аяқталуын тыңдап таңдаңыз.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "available": null,
    "canonical_model": "google/lyria-3-clip-preview",
    "capabilities": {
      "context_length": 1048576,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "text",
        "audio"
      ]
    },
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "music"
    ],
    "id": "google/lyria-3-clip-preview",
    "input": [
      "text"
    ],
    "kind": "music",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Save/fetch every returned clip and preserve actual ID, MIME and metadata. The method is synchronous; no separate Ailoot music generationpollingURL is introduced.",
            "errors": [
              {
                "code": null,
                "condition": "Міндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате",
                "http_status": 400,
                "recovery": "Жаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Қайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген",
                "http_status": null,
                "recovery": "Бастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "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": "Музыка нәтижесін тексеру қажет болса, бастапқы operation_id/X-Client-Request-ID мәндерін және қайтарылған аудиоүзінді мәліметін сақтаңыз. Иелігіңіздегі бар аудиоүзінділерді нақты task_id немесе asset_id мәндері арқылы медиатекадан қалпына келтіріңіз. Музыка сұрауын қайта жібермеңіз және operation_id мәнінен генерация күйін сұрайтын URL құрастырмаңыз."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_music",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_music"
            ],
            "outputs": {
              "all_results": "Қайтарылған әрбір аудиоүзіндіні сақтаңыз немесе жүктеп алыңыз және нақты ID, MIME түрін, метадеректерін сақтаңыз. Әдіс синхронды жұмыс істейді; Ailoot музыка генерациясының күйін сұрауға бөлек URL енгізілмейді.",
              "family": "music",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "response_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "owned clip record"
                }
              ],
              "format": "иелігіңіздегі толық аудиоүзінділер / JSON сілтемелері"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/lyria-3-clip-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "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": "Нақты қайтарылған task_id немесе медиатека жазбасы",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "If a music result requires a check, keep the original operation_id/X-Client-Request-ID and returned clip information. Recover existing owned clips through the media library using actual task_id or asset_id values. Do not resubmit the music request or construct a generation polling URL from operation_id."
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "operation_modes": [
            "music"
          ],
          "output": {
            "family": [
              "music"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_PROMPT_FILE:?Set your actual UTF-8 music brief}\"\nexport AILOOT_PROMPT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/lyria-3-clip-preview\", \"prompt\": \"\"}')\nf=Path(os.environ[\"AILOOT_PROMPT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 brief\")\np['prompt']=f.read_text(encoding=\"utf-8\")\nif not p['prompt'].strip():raise SystemExit(\"Brief must contain text\")\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\nexport AILOOT_API_KEY\npython3 - <<'PY_RESULT'\nimport json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin, urlparse\nresult=json.loads(Path(\"result.json\").read_text(encoding=\"utf-8\"))\nprint(json.dumps(result,ensure_ascii=False,indent=2))\nfor number,clip in enumerate(result.get(\"data\") or []):\n    u=urlparse(urljoin(\"https://api.ailoot.ai\",clip[\"url\"]))\n    if u.scheme!=\"https\" or not u.hostname or u.username or u.password:\n        raise SystemExit(\"Result URL must be HTTPS without embedded credentials\")\n    owned=u.netloc==\"api.ailoot.ai\" and u.path.startswith(\"/v1/media/assets/\") and u.path.endswith(\"/content\")\n    args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u.geturl()]\n    if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n    raw=subprocess.check_output(args)\n    ext=\"wav\" if raw.startswith(b\"RIFF\") and raw[8:12]==b\"WAVE\" else \"flac\" if raw.startswith(b\"fLaC\") else \"ogg\" if raw.startswith(b\"OggS\") else \"mp3\" if raw.startswith(b\"ID3\") or raw[:1]==b\"\\xff\" else \"bin\"\n    f=Path(\"music-\"+str(number)+\".\"+ext);f.write_bytes(raw)\n    print(\"Saved\",f,clip.get(\"asset_id\"))\n\nPY_RESULT\n",
            "label": "Compose from your actual music brief",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Музыка",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "music"
        ],
        "path": "/v1/music/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.04,
                "amount_unit": "usd_per_display_unit",
                "key": "music_output_clip",
                "label": "per clip",
                "side": "out"
              },
              {
                "amount": 0.04,
                "amount_unit": "usd_per_display_unit",
                "key": "per_request",
                "label": "per request",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "google/lyria-3-clip-preview",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "music_output_clip",
        "units": [
          {
            "key": "music_output_clip",
            "label": "per clip",
            "side": "out",
            "usd": 0.04
          },
          {
            "key": "per_request",
            "label": "per request",
            "side": "out",
            "usd": 0.04
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/lyria-3-clip-preview",
        "request_model_id": "google/lyria-3-clip-preview",
        "route_label": "Core"
      }
    ],
    "name": "Lyria 3 Clip Preview",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.04,
      "out_label": "per clip",
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "context_condition": {},
          "service_tier": "standard"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.08",
            "amount_unit": "usd_per_song",
            "conditions": {
              "context_condition": {},
              "service_tier": "standard"
            },
            "key": "music",
            "label": "music",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "song"
          }
        ]
      }
    ],
    "public_id": "google/lyria-3-clip-preview",
    "short": "Lyria 3 Clip Preview — Google-дың қысқа клиптерге, қайталанатын үзінділерге және алдын ала тыңдау нұсқаларына арналған музыка моделі. Ол мәтінді немесе суреттен алынған шабытты қабылдап, 48 kHz стерео аудиомен 30 секундтық музыка жасайды; вокалды, уақытқа сәйкестендірілген ән мәтінін және аспаптық аранжировкаларды қолдайды."
  },
  "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": "Lyria 3 Clip Preview — Google-дың қысқа клиптерге, қайталанатын үзінділерге және алдын ала тыңдау нұсқаларына арналған музыка моделі. Ол мәтінді немесе суреттен алынған шабытты қабылдап, 48 kHz стерео аудиомен 30 секундтық музыка жасайды; вокалды, уақытқа сәйкестендірілген ән мәтінін және аспаптық аранжировкаларды қолдайды.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "fde6e83acc5f16995fd9c8949383379633efcf247e4204d3676df4bfcd61f11a",
    "renderer_sha256": "def3bb6e69c8ddb72f88ec6540bbe55d0e503790f964d84073ecda781b13bedf"
  },
  "sourceRevision": "cd0fcae917443f5dd23bc07fe4bc53290191261083201bcab3899918c530d11c"
}
