{
  "aboutHtml": "<p>Suno — жазбаша идеяны әнге айналдыратын музыка генерациялау қызметі. Құжатталған автоматты үдеріс көзделген музыканың қысқа сипаттамасын және аспаптық нұсқа таңдауын қабылдап, екі ән жасайды. Дайын тректерден естігіңіз келетін тақырыпты, көңіл күйді және музыкалық бағытты белгілеу үшін тапсырма сипаттамасын қолданыңыз.</p><p>Алдымен музыканың атқаратын рөлін анықтаңыз. Түсіндірмеге арналған тыныш фон, қысқа видеоның серпінді басталуы немесе сапар туралы ойлы ән тапсырмаға нақты мақсат береді. Көзделген көңіл күйді және сол мақсатқа маңызды музыкалық ерекшеліктерді бірнеше анық тіркеспен сипаттаңыз.</p><p>Вокалы бар ән үшін шығармашылық тапсырмада тақырып пен тілді анық көрсетіңіз. Трек жеткізуі тиіс идеяны және орындау арқылы берілуі тиіс реңкті сипаттаңыз. Дайын нәтижені тыңдап, вокалдың, сөздердің және аранжировканың қалай үйлесетінін бағалаңыз. Қарап шығу үшін жасалған трек туралы ақпаратты аудиомен бірге сақтаңыз.</p><p>Аспаптық нәтиже үшін құжатталған аспаптық нұсқа таңдауын қолданып, музыкалық бағытты мәтінде сипаттаңыз. Жоба үшін маңызды болса, қажетті атмосфераны және негізгі аспаптарды көрсетіңіз. Дайын тректі монтажда алатын орнына қарай бағалаңыз, соның ішінде сөзге фон ретінде естілуі немесе визуалдық ауысуды сүйемелдеуі тиіс бөліктерін тексеріңіз.</p><p>Автоматты үдеріс жіберілген идеядан екі ән жасайды. Оларды бөлек нұсқалар ретінде қарастырып, дайын екі аудиофайлды да сақтаңыз. Әрқайсысын басталуын, даму барысын және аяқталуын қоса толық тыңдаңыз. Нақты тректерді бірдей мақсатқа сай салыстырыңыз, соның ішінде көңіл күйін, аранжировкасын және жоспарланған қолданысқа жарамдылығын бағалаңыз.</p><p>Генерация тапсырма түрінде ұйымдастырылады. Нәтижесін тексергенде қайтарылған тапсырма ID мәнін сақтап, дайын тректерді әлі орындалып жатқан элементтерден ажыратыңыз. Құжатталған нәтижеде атауы, күйі, аудионың орналасуы және ұзақтығы сияқты әр трекке қатысты ақпарат бар. Дайын аудионың өзін қолжетімді метадеректермен және бастапқы тапсырмамен бірге сақтаңыз.</p><p>Видео немесе таныстырылым үшін таңдалған музыканы нақты материалмен бірге тыңдап көріңіз. Басталуын, ауысуларын және аяқталуын көзделген дыбыс деңгейінде тексеріңіз. Монтажға қызмет ететін бөлікті белгілеп, кейінгі өзгерістер үшін толық тректі сақтаңыз. Музыкалық үзіндінің жарамдылығы дайын туындының даусымен, бейнелерімен және ырғағымен бірлікте бағаланады.</p><p>Жазбаша идеяны, аспаптық нұсқа таңдауын, модель таңдауын және барлық дайын тректерді бірге сақтаңыз. Нұсқаны түзету қажет болса, сөзге фон болғанда тым тығыз естілетін аранжировка немесе тым баяу дамитын басталу сияқты музыкалық сәйкессіздікті анықтаңыз. Пайдалы бағытты сақтап, тапсырманың сол мәселеге қатысты бөлігін өзгертіңіз.</p>",
  "aboutText": "Suno — жазбаша идеяны әнге айналдыратын музыка генерациялау қызметі. Құжатталған автоматты үдеріс көзделген музыканың қысқа сипаттамасын және аспаптық нұсқа таңдауын қабылдап, екі ән жасайды. Дайын тректерден естігіңіз келетін тақырыпты, көңіл күйді және музыкалық бағытты белгілеу үшін тапсырма сипаттамасын қолданыңыз.\n\nАлдымен музыканың атқаратын рөлін анықтаңыз. Түсіндірмеге арналған тыныш фон, қысқа видеоның серпінді басталуы немесе сапар туралы ойлы ән тапсырмаға нақты мақсат береді. Көзделген көңіл күйді және сол мақсатқа маңызды музыкалық ерекшеліктерді бірнеше анық тіркеспен сипаттаңыз.\n\nВокалы бар ән үшін шығармашылық тапсырмада тақырып пен тілді анық көрсетіңіз. Трек жеткізуі тиіс идеяны және орындау арқылы берілуі тиіс реңкті сипаттаңыз. Дайын нәтижені тыңдап, вокалдың, сөздердің және аранжировканың қалай үйлесетінін бағалаңыз. Қарап шығу үшін жасалған трек туралы ақпаратты аудиомен бірге сақтаңыз.\n\nАспаптық нәтиже үшін құжатталған аспаптық нұсқа таңдауын қолданып, музыкалық бағытты мәтінде сипаттаңыз. Жоба үшін маңызды болса, қажетті атмосфераны және негізгі аспаптарды көрсетіңіз. Дайын тректі монтажда алатын орнына қарай бағалаңыз, соның ішінде сөзге фон ретінде естілуі немесе визуалдық ауысуды сүйемелдеуі тиіс бөліктерін тексеріңіз.\n\nАвтоматты үдеріс жіберілген идеядан екі ән жасайды. Оларды бөлек нұсқалар ретінде қарастырып, дайын екі аудиофайлды да сақтаңыз. Әрқайсысын басталуын, даму барысын және аяқталуын қоса толық тыңдаңыз. Нақты тректерді бірдей мақсатқа сай салыстырыңыз, соның ішінде көңіл күйін, аранжировкасын және жоспарланған қолданысқа жарамдылығын бағалаңыз.\n\nГенерация тапсырма түрінде ұйымдастырылады. Нәтижесін тексергенде қайтарылған тапсырма ID мәнін сақтап, дайын тректерді әлі орындалып жатқан элементтерден ажыратыңыз. Құжатталған нәтижеде атауы, күйі, аудионың орналасуы және ұзақтығы сияқты әр трекке қатысты ақпарат бар. Дайын аудионың өзін қолжетімді метадеректермен және бастапқы тапсырмамен бірге сақтаңыз.\n\nВидео немесе таныстырылым үшін таңдалған музыканы нақты материалмен бірге тыңдап көріңіз. Басталуын, ауысуларын және аяқталуын көзделген дыбыс деңгейінде тексеріңіз. Монтажға қызмет ететін бөлікті белгілеп, кейінгі өзгерістер үшін толық тректі сақтаңыз. Музыкалық үзіндінің жарамдылығы дайын туындының даусымен, бейнелерімен және ырғағымен бірлікте бағаланады.\n\nЖазбаша идеяны, аспаптық нұсқа таңдауын, модель таңдауын және барлық дайын тректерді бірге сақтаңыз. Нұсқаны түзету қажет болса, сөзге фон болғанда тым тығыз естілетін аранжировка немесе тым баяу дамитын басталу сияқты музыкалық сәйкессіздікті анықтаңыз. Пайдалы бағытты сақтап, тапсырманың сол мәселеге қатысты бөлігін өзгертіңіз.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "43ab333b66ce5af4d7f9fd4883fcc54441594dfcf0cb0230a8dc600c9e519ec1",
    "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\">•</span><h2 id=\"sheet-title\">suno-api</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>Suno /</span><code>suno-api</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=\"Ultra|music|/v1/music/generations|suno-api\">Музыка</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\">Suno қысқа жазбаша идеядан музыка жасайды. Құжатталған автоматты үдеріс екі ән шығарады және аспаптық нұсқаны таңдауға мүмкіндік береді; дайын аудио мен трек метадеректері генерация тапсырмасы арқылы қайтарылады.</p><dl class=\"card-io\" data-card-io><div><dt>Қабылданатын кіріс деректері</dt><dd>Мәтін</dd></div><div><dt>Нәтижелер</dt><dd>Аудио · Суреттер · Бейне</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>Suno — жазбаша идеяны әнге айналдыратын музыка генерациялау қызметі. Құжатталған автоматты үдеріс көзделген музыканың қысқа сипаттамасын және аспаптық нұсқа таңдауын қабылдап, екі ән жасайды. Дайын тректерден естігіңіз келетін тақырыпты, көңіл күйді және музыкалық бағытты белгілеу үшін тапсырма сипаттамасын қолданыңыз.</p><p>Алдымен музыканың атқаратын рөлін анықтаңыз. Түсіндірмеге арналған тыныш фон, қысқа видеоның серпінді басталуы немесе сапар туралы ойлы ән тапсырмаға нақты мақсат береді. Көзделген көңіл күйді және сол мақсатқа маңызды музыкалық ерекшеліктерді бірнеше анық тіркеспен сипаттаңыз.</p><p>Вокалы бар ән үшін шығармашылық тапсырмада тақырып пен тілді анық көрсетіңіз. Трек жеткізуі тиіс идеяны және орындау арқылы берілуі тиіс реңкті сипаттаңыз. Дайын нәтижені тыңдап, вокалдың, сөздердің және аранжировканың қалай үйлесетінін бағалаңыз. Қарап шығу үшін жасалған трек туралы ақпаратты аудиомен бірге сақтаңыз.</p><p>Аспаптық нәтиже үшін құжатталған аспаптық нұсқа таңдауын қолданып, музыкалық бағытты мәтінде сипаттаңыз. Жоба үшін маңызды болса, қажетті атмосфераны және негізгі аспаптарды көрсетіңіз. Дайын тректі монтажда алатын орнына қарай бағалаңыз, соның ішінде сөзге фон ретінде естілуі немесе визуалдық ауысуды сүйемелдеуі тиіс бөліктерін тексеріңіз.</p><p>Автоматты үдеріс жіберілген идеядан екі ән жасайды. Оларды бөлек нұсқалар ретінде қарастырып, дайын екі аудиофайлды да сақтаңыз. Әрқайсысын басталуын, даму барысын және аяқталуын қоса толық тыңдаңыз. Нақты тректерді бірдей мақсатқа сай салыстырыңыз, соның ішінде көңіл күйін, аранжировкасын және жоспарланған қолданысқа жарамдылығын бағалаңыз.</p><p>Генерация тапсырма түрінде ұйымдастырылады. Нәтижесін тексергенде қайтарылған тапсырма ID мәнін сақтап, дайын тректерді әлі орындалып жатқан элементтерден ажыратыңыз. Құжатталған нәтижеде атауы, күйі, аудионың орналасуы және ұзақтығы сияқты әр трекке қатысты ақпарат бар. Дайын аудионың өзін қолжетімді метадеректермен және бастапқы тапсырмамен бірге сақтаңыз.</p><p>Видео немесе таныстырылым үшін таңдалған музыканы нақты материалмен бірге тыңдап көріңіз. Басталуын, ауысуларын және аяқталуын көзделген дыбыс деңгейінде тексеріңіз. Монтажға қызмет ететін бөлікті белгілеп, кейінгі өзгерістер үшін толық тректі сақтаңыз. Музыкалық үзіндінің жарамдылығы дайын туындының даусымен, бейнелерімен және ырғағымен бірлікте бағаланады.</p><p>Жазбаша идеяны, аспаптық нұсқа таңдауын, модель таңдауын және барлық дайын тректерді бірге сақтаңыз. Нұсқаны түзету қажет болса, сөзге фон болғанда тым тығыз естілетін аранжировка немесе тым баяу дамитын басталу сияқты музыкалық сәйкессіздікті анықтаңыз. Пайдалы бағытты сақтап, тапсырманың сол мәселеге қатысты бөлігін өзгертіңіз.</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 Ultra · Music</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>audio</code>, <code>image</code>, <code>video</code></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><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>suno-api</div><div>Шарттар: Ailoot жүйесінің дәл осы маршруттау селекторын пайдаланыңыз.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">gpt_description_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>Шарттар: Музыкалық идеяны немесе әннің тақырыбын сипаттаңыз.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">mv</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>chirp-fenix, chirp-crow, chirp-bluejay, chirp-auk, chirp-v4, chirp-v3-5</div><div>Шарттар: Suno жүйесінің нақты құжатталған нұсқасын таңдаңыз; мысалда chirp-crow (v5) қолданылады.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">make_instrumental</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>boolean</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Шарттар: Аспаптық музыка үшін true, ал ән үшін false мәнін орнатыңыз.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr></tbody></table></div><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>content_type</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>application/json</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>model, gpt_description_prompt, mv, make_instrumental</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>optional</code></th><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>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>conditions</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>Ailoot жүйесінің дәл осы маршруттау селекторын пайдаланыңыз., Музыкалық идеяны немесе әннің тақырыбын сипаттаңыз., Suno жүйесінің нақты құжатталған нұсқасын таңдаңыз; мысалда chirp-crow (v5) қолданылады., Аспаптық музыка үшін true, ал ән үшін false мәнін орнатыңыз.</td></tr></tbody></table></div><p>Өмірлік цикл: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/music/generations/{request_id}</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\">Тарифтер</h3><div class=\"card-result-process\" data-billing-basis><h5>Қорытынды төлем қалай есептеледі</h5><p class=\"note-s\">Көрсетілген тарифтер генерация басталғанға дейінгі құнын бағалауға арналған. Соңғы төлем бастапқы генерация үшін тіркелген құннан есептеледі. Нәтиженің өлшенген ұзақтығы мен болжамды көлемдер төлемге негіз болатын түпкілікті көлем болып саналмайды.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.</p><dl data-price-conditions><dt>Жылдам режим</dt><dd>Көрсетілмеген <span class=\"note-s\">Жылдам режим таңдалғанда</span></dd><dt>Икемді режим</dt><dd>Көрсетілмеген <span class=\"note-s\">flex режимі таңдалғанда</span></dd><dt>Ой қорытудың ең жоғары деңгейі</dt><dd>Көрсетілмеген <span class=\"note-s\">Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда</span></dd></dl></div><div data-declared-tariff-pricing><h4>Салыстыруға арналған болжамды мөлшерлемелер</h4><h4>Баптаулар бойынша бағалар</h4><p class=\"note-s\">Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Баптау</th><th>Мөлшерлемелер кестесі</th><th>Болжамды мөлшер</th><th>Есептелетін мөлшер</th><th>Төлем</th></tr></thead><tbody><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Токендердің базалық тарифтері</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>Негізгі мөлшерлеме</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>—</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>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Шығыс · Шығыс токендері · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшті оқу · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу, 1 сағ · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div></td></tr><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Әр сұрауға</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>—</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.2</b> <span class=\"price-unit\">әр сұрау үшін</span></div></td></tr><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Генерацияның болжамды құны</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>бір генерацияға арналған болжам</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.2</b> <span class=\"price-unit\">жасауға дейінгі бағалау</span></div><p class=\"note-s\">Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. <a href=\"/docs/kk/billing/reserve/\">Резервтеу мен төлемді есептеу тәртібі →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Сұрау мысалдары</h3><h4>Ailoot Ultra · Music</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-2818-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2818-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · бір рет құрып, қабылдау жазбасын сақтаңыз</button><button class=\"cg-tab\" id=\"model-code-2818-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2818-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Бастапқы тапсырманы оқыңыз</button><button class=\"cg-tab\" id=\"model-code-2818-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2818-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Өзіңізге тиесілі толық дайын болған әрбір ресурсты сақтаңыз</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-2818-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2818-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON&#39;\n{\n  &quot;model&quot;: &quot;suno-api&quot;,\n  &quot;gpt_description_prompt&quot;: &quot;古诗词&quot;,\n  &quot;mv&quot;: &quot;chirp-crow&quot;,\n  &quot;make_instrumental&quot;: false\n}\nJSON\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\n# Create once; retain id, polling_url, original task identifiers and every header.\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2818-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2818-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_STATUS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nu=urljoin(&quot;https://api.ailoot.ai&quot;,r[&quot;polling_url&quot;])\np=urlsplit(u)\nif p.scheme!=&quot;https&quot; or p.netloc!=&quot;api.ailoot.ai&quot; or p.username or p.password:\n    raise SystemExit(&quot;Unexpected returned polling URL; preserve the response&quot;)\nsubprocess.run([&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,u,&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;],&quot;-D&quot;,&quot;status-headers.txt&quot;,&quot;-o&quot;,&quot;status.json&quot;],check=True)\n# Read this same original polling_url again while pending.\n# Preserve unknown/result_pending_check; do not repeat creation.\nPY_STATUS\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2818-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2818-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&quot;status.json&quot;).read_text())\nroles={}\ndef visit(v,path=&quot;&quot;):\n    if isinstance(v,dict):\n        for k,x in v.items(): visit(x,path+&quot;/&quot;+k)\n    elif isinstance(v,list):\n        for i,x in enumerate(v): visit(x,path+&quot;/&quot;+str(i))\n    elif isinstance(v,str):\n        u=urljoin(&quot;https://api.ailoot.ai&quot;,v); p=urlsplit(u)\n        if p.scheme==&quot;https&quot; and p.netloc==&quot;api.ailoot.ai&quot; and not p.username and not p.password and p.path.startswith(&quot;/v1/media/assets/&quot;) and p.path.endswith(&quot;/content&quot;):\n            roles.setdefault(u,[]).append(path)\nvisit(r)\nif not roles: raise SystemExit(&quot;No completed owned assets; retain the original status&quot;)\nmanifest=[]\nfor i,(u,paths) in enumerate(roles.items()):\n    target=Path(f&quot;asset-{i}.bin&quot;)\n    subprocess.run([&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,u,&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;],&quot;-o&quot;,str(target)],check=True)\n    raw=target.read_bytes()\n    if not raw: raise SystemExit(&quot;Empty asset; retain original status and metadata&quot;)\n    ext=&quot;glb&quot; if raw[:4]==b&quot;glTF&quot; else &quot;png&quot; if raw[:8]==b&quot;\\x89PNG\\r\\n\\x1a\\n&quot; else &quot;jpg&quot; if raw[:3]==b&quot;\\xff\\xd8\\xff&quot; else &quot;webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else &quot;mp4&quot; if raw[4:8]==b&quot;ftyp&quot; else &quot;bin&quot;\n    name=f&quot;asset-{i}.{ext}&quot;\n    if target.name!=name: target.rename(name)\n    manifest.append({&quot;file&quot;:name,&quot;response_paths&quot;:paths,&quot;bytes&quot;:len(raw)})\nPath(&quot;asset-manifest.json&quot;).write_text(json.dumps(manifest,indent=2))\nprint(&quot;Saved&quot;,len(manifest),&quot;unique owned assets; every response role retained&quot;)\nPY_ASSETS\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Нәтижелерді алу және сақтау</h3><h4>Ailoot Ultra · Music</h4><p class=\"note-s\">Қайтарылған әр суретті жүктеп алыңыз немесе оның Base64 мазмұнын сақтаңыз</p><ul class=\"card-result-paths\"><li><code>GET /v1/music/generations/{request_id}</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\">Толық жауап пен тақырыптарды, бастапқы идентификаторларды, әрбір нақты шығыс нәтижесін және пайдалану мен есепке алудың барлық өрістерін сақтаңыз. Иелігіңіздегі әрбір бірегей ресурсты сақтап, оған сілтейтін барлық рөлді сақтаңыз.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">Қайтарылған ашық тапсырма не операция id мәнін және барлық тақырыптарды сақтаңыз. Тек бастапқы тапсырманы оқыңыз; unknown немесе result_pending_check күйі қайта жасауға рұқсат бермейді.</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\">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\">polling_url</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\">provider_task_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.task_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.status</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.data[].audio_url</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.data[].image_url</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.data[].image_large_url</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.data[].video_url</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</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=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=suno-api&amp;route=Ultra&amp;caller=suno-api&amp;fmt=music\"><code>suno-api</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\">Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.</p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=suno-api&amp;route=Ultra&amp;caller=suno-api&amp;fmt=music\"><code>suno-api</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "suno-api",
        "fmt": "music",
        "http": "POST",
        "path": "/v1/music/generations",
        "request_model_id": "suno-api",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|music|/v1/music/generations|suno-api",
      "ordinal": 0,
      "rawMethod": {
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "completed_states": [],
              "completion_description": "The selected declaration waits for at least two identified rows with ready status and audio_url; a nonempty streaming response is not completion. Top-level statuses alone are not the completion rule.",
              "completion_rule": {
                "completion_array_path": "data.data",
                "completion_audio_field": "audio_url",
                "completion_identity_fields": [
                  "id",
                  "clip_id"
                ],
                "completion_min_items": 2,
                "completion_ready_statuses": [
                  "complete",
                  "SUCCESS"
                ],
                "completion_status_field": "status"
              },
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "failed_states": [],
              "id_source": "Use returned polling_url and id. Keep provider_task_id and X-Ailoot-Task-Id as separate original identifiers.",
              "mode": "submit_once_poll_original",
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned signed URL; never construct a token."
              },
              "pending_states": [],
              "state_field": "data.status",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/music/generations/{request_id}"
                }
              ],
              "unknown": "Қайтарылған ашық тапсырма не операция id мәнін және барлық тақырыптарды сақтаңыз. Тек бастапқы тапсырманы оқыңыз; unknown немесе result_pending_check күйі қайта жасауға рұқсат бермейді.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Толық жауап пен тақырыптарды, бастапқы идентификаторларды, әрбір нақты шығыс нәтижесін және пайдалану мен есепке алудың барлық өрістерін сақтаңыз. Иелігіңіздегі әрбір бірегей ресурсты сақтап, оған сілтейтін барлық рөлді сақтаңыз.",
              "every_actual_output": true,
              "family": "music",
              "fields": [
                {
                  "name": "id",
                  "type": "string"
                },
                {
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "name": "data.task_id",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "string"
                },
                {
                  "name": "data.data[].audio_url",
                  "type": "string"
                },
                {
                  "name": "data.data[].image_url",
                  "type": "string"
                },
                {
                  "name": "data.data[].image_large_url",
                  "type": "string"
                },
                {
                  "name": "data.data[].video_url",
                  "type": "string"
                }
              ],
              "maximum_outputs": null,
              "minimum_ready_songs": 2
            },
            "parameters": [
              {
                "conditions": "Ailoot жүйесінің дәл осы маршруттау селекторын пайдаланыңыз.",
                "default_known": false,
                "enum": [
                  "suno-api"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Музыкалық идеяны немесе әннің тақырыбын сипаттаңыз.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "gpt_description_prompt",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Suno жүйесінің нақты құжатталған нұсқасын таңдаңыз; мысалда chirp-crow (v5) қолданылады.",
                "default_known": false,
                "enum": [
                  "chirp-fenix",
                  "chirp-crow",
                  "chirp-bluejay",
                  "chirp-auk",
                  "chirp-v4",
                  "chirp-v3-5"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "mv",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Аспаптық музыка үшін true, ал ән үшін false мәнін орнатыңыз.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "make_instrumental",
                "required": true,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "gpt_description_prompt": {
                  "type": "string"
                },
                "make_instrumental": {
                  "type": "boolean"
                },
                "model": {
                  "enum": [
                    "suno-api"
                  ],
                  "type": "string"
                },
                "mv": {
                  "enum": [
                    "chirp-fenix",
                    "chirp-crow",
                    "chirp-bluejay",
                    "chirp-auk",
                    "chirp-v4",
                    "chirp-v3-5"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "gpt_description_prompt",
                "mv",
                "make_instrumental"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "gpt_description_prompt": "古诗词",
                "make_instrumental": false,
                "model": "suno-api",
                "mv": "chirp-crow"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Ailoot жүйесінің дәл осы маршруттау селекторын пайдаланыңыз.",
              "Музыкалық идеяны немесе әннің тақырыбын сипаттаңыз.",
              "Suno жүйесінің нақты құжатталған нұсқасын таңдаңыз; мысалда chirp-crow (v5) қолданылады.",
              "Аспаптық музыка үшін true, ал ән үшін false мәнін орнатыңыз."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "gpt_description_prompt",
              "mv",
              "make_instrumental"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "completed_states": [],
            "completion_description": "The selected declaration waits for at least two identified rows with ready status and audio_url; a nonempty streaming response is not completion. Top-level statuses alone are not the completion rule.",
            "completion_rule": {
              "completion_array_path": "data.data",
              "completion_audio_field": "audio_url",
              "completion_identity_fields": [
                "id",
                "clip_id"
              ],
              "completion_min_items": 2,
              "completion_ready_statuses": [
                "complete",
                "SUCCESS"
              ],
              "completion_status_field": "status"
            },
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "failed_states": [],
            "id_source": "Use returned polling_url and id. Keep provider_task_id and X-Ailoot-Task-Id as separate original identifiers.",
            "mode": "submit_once_poll_original",
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned signed URL; never construct a token."
            },
            "pending_states": [],
            "state_field": "data.status",
            "status": [
              {
                "http": "GET",
                "path": "/v1/music/generations/{request_id}"
              }
            ],
            "unknown": "Keep the returned public task or operation id and all headers. Read only the original task; unknown or result_pending_check does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "every_actual_output": true,
            "family": "music",
            "fields": [
              {
                "name": "id",
                "type": "string"
              },
              {
                "name": "polling_url",
                "type": "string"
              },
              {
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "name": "data.task_id",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "string"
              },
              {
                "name": "data.data[].audio_url",
                "type": "string"
              },
              {
                "name": "data.data[].image_url",
                "type": "string"
              },
              {
                "name": "data.data[].image_large_url",
                "type": "string"
              },
              {
                "name": "data.data[].video_url",
                "type": "string"
              }
            ],
            "maximum_outputs": null,
            "minimum_ready_songs": 2
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          },
          {
            "basis": "Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Генерацияның болжамды құны",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"suno-api\",\n  \"gpt_description_prompt\": \"古诗词\",\n  \"mv\": \"chirp-crow\",\n  \"make_instrumental\": false\n}\nJSON\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\n# Create once; retain id, polling_url, original task identifiers and every header.\n",
            "label": "curl · create once and retain receipt",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_STATUS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\nu=urljoin(\"https://api.ailoot.ai\",r[\"polling_url\"])\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or p.username or p.password:\n    raise SystemExit(\"Unexpected returned polling URL; preserve the response\")\nsubprocess.run([\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u,\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"],\"-D\",\"status-headers.txt\",\"-o\",\"status.json\"],check=True)\n# Read this same original polling_url again while pending.\n# Preserve unknown/result_pending_check; do not repeat creation.\nPY_STATUS\n",
            "label": "Read the original task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(\"status.json\").read_text())\nroles={}\ndef visit(v,path=\"\"):\n    if isinstance(v,dict):\n        for k,x in v.items(): visit(x,path+\"/\"+k)\n    elif isinstance(v,list):\n        for i,x in enumerate(v): visit(x,path+\"/\"+str(i))\n    elif isinstance(v,str):\n        u=urljoin(\"https://api.ailoot.ai\",v); p=urlsplit(u)\n        if p.scheme==\"https\" and p.netloc==\"api.ailoot.ai\" and not p.username and not p.password and p.path.startswith(\"/v1/media/assets/\") and p.path.endswith(\"/content\"):\n            roles.setdefault(u,[]).append(path)\nvisit(r)\nif not roles: raise SystemExit(\"No completed owned assets; retain the original status\")\nmanifest=[]\nfor i,(u,paths) in enumerate(roles.items()):\n    target=Path(f\"asset-{i}.bin\")\n    subprocess.run([\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u,\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"],\"-o\",str(target)],check=True)\n    raw=target.read_bytes()\n    if not raw: raise SystemExit(\"Empty asset; retain original status and metadata\")\n    ext=\"glb\" if raw[:4]==b\"glTF\" else \"png\" if raw[:8]==b\"\\x89PNG\\r\\n\\x1a\\n\" else \"jpg\" if raw[:3]==b\"\\xff\\xd8\\xff\" else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"mp4\" if raw[4:8]==b\"ftyp\" else \"bin\"\n    name=f\"asset-{i}.{ext}\"\n    if target.name!=name: target.rename(name)\n    manifest.append({\"file\":name,\"response_paths\":paths,\"bytes\":len(raw)})\nPath(\"asset-manifest.json\").write_text(json.dumps(manifest,indent=2))\nprint(\"Saved\",len(manifest),\"unique owned assets; every response role retained\")\nPY_ASSETS\n",
            "label": "Save every completed owned asset",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": null,
        "output": [
          "audio",
          "image",
          "video"
        ],
        "path": "/v1/music/generations",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "suno-api",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/music/generations/{request_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "suno-api",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "7a2fbee884c19e8b51fecc6d7fde533f7fdd074a2059b7d8e2f3b9073f8680ea",
    "input_html_sha256": "f13668dcd78685a1d1c1af2bc7ec46788b0350a1bfbaac22bdcfd7624662f29a",
    "private_audit_sha256": "164291f4818a6fa6593f55e3e7cd2ffc5940a1de984e427a29e1777db7d99cdf",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/kk/suno-api/",
    "description": "Suno қысқа жазбаша идеядан музыка жасайды. Құжатталған автоматты үдеріс екі ән шығарады және аспаптық нұсқаны таңдауға мүмкіндік береді; дайын аудио мен трек метадеректері генерация тапсырмасы арқылы қайтарылады.",
    "locale": "kk",
    "md_url": "https://ailoot.ai/models/kk/suno-api/index.md",
    "title": "suno-api — Ailoot",
    "url": "https://ailoot.ai/models/kk/suno-api/"
  },
  "rawModel": {
    "about": "Suno — жазбаша идеяны әнге айналдыратын музыка генерациялау қызметі. Құжатталған автоматты үдеріс көзделген музыканың қысқа сипаттамасын және аспаптық нұсқа таңдауын қабылдап, екі ән жасайды. Дайын тректерден естігіңіз келетін тақырыпты, көңіл күйді және музыкалық бағытты белгілеу үшін тапсырма сипаттамасын қолданыңыз.\n\nАлдымен музыканың атқаратын рөлін анықтаңыз. Түсіндірмеге арналған тыныш фон, қысқа видеоның серпінді басталуы немесе сапар туралы ойлы ән тапсырмаға нақты мақсат береді. Көзделген көңіл күйді және сол мақсатқа маңызды музыкалық ерекшеліктерді бірнеше анық тіркеспен сипаттаңыз.\n\nВокалы бар ән үшін шығармашылық тапсырмада тақырып пен тілді анық көрсетіңіз. Трек жеткізуі тиіс идеяны және орындау арқылы берілуі тиіс реңкті сипаттаңыз. Дайын нәтижені тыңдап, вокалдың, сөздердің және аранжировканың қалай үйлесетінін бағалаңыз. Қарап шығу үшін жасалған трек туралы ақпаратты аудиомен бірге сақтаңыз.\n\nАспаптық нәтиже үшін құжатталған аспаптық нұсқа таңдауын қолданып, музыкалық бағытты мәтінде сипаттаңыз. Жоба үшін маңызды болса, қажетті атмосфераны және негізгі аспаптарды көрсетіңіз. Дайын тректі монтажда алатын орнына қарай бағалаңыз, соның ішінде сөзге фон ретінде естілуі немесе визуалдық ауысуды сүйемелдеуі тиіс бөліктерін тексеріңіз.\n\nАвтоматты үдеріс жіберілген идеядан екі ән жасайды. Оларды бөлек нұсқалар ретінде қарастырып, дайын екі аудиофайлды да сақтаңыз. Әрқайсысын басталуын, даму барысын және аяқталуын қоса толық тыңдаңыз. Нақты тректерді бірдей мақсатқа сай салыстырыңыз, соның ішінде көңіл күйін, аранжировкасын және жоспарланған қолданысқа жарамдылығын бағалаңыз.\n\nГенерация тапсырма түрінде ұйымдастырылады. Нәтижесін тексергенде қайтарылған тапсырма ID мәнін сақтап, дайын тректерді әлі орындалып жатқан элементтерден ажыратыңыз. Құжатталған нәтижеде атауы, күйі, аудионың орналасуы және ұзақтығы сияқты әр трекке қатысты ақпарат бар. Дайын аудионың өзін қолжетімді метадеректермен және бастапқы тапсырмамен бірге сақтаңыз.\n\nВидео немесе таныстырылым үшін таңдалған музыканы нақты материалмен бірге тыңдап көріңіз. Басталуын, ауысуларын және аяқталуын көзделген дыбыс деңгейінде тексеріңіз. Монтажға қызмет ететін бөлікті белгілеп, кейінгі өзгерістер үшін толық тректі сақтаңыз. Музыкалық үзіндінің жарамдылығы дайын туындының даусымен, бейнелерімен және ырғағымен бірлікте бағаланады.\n\nЖазбаша идеяны, аспаптық нұсқа таңдауын, модель таңдауын және барлық дайын тректерді бірге сақтаңыз. Нұсқаны түзету қажет болса, сөзге фон болғанда тым тығыз естілетін аранжировка немесе тым баяу дамитын басталу сияқты музыкалық сәйкессіздікті анықтаңыз. Пайдалы бағытты сақтап, тапсырманың сол мәселеге қатысты бөлігін өзгертіңіз.",
    "about_sha256": "4577a556b7300fe05a1a3b18f598fb0e5c8f131953ec38987207d4e05db8bb0a",
    "alias_of": null,
    "aliases": [],
    "author": "Suno",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "audio"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Конфигурация бағалары туралы толық ақпарат — егжей-тегжейлі мәліметтерде."
      }
    ],
    "ctx": null,
    "display_name": "suno-api",
    "formats": [
      "music"
    ],
    "id": "suno-api",
    "input": [
      "text"
    ],
    "kind": "music",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "completed_states": [],
              "completion_description": "The selected declaration waits for at least two identified rows with ready status and audio_url; a nonempty streaming response is not completion. Top-level statuses alone are not the completion rule.",
              "completion_rule": {
                "completion_array_path": "data.data",
                "completion_audio_field": "audio_url",
                "completion_identity_fields": [
                  "id",
                  "clip_id"
                ],
                "completion_min_items": 2,
                "completion_ready_statuses": [
                  "complete",
                  "SUCCESS"
                ],
                "completion_status_field": "status"
              },
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/music/generations"
              },
              "failed_states": [],
              "id_source": "Use returned polling_url and id. Keep provider_task_id and X-Ailoot-Task-Id as separate original identifiers.",
              "mode": "submit_once_poll_original",
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned signed URL; never construct a token."
              },
              "pending_states": [],
              "state_field": "data.status",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/music/generations/{request_id}"
                }
              ],
              "unknown": "Қайтарылған ашық тапсырма не операция id мәнін және барлық тақырыптарды сақтаңыз. Тек бастапқы тапсырманы оқыңыз; unknown немесе result_pending_check күйі қайта жасауға рұқсат бермейді.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Толық жауап пен тақырыптарды, бастапқы идентификаторларды, әрбір нақты шығыс нәтижесін және пайдалану мен есепке алудың барлық өрістерін сақтаңыз. Иелігіңіздегі әрбір бірегей ресурсты сақтап, оған сілтейтін барлық рөлді сақтаңыз.",
              "every_actual_output": true,
              "family": "music",
              "fields": [
                {
                  "name": "id",
                  "type": "string"
                },
                {
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "name": "data.task_id",
                  "type": "string"
                },
                {
                  "name": "data.status",
                  "type": "string"
                },
                {
                  "name": "data.data[].audio_url",
                  "type": "string"
                },
                {
                  "name": "data.data[].image_url",
                  "type": "string"
                },
                {
                  "name": "data.data[].image_large_url",
                  "type": "string"
                },
                {
                  "name": "data.data[].video_url",
                  "type": "string"
                }
              ],
              "maximum_outputs": null,
              "minimum_ready_songs": 2
            },
            "parameters": [
              {
                "conditions": "Ailoot жүйесінің дәл осы маршруттау селекторын пайдаланыңыз.",
                "default_known": false,
                "enum": [
                  "suno-api"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Музыкалық идеяны немесе әннің тақырыбын сипаттаңыз.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "gpt_description_prompt",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Suno жүйесінің нақты құжатталған нұсқасын таңдаңыз; мысалда chirp-crow (v5) қолданылады.",
                "default_known": false,
                "enum": [
                  "chirp-fenix",
                  "chirp-crow",
                  "chirp-bluejay",
                  "chirp-auk",
                  "chirp-v4",
                  "chirp-v3-5"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "mv",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Аспаптық музыка үшін true, ал ән үшін false мәнін орнатыңыз.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "make_instrumental",
                "required": true,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "gpt_description_prompt": {
                  "type": "string"
                },
                "make_instrumental": {
                  "type": "boolean"
                },
                "model": {
                  "enum": [
                    "suno-api"
                  ],
                  "type": "string"
                },
                "mv": {
                  "enum": [
                    "chirp-fenix",
                    "chirp-crow",
                    "chirp-bluejay",
                    "chirp-auk",
                    "chirp-v4",
                    "chirp-v3-5"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "gpt_description_prompt",
                "mv",
                "make_instrumental"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "gpt_description_prompt": "古诗词",
                "make_instrumental": false,
                "model": "suno-api",
                "mv": "chirp-crow"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Ailoot жүйесінің дәл осы маршруттау селекторын пайдаланыңыз.",
              "Музыкалық идеяны немесе әннің тақырыбын сипаттаңыз.",
              "Suno жүйесінің нақты құжатталған нұсқасын таңдаңыз; мысалда chirp-crow (v5) қолданылады.",
              "Аспаптық музыка үшін true, ал ән үшін false мәнін орнатыңыз."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "gpt_description_prompt",
              "mv",
              "make_instrumental"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "completed_states": [],
            "completion_description": "The selected declaration waits for at least two identified rows with ready status and audio_url; a nonempty streaming response is not completion. Top-level statuses alone are not the completion rule.",
            "completion_rule": {
              "completion_array_path": "data.data",
              "completion_audio_field": "audio_url",
              "completion_identity_fields": [
                "id",
                "clip_id"
              ],
              "completion_min_items": 2,
              "completion_ready_statuses": [
                "complete",
                "SUCCESS"
              ],
              "completion_status_field": "status"
            },
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/music/generations"
            },
            "failed_states": [],
            "id_source": "Use returned polling_url and id. Keep provider_task_id and X-Ailoot-Task-Id as separate original identifiers.",
            "mode": "submit_once_poll_original",
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned signed URL; never construct a token."
            },
            "pending_states": [],
            "state_field": "data.status",
            "status": [
              {
                "http": "GET",
                "path": "/v1/music/generations/{request_id}"
              }
            ],
            "unknown": "Keep the returned public task or operation id and all headers. Read only the original task; unknown or result_pending_check does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/music/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "every_actual_output": true,
            "family": "music",
            "fields": [
              {
                "name": "id",
                "type": "string"
              },
              {
                "name": "polling_url",
                "type": "string"
              },
              {
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "name": "data.task_id",
                "type": "string"
              },
              {
                "name": "data.status",
                "type": "string"
              },
              {
                "name": "data.data[].audio_url",
                "type": "string"
              },
              {
                "name": "data.data[].image_url",
                "type": "string"
              },
              {
                "name": "data.data[].image_large_url",
                "type": "string"
              },
              {
                "name": "data.data[].video_url",
                "type": "string"
              }
            ],
            "maximum_outputs": null,
            "minimum_ready_songs": 2
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          },
          {
            "basis": "Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Генерацияның болжамды құны",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"suno-api\",\n  \"gpt_description_prompt\": \"古诗词\",\n  \"mv\": \"chirp-crow\",\n  \"make_instrumental\": false\n}\nJSON\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\n# Create once; retain id, polling_url, original task identifiers and every header.\n",
            "label": "curl · create once and retain receipt",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_STATUS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\nu=urljoin(\"https://api.ailoot.ai\",r[\"polling_url\"])\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or p.username or p.password:\n    raise SystemExit(\"Unexpected returned polling URL; preserve the response\")\nsubprocess.run([\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u,\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"],\"-D\",\"status-headers.txt\",\"-o\",\"status.json\"],check=True)\n# Read this same original polling_url again while pending.\n# Preserve unknown/result_pending_check; do not repeat creation.\nPY_STATUS\n",
            "label": "Read the original task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(\"status.json\").read_text())\nroles={}\ndef visit(v,path=\"\"):\n    if isinstance(v,dict):\n        for k,x in v.items(): visit(x,path+\"/\"+k)\n    elif isinstance(v,list):\n        for i,x in enumerate(v): visit(x,path+\"/\"+str(i))\n    elif isinstance(v,str):\n        u=urljoin(\"https://api.ailoot.ai\",v); p=urlsplit(u)\n        if p.scheme==\"https\" and p.netloc==\"api.ailoot.ai\" and not p.username and not p.password and p.path.startswith(\"/v1/media/assets/\") and p.path.endswith(\"/content\"):\n            roles.setdefault(u,[]).append(path)\nvisit(r)\nif not roles: raise SystemExit(\"No completed owned assets; retain the original status\")\nmanifest=[]\nfor i,(u,paths) in enumerate(roles.items()):\n    target=Path(f\"asset-{i}.bin\")\n    subprocess.run([\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u,\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"],\"-o\",str(target)],check=True)\n    raw=target.read_bytes()\n    if not raw: raise SystemExit(\"Empty asset; retain original status and metadata\")\n    ext=\"glb\" if raw[:4]==b\"glTF\" else \"png\" if raw[:8]==b\"\\x89PNG\\r\\n\\x1a\\n\" else \"jpg\" if raw[:3]==b\"\\xff\\xd8\\xff\" else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"mp4\" if raw[4:8]==b\"ftyp\" else \"bin\"\n    name=f\"asset-{i}.{ext}\"\n    if target.name!=name: target.rename(name)\n    manifest.append({\"file\":name,\"response_paths\":paths,\"bytes\":len(raw)})\nPath(\"asset-manifest.json\").write_text(json.dumps(manifest,indent=2))\nprint(\"Saved\",len(manifest),\"unique owned assets; every response role retained\")\nPY_ASSETS\n",
            "label": "Save every completed owned asset",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "music",
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Music",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": null,
        "output": [
          "audio",
          "image",
          "video"
        ],
        "path": "/v1/music/generations",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "suno-api",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/music/generations/{request_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "suno-api",
        "request_model_id": "suno-api",
        "route_label": "Ultra"
      }
    ],
    "name": "suno-api",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.2,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.2,
      "varies": false
    },
    "short": "Suno қысқа жазбаша идеядан музыка жасайды. Құжатталған автоматты үдеріс екі ән шығарады және аспаптық нұсқаны таңдауға мүмкіндік береді; дайын аудио мен трек метадеректері генерация тапсырмасы арқылы қайтарылады.",
    "short_sha256": "ddb8a7d23b32f2b88fdfb8424245950c6ac5755022e52f78d92654adcf873138"
  },
  "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": "Suno қысқа жазбаша идеядан музыка жасайды. Құжатталған автоматты үдеріс екі ән шығарады және аспаптық нұсқаны таңдауға мүмкіндік береді; дайын аудио мен трек метадеректері генерация тапсырмасы арқылы қайтарылады.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "3915df1c45de780604362b5a79067620a1e4a1c13674ad6e74d5aeda052441ef",
    "renderer_sha256": "def3bb6e69c8ddb72f88ec6540bbe55d0e503790f964d84073ecda781b13bedf"
  },
  "sourceRevision": "8e6ec23691f1841bfebf27817dd13555566a650adf87df70f3ebf901a70d1546"
}
