{
  "aboutHtml": "<p>DeepSeek V3.2 yra DeepSeek tekstinis modelis, skirtas samprotavimui ir agentiniam darbui, akcentuojant veiksmingą ilgo konteksto apdorojimą. Pagrindinius pakeitimus gamintojas sieja su DeepSeek Sparse Attention, išplėstu skatinamojo mokymosi karkasu ir agentinių užduočių mokymo grandine. Jis priima rašytinius klausimus bei kontekstą ir pateikia tekstą, įskaitant atsakymą, kodą arba įrankio kvietimo turinį. Jis skiriasi nuo ankstesnio V3.2 Exp leidimo ir atskiro samprotavimo varianto Speciale.</p><p>DeepSeek Sparse Attention papildo latentinio dėmesio architektūrą indeksavimo moduliu ir smulkiai detalizuota žetonų atranka. Ilgai sekai indeksavimo modulis parenka ankstesnių žetonų informaciją, naudojamą pagrindiniame dėmesio skaičiavime. Ataskaitoje teigiama, kad tai architektūrinis pokytis nuo V3.1 Terminus ir naudojama ta pati architektūra kaip V3.2 Exp. Paskelbtas kontekstas yra 128K žetonų, todėl galima naudoti daug šaltinių medžiagos ir tęsti užduotį, tačiau sugeneruotas samprotavimas bei įrankių istorija taip pat naudoja turimą kontekstą.</p><p>Papildomas mokymas apima atsakymus tiek su samprotavimu, tiek be jo matematikos, programavimo, loginio samprotavimo, bendrų agentų užduočių, agentinio programavimo ir paieškos srityse. Sričių specialistai pateikia duomenis, kurie sujungiami į galutinį modelį, o po to taikomas mišrus skatinamasis mokymasis. Įprastam klausimui gali tikti tiesioginis atsakymas; sudėtingai problemai samprotavimo darbo procesas gali išplėtoti sprendimą prieš pateikiant galutinį rezultatą. Reikiamą atsakymą arba rezultatą nurodykite nepriklausomai nuo tarpinio samprotavimo.</p><p>Esminis leidimo pakeitimas yra samprotavimas su įrankiais. Atnaujintas pokalbio formatas leidžia tęsti samprotavimą vykdant užduotį su įrankių kvietimais, užuot laikęs analizę ir veiksmą nesusijusiais etapais. Modelio pasirinktą operaciją įvykdo programa ir grąžina jos rezultatą kitam žingsniui. Gamintojo įrankių konteksto taisyklė išsaugo ankstesnį samprotavimą, kol pridedami tik su įrankiais susiję pranešimai; gavusi naują naudotojo pranešimą, ji pašalina tą samprotavimą, tačiau išlaiko įrankių kvietimus ir rezultatus. Šiam veikimui svarbu tinkamai atskirti pokalbio vaidmenis.</p><p>Programavimui pateikite pradinio kodo fragmentą arba susijusius failus, pastebėtą problemą, numatomą rezultatą ir sąlygas, kurias pakeitimas turi išsaugoti. Pavyzdinė užduotis: „Naudodami pateiktą kodą ir įrankių rezultatus nustatykite priežastį, pasiūlykite mažiausią pataisą ir grąžinkite galutinę pataisą su ją pagrindžiančiu patikros rezultatu.“ Paieškos užduočiai aprašykite klausimą, reikiamus įrodymus ir tai, kas laikoma užbaigtu atsakymu. Paieškos ir vykdymo įrankius pateikia aplinkinė programa, o ne vien tekstas.</p><p>Vietiniam naudojimui gamintojas rekomenduoja temperature 1.0 ir top-p 0.95. V3.2 pristato patikslintą įrankių kvietimų pateikimą ir specialų pranešimų koduotuvą. Jo developer vaidmuo rezervuotas gamintojo paieškos agento šablonui, o oficiali API šio vaidmens nepriima. Pavyzdinis analizatorius tikisi taisyklingos išvesties ir netaiso netaisyklingų rezultatų; kai programa naudoja sugeneruotus laukus arba įrankių argumentus, prieš atlikdama su jais veiksmus ji turėtų patikrinti jų struktūrą.</p><p>Techninėje ataskaitoje ilgos samprotavimo trajektorijos ir perteklinis savęs tikrinimas įvardijami kaip praktiniai ribotumai. Agento užduotis gali pasiekti 128K ribą net tada, kai pradinė šaltinių medžiaga telpa, nes kaupiasi įrankių išvestys ir pasikartojantis samprotavimas. Išlaikykite glaustą svarbių stebėjimų įrašą ir aiškiai įvardykite galutinį rezultatą. Darbui, kuriame svarbus žinių tikslumas, pridėkite autoritetingą medžiagą arba pateikite tinkamą paieškos įrankį, užuot tikėjęsi, kad mokymo metu įgytos žinios apibrėš kiekvieną faktą.</p><p>DeepSeek V3.2 Speciale yra atskiras gilaus samprotavimo variantas, kuriam skiriama daug skaičiavimo išteklių ir kurio modelio kortelėje nurodyta, kad įrankių kvietimai nepalaikomi. Jo savybių nereikėtų priskirti standartiniam V3.2 įrankių profiliui. Taip pat vėlesnė V4 karta ir eksperimentinis pirmtakas turi atskiras tapatybes bei konfigūracijos pasirinkimus. Lygindami užduotis, kurioms svarbus modelis ir užklausos formatas, išlaikykite įvardytą V3.2 leidimą.</p><p>Praktinei šaltiniais pagrįstai analizei sužymėkite medžiagą ir prašykite svarbiomis ištraukomis pagrįstos išvados, atskirai išlaikydami prielaidas bei trūkstamą informaciją. Agentui nurodykite leidžiamas funkcijas, numatomą galutinį rezultatą ir užbaigimo kriterijų. Taip modelio samprotavimo ir įrankių darbo procesas parengiamas pagal peržiūrimą tekstinį, kodo arba analitinį rezultatą, susietą su pateiktais įrodymais.</p>",
  "aboutText": "DeepSeek V3.2 yra DeepSeek tekstinis modelis, skirtas samprotavimui ir agentiniam darbui, akcentuojant veiksmingą ilgo konteksto apdorojimą. Pagrindinius pakeitimus gamintojas sieja su DeepSeek Sparse Attention, išplėstu skatinamojo mokymosi karkasu ir agentinių užduočių mokymo grandine. Jis priima rašytinius klausimus bei kontekstą ir pateikia tekstą, įskaitant atsakymą, kodą arba įrankio kvietimo turinį. Jis skiriasi nuo ankstesnio V3.2 Exp leidimo ir atskiro samprotavimo varianto Speciale.\n\nDeepSeek Sparse Attention papildo latentinio dėmesio architektūrą indeksavimo moduliu ir smulkiai detalizuota žetonų atranka. Ilgai sekai indeksavimo modulis parenka ankstesnių žetonų informaciją, naudojamą pagrindiniame dėmesio skaičiavime. Ataskaitoje teigiama, kad tai architektūrinis pokytis nuo V3.1 Terminus ir naudojama ta pati architektūra kaip V3.2 Exp. Paskelbtas kontekstas yra 128K žetonų, todėl galima naudoti daug šaltinių medžiagos ir tęsti užduotį, tačiau sugeneruotas samprotavimas bei įrankių istorija taip pat naudoja turimą kontekstą.\n\nPapildomas mokymas apima atsakymus tiek su samprotavimu, tiek be jo matematikos, programavimo, loginio samprotavimo, bendrų agentų užduočių, agentinio programavimo ir paieškos srityse. Sričių specialistai pateikia duomenis, kurie sujungiami į galutinį modelį, o po to taikomas mišrus skatinamasis mokymasis. Įprastam klausimui gali tikti tiesioginis atsakymas; sudėtingai problemai samprotavimo darbo procesas gali išplėtoti sprendimą prieš pateikiant galutinį rezultatą. Reikiamą atsakymą arba rezultatą nurodykite nepriklausomai nuo tarpinio samprotavimo.\n\nEsminis leidimo pakeitimas yra samprotavimas su įrankiais. Atnaujintas pokalbio formatas leidžia tęsti samprotavimą vykdant užduotį su įrankių kvietimais, užuot laikęs analizę ir veiksmą nesusijusiais etapais. Modelio pasirinktą operaciją įvykdo programa ir grąžina jos rezultatą kitam žingsniui. Gamintojo įrankių konteksto taisyklė išsaugo ankstesnį samprotavimą, kol pridedami tik su įrankiais susiję pranešimai; gavusi naują naudotojo pranešimą, ji pašalina tą samprotavimą, tačiau išlaiko įrankių kvietimus ir rezultatus. Šiam veikimui svarbu tinkamai atskirti pokalbio vaidmenis.\n\nProgramavimui pateikite pradinio kodo fragmentą arba susijusius failus, pastebėtą problemą, numatomą rezultatą ir sąlygas, kurias pakeitimas turi išsaugoti. Pavyzdinė užduotis: „Naudodami pateiktą kodą ir įrankių rezultatus nustatykite priežastį, pasiūlykite mažiausią pataisą ir grąžinkite galutinę pataisą su ją pagrindžiančiu patikros rezultatu.“ Paieškos užduočiai aprašykite klausimą, reikiamus įrodymus ir tai, kas laikoma užbaigtu atsakymu. Paieškos ir vykdymo įrankius pateikia aplinkinė programa, o ne vien tekstas.\n\nVietiniam naudojimui gamintojas rekomenduoja temperature 1.0 ir top-p 0.95. V3.2 pristato patikslintą įrankių kvietimų pateikimą ir specialų pranešimų koduotuvą. Jo developer vaidmuo rezervuotas gamintojo paieškos agento šablonui, o oficiali API šio vaidmens nepriima. Pavyzdinis analizatorius tikisi taisyklingos išvesties ir netaiso netaisyklingų rezultatų; kai programa naudoja sugeneruotus laukus arba įrankių argumentus, prieš atlikdama su jais veiksmus ji turėtų patikrinti jų struktūrą.\n\nTechninėje ataskaitoje ilgos samprotavimo trajektorijos ir perteklinis savęs tikrinimas įvardijami kaip praktiniai ribotumai. Agento užduotis gali pasiekti 128K ribą net tada, kai pradinė šaltinių medžiaga telpa, nes kaupiasi įrankių išvestys ir pasikartojantis samprotavimas. Išlaikykite glaustą svarbių stebėjimų įrašą ir aiškiai įvardykite galutinį rezultatą. Darbui, kuriame svarbus žinių tikslumas, pridėkite autoritetingą medžiagą arba pateikite tinkamą paieškos įrankį, užuot tikėjęsi, kad mokymo metu įgytos žinios apibrėš kiekvieną faktą.\n\nDeepSeek V3.2 Speciale yra atskiras gilaus samprotavimo variantas, kuriam skiriama daug skaičiavimo išteklių ir kurio modelio kortelėje nurodyta, kad įrankių kvietimai nepalaikomi. Jo savybių nereikėtų priskirti standartiniam V3.2 įrankių profiliui. Taip pat vėlesnė V4 karta ir eksperimentinis pirmtakas turi atskiras tapatybes bei konfigūracijos pasirinkimus. Lygindami užduotis, kurioms svarbus modelis ir užklausos formatas, išlaikykite įvardytą V3.2 leidimą.\n\nPraktinei šaltiniais pagrįstai analizei sužymėkite medžiagą ir prašykite svarbiomis ištraukomis pagrįstos išvados, atskirai išlaikydami prielaidas bei trūkstamą informaciją. Agentui nurodykite leidžiamas funkcijas, numatomą galutinį rezultatą ir užbaigimo kriterijų. Taip modelio samprotavimo ir įrankių darbo procesas parengiamas pagal peržiūrimą tekstinį, kodo arba analitinį rezultatą, susietą su pateiktais įrodymais.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "8fb090dafd998ae3e976180a6120c0b06e47ed1c556a5bde7da03793c6281e98",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "lt",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">DS</span><h2 id=\"sheet-title\">DeepSeek: DeepSeek V3.2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Uždaryti\">×</button></div><div class=\"idline\"><span>DeepSeek /</span><code>deepseek-v3.2-thinking</code><button type=\"button\" id=\"copy-id\">Kopijuoti ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Modelio kortelės skyriai\"><button type=\"button\" data-card-jump=\"overview\">Pradžia</button><button type=\"button\" data-card-jump=\"methods\">Įvestys ir metodai</button><button type=\"button\" data-card-jump=\"pricing\">Planai</button><button type=\"button\" data-card-jump=\"examples\">Pavyzdžiai</button><button type=\"button\" data-card-jump=\"results\">Rezultatai</button><button type=\"button\" data-card-jump=\"aliases\">Pseudonimai</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API metodai\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|chat|/v1/chat/completions|deepseek-v3.2-thinking\">Chat</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\">Pradžia</h3><p class=\"mdesc-full\">DeepSeek V3.2 sujungia tekstinį samprotavimą su įrankių naudojimu ir ilgo konteksto analize. Jo retojo dėmesio architektūra ir atnaujintas pokalbio formatas palaiko programavimą, paiešką ir kelių žingsnių agentų užduotis; kontekstas – 128K, o samprotavimo bei tiesioginio atsakymo darbo procesai atskiri.</p><dl class=\"card-io\" data-card-io><div><dt>Leidžiamos įvestys</dt><dd>Tekstas</dd></div><div><dt>Rezultatai</dt><dd>Tekstas</dd></div></dl><details class=\"card-about\"><summary>Apie modelį</summary><p class=\"note-s\" data-model-method-boundary>Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.</p><div class=\"mabout\" id=\"m-about\"><p>DeepSeek V3.2 yra DeepSeek tekstinis modelis, skirtas samprotavimui ir agentiniam darbui, akcentuojant veiksmingą ilgo konteksto apdorojimą. Pagrindinius pakeitimus gamintojas sieja su DeepSeek Sparse Attention, išplėstu skatinamojo mokymosi karkasu ir agentinių užduočių mokymo grandine. Jis priima rašytinius klausimus bei kontekstą ir pateikia tekstą, įskaitant atsakymą, kodą arba įrankio kvietimo turinį. Jis skiriasi nuo ankstesnio V3.2 Exp leidimo ir atskiro samprotavimo varianto Speciale.</p><p>DeepSeek Sparse Attention papildo latentinio dėmesio architektūrą indeksavimo moduliu ir smulkiai detalizuota žetonų atranka. Ilgai sekai indeksavimo modulis parenka ankstesnių žetonų informaciją, naudojamą pagrindiniame dėmesio skaičiavime. Ataskaitoje teigiama, kad tai architektūrinis pokytis nuo V3.1 Terminus ir naudojama ta pati architektūra kaip V3.2 Exp. Paskelbtas kontekstas yra 128K žetonų, todėl galima naudoti daug šaltinių medžiagos ir tęsti užduotį, tačiau sugeneruotas samprotavimas bei įrankių istorija taip pat naudoja turimą kontekstą.</p><p>Papildomas mokymas apima atsakymus tiek su samprotavimu, tiek be jo matematikos, programavimo, loginio samprotavimo, bendrų agentų užduočių, agentinio programavimo ir paieškos srityse. Sričių specialistai pateikia duomenis, kurie sujungiami į galutinį modelį, o po to taikomas mišrus skatinamasis mokymasis. Įprastam klausimui gali tikti tiesioginis atsakymas; sudėtingai problemai samprotavimo darbo procesas gali išplėtoti sprendimą prieš pateikiant galutinį rezultatą. Reikiamą atsakymą arba rezultatą nurodykite nepriklausomai nuo tarpinio samprotavimo.</p><p>Esminis leidimo pakeitimas yra samprotavimas su įrankiais. Atnaujintas pokalbio formatas leidžia tęsti samprotavimą vykdant užduotį su įrankių kvietimais, užuot laikęs analizę ir veiksmą nesusijusiais etapais. Modelio pasirinktą operaciją įvykdo programa ir grąžina jos rezultatą kitam žingsniui. Gamintojo įrankių konteksto taisyklė išsaugo ankstesnį samprotavimą, kol pridedami tik su įrankiais susiję pranešimai; gavusi naują naudotojo pranešimą, ji pašalina tą samprotavimą, tačiau išlaiko įrankių kvietimus ir rezultatus. Šiam veikimui svarbu tinkamai atskirti pokalbio vaidmenis.</p><p>Programavimui pateikite pradinio kodo fragmentą arba susijusius failus, pastebėtą problemą, numatomą rezultatą ir sąlygas, kurias pakeitimas turi išsaugoti. Pavyzdinė užduotis: „Naudodami pateiktą kodą ir įrankių rezultatus nustatykite priežastį, pasiūlykite mažiausią pataisą ir grąžinkite galutinę pataisą su ją pagrindžiančiu patikros rezultatu.“ Paieškos užduočiai aprašykite klausimą, reikiamus įrodymus ir tai, kas laikoma užbaigtu atsakymu. Paieškos ir vykdymo įrankius pateikia aplinkinė programa, o ne vien tekstas.</p><p>Vietiniam naudojimui gamintojas rekomenduoja temperature 1.0 ir top-p 0.95. V3.2 pristato patikslintą įrankių kvietimų pateikimą ir specialų pranešimų koduotuvą. Jo developer vaidmuo rezervuotas gamintojo paieškos agento šablonui, o oficiali API šio vaidmens nepriima. Pavyzdinis analizatorius tikisi taisyklingos išvesties ir netaiso netaisyklingų rezultatų; kai programa naudoja sugeneruotus laukus arba įrankių argumentus, prieš atlikdama su jais veiksmus ji turėtų patikrinti jų struktūrą.</p><p>Techninėje ataskaitoje ilgos samprotavimo trajektorijos ir perteklinis savęs tikrinimas įvardijami kaip praktiniai ribotumai. Agento užduotis gali pasiekti 128K ribą net tada, kai pradinė šaltinių medžiaga telpa, nes kaupiasi įrankių išvestys ir pasikartojantis samprotavimas. Išlaikykite glaustą svarbių stebėjimų įrašą ir aiškiai įvardykite galutinį rezultatą. Darbui, kuriame svarbus žinių tikslumas, pridėkite autoritetingą medžiagą arba pateikite tinkamą paieškos įrankį, užuot tikėjęsi, kad mokymo metu įgytos žinios apibrėš kiekvieną faktą.</p><p>DeepSeek V3.2 Speciale yra atskiras gilaus samprotavimo variantas, kuriam skiriama daug skaičiavimo išteklių ir kurio modelio kortelėje nurodyta, kad įrankių kvietimai nepalaikomi. Jo savybių nereikėtų priskirti standartiniam V3.2 įrankių profiliui. Taip pat vėlesnė V4 karta ir eksperimentinis pirmtakas turi atskiras tapatybes bei konfigūracijos pasirinkimus. Lygindami užduotis, kurioms svarbus modelis ir užklausos formatas, išlaikykite įvardytą V3.2 leidimą.</p><p>Praktinei šaltiniais pagrįstai analizei sužymėkite medžiagą ir prašykite svarbiomis ištraukomis pagrįstos išvados, atskirai išlaikydami prielaidas bei trūkstamą informaciją. Agentui nurodykite leidžiamas funkcijas, numatomą galutinį rezultatą ir užbaigimo kriterijų. Taip modelio samprotavimo ir įrankių darbo procesas parengiamas pagal peržiūrimą tekstinį, kodo arba analitinį rezultatą, susietą su pateiktais įrodymais.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Prieinama Ailoot · įvestys ir metodai</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · OpenAI pokalbis</b> <code>POST /v1/chat/completions</code></summary><dl class=\"method-capabilities\"><div><dt>Įvestis</dt><dd><code>text</code></dd></div><div><dt>Išvestis</dt><dd><code>text</code></dd></div><div><dt>Išvesties formatas</dt><dd>json arba SSE</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Laukas</th><th>Tipas</th><th>Reikalavimas</th><th>Reikšmės ir ribos</th><th>Numatyta</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>deepseek-v3.2-thinking</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">messages</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>message[]</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Mažiausias elementų skaičius: 1</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">messages[].role</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Privaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div class=\"note-s\">Priklauso nuo modelio</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">messages[].content</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span><div>Taikoma, kai: Tekstinis pokalbis</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>boolean</code></td><td data-cell-label=\"Reikalavimas\"><span class=\"card-cell-label\">Reikalavimas</span>Neprivaloma</td><td data-cell-label=\"Reikšmės ir ribos\"><span class=\"card-cell-label\">Reikšmės ir ribos</span></td><td data-cell-label=\"Numatyta\" data-default=\"known\"><span class=\"card-cell-label\">Numatyta</span>false</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Įvesties medžiagos deriniai</summary><p class=\"note-s\"><b>Tekstas</b> · UTF8 tekstas</p><p class=\"note-s\"><code>messages[].content</code></p></details><details class=\"note-s\" data-method-contract><summary>Metodo parametrai ir gyvavimo ciklas</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametras</th><th>Specifikacija</th></tr></thead><tbody><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>content_type</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>application/json</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>required</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>model, messages</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>material_types</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>messages</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>pranešimų masyvas su role/content struktūra</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>file_material</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>tikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>optional_controls</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>stream</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>control_scope</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>Tekstinis pokalbis; stream yra loginė reikšmė, kurios numatytoji reikšmė yra false.</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>output_modalities</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>hosted_operations</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>false</td></tr><tr><th data-cell-label=\"Parametras\" scope=\"row\"><span class=\"card-cell-label\">Parametras</span><code>multimodal_input_binding</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>null</td></tr></tbody></table></div><p>Metodo pseudonimai: <code>/chat/completions</code></p><p>Gyvavimo ciklas: <code>synchronous_or_streamed</code></p><p class=\"note-s\">Siųskite tikslų modelio ID kartu su messages.</p><p class=\"note-s\">Konteksto ilgis nėra išvesties limitas.</p><p class=\"note-s\">Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planai</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.</p><dl data-price-conditions><dt>Spartusis režimas</dt><dd>Nenurodyta <span class=\"note-s\">Pasirinkus spartųjį režimą</span></dd><dt>Flex režimas</dt><dd>Nenurodyta <span class=\"note-s\">Pasirinkus flex režimą</span></dd><dt>Didžiausios samprotavimo pastangos</dt><dd>Nenurodyta <span class=\"note-s\">Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot įkainiai</h4><h4>Kainos pagal konfigūraciją</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigūracija</th><th>Įkainių lentelė</th><th>Mokestis</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Baziniai žetonų įkainiai</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>Bazinis įkainis</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.00058</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.00086</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. <a href=\"/docs/lt/billing/reserve/\">Kaip veikia rezervavimas ir atsiskaitymas →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Užklausų pavyzdžiai</h3><h4>Ailoot Ultra · OpenAI pokalbis</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodo variantai\"><button class=\"cg-tab\" id=\"model-code-1217-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1217-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1217-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1217-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopijuoti kodą\"><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-1217-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1217-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;:&quot;deepseek-v3.2-thinking&quot;,&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}],&quot;stream&quot;:false}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\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\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;choices&quot;,[]):\n    if x.get(&quot;message&quot;,{}).get(&quot;content&quot;): print(x[&quot;message&quot;][&quot;content&quot;])\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1217-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1217-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nif not os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;).strip(): raise SystemExit(&quot;Set AILOOT_API_KEY before making a request&quot;)\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.chat.completions.create(model=&quot;deepseek-v3.2-thinking&quot;, messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=&quot;result&quot;):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + &quot;.json&quot;).write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=&quot;utf-8&quot;)\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b&quot;-_&quot;, validate=True)\n        ext = &quot;png&quot; if raw.startswith(b&quot;\\x89PNG\\r\\n\\x1a\\n&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4] == b&quot;RIFF&quot; and raw[8:12] == b&quot;WEBP&quot; else suffix\n        file = Path(stem + &quot;-&quot; + label + &quot;.&quot; + ext)\n        file.write_bytes(raw)\n        print(&quot;Saved&quot;, file)\n    for index, block in enumerate(data.get(&quot;content&quot;) or []):\n        print(&quot;Content&quot;, index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(&quot;choices&quot;) or []:\n        print(&quot;Choice&quot;, choice.get(&quot;index&quot;), json.dumps(choice.get(&quot;message&quot;, choice.get(&quot;delta&quot;, {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(&quot;output&quot;) or []):\n        print(&quot;Output&quot;, index, json.dumps(item, ensure_ascii=False))\n        if item.get(&quot;type&quot;) == &quot;image_generation_call&quot; and item.get(&quot;result&quot;):\n            save_blob(item[&quot;result&quot;], item.get(&quot;output_format&quot;) or &quot;bin&quot;, &quot;output-&quot; + str(index))\n    for ci, candidate in enumerate(data.get(&quot;candidates&quot;) or []):\n        for pi, part in enumerate((candidate.get(&quot;content&quot;) or {}).get(&quot;parts&quot;) or []):\n            print(&quot;Candidate/part&quot;, ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(&quot;inlineData&quot;) or part.get(&quot;inline_data&quot;)\n            if blob and blob.get(&quot;data&quot;):\n                mime = blob.get(&quot;mimeType&quot;) or blob.get(&quot;mime_type&quot;)\n                suffix = {&quot;image/png&quot;:&quot;png&quot;, &quot;image/jpeg&quot;:&quot;jpg&quot;, &quot;image/webp&quot;:&quot;webp&quot;, &quot;audio/wav&quot;:&quot;wav&quot;, &quot;audio/mpeg&quot;:&quot;mp3&quot;, &quot;video/mp4&quot;:&quot;mp4&quot;}.get(mime, &quot;bin&quot;)\n                save_blob(blob[&quot;data&quot;], suffix, &quot;candidate-&quot; + str(ci) + &quot;-part-&quot; + str(pi))\n\nsave_result(result.to_dict(mode=&quot;json&quot;))\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Gauti ir išsaugoti rezultatus</h3><h4>Ailoot Ultra · OpenAI pokalbis</h4><p class=\"note-s\">json arba SSE</p><div class=\"card-result-process\" data-all-results><h5>Išsaugoti visus baigtus rezultatus</h5><p class=\"note-s\">Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.</p><p class=\"note-s\">Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jei reikia patikrinti pradinį atsakymą</h5><p class=\"note-s\">Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.</p></div><details class=\"card-about\" data-output-fields><summary>Atsakymo laukai</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Laukas</th><th>Tipas</th></tr></thead><tbody><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">choices[].index</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>integer</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">choices[].message.content</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>string|null</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">choices[].message.tool_calls</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>tool_call[]</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">choices[].message.reasoning_content</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>string</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">choices[].message.reasoning_details</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>object|array</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">choices[].finish_reason</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>string|null</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Klaidos ir tolesni veiksmai</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Atsakymas</th><th>Sąlyga</th><th>Kitas žingsnis</th></tr></thead><tbody><tr><th data-cell-label=\"Atsakymas\" scope=\"row\"><span class=\"card-cell-label\">Atsakymas</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Sąlyga\"><span class=\"card-cell-label\">Sąlyga</span>Netinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė</td><td data-cell-label=\"Kitas žingsnis\"><span class=\"card-cell-label\">Kitas žingsnis</span>Prieš naują kūrimo užklausą pataisykite nurodytus laukus.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Pseudonimai</h3><h4>Modelių pseudonimai</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=deepseek-v3.2-thinking&amp;route=Ultra&amp;caller=deepseek-v3.2-thinking&amp;fmt=chat\"><code>deepseek-v3.2-thinking</code></a></span></p><h4>Metodų kelių pseudonimai</h4><p class=\"note-s\"><code>/chat/completions</code></p><h4>Susiję ID iškvietimui</h4><p class=\"note-s\"><a href=\"#m=deepseek-v3.2-thinking&amp;route=Ultra&amp;caller=deepseek-v3.2-thinking&amp;fmt=chat\"><code>deepseek-v3.2-thinking</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "deepseek-v3.2-thinking",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "deepseek-v3.2-thinking",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|deepseek-v3.2-thinking",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0,
        "cache_write": 0,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Netinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė",
                "http_status": 400,
                "recovery": "Prieš naują kūrimo užklausą pataisykite nurodytus laukus.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "UTF8 tekstas"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "choices[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "choices[].message.content",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "choices[].message.tool_calls",
                  "type": "tool_call[]"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_content",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_details",
                  "type": "object|array"
                },
                {
                  "description": null,
                  "name": "choices[].finish_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json arba SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "deepseek-v3.2-thinking"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "Tekstinis pokalbis"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "Siųskite tikslų modelio ID kartu su messages.",
            "Konteksto ilgis nėra išvesties limitas.",
            "Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "Tekstinis pokalbis; stream yra loginė reikšmė, kurios numatytoji reikšmė yra false.",
            "file_material": "tikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "pranešimų masyvas su role/content struktūra",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Baziniai žetonų įkainiai",
            "units": [
              {
                "amount": "0.00058000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000058",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.00086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000086",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\":\"deepseek-v3.2-thinking\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"deepseek-v3.2-thinking\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 0.58,
        "input": [
          "text"
        ],
        "label": "OpenAI pokalbis",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0.86,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "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": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00058000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000058",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.00086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000086",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "deepseek-v3.2-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00058000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000058",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.00086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000086",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "deepseek-v3.2-thinking",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "399f3e236c9c37b41258b3ebcc1c4cf8d42f88ebeee73e9892df2fadf2481ce3",
    "input_html_sha256": "6831c3175d7c67da0ec90b2024c629f8b05d114f41f18147a6bb0128dd47c705",
    "private_audit_sha256": "c376defe4c2ca196b79d5ecfbe0a7c94ed44e60c8853f730a36513a44db02d51",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/lt/deepseek-v3-2-thinking/",
    "description": "DeepSeek V3.2 sujungia tekstinį samprotavimą su įrankių naudojimu ir ilgo konteksto analize. Jo retojo dėmesio architektūra ir atnaujintas pokalbio formatas palaiko programavimą, paiešką ir kelių žingsnių agentų užduotis; kontekstas – 128K, o samprotavimo bei tiesioginio atsakymo darbo procesai atskiri.",
    "locale": "lt",
    "md_url": "https://ailoot.ai/models/lt/deepseek-v3-2-thinking/index.md",
    "title": "DeepSeek: DeepSeek V3.2 — Ailoot",
    "url": "https://ailoot.ai/models/lt/deepseek-v3-2-thinking/"
  },
  "rawModel": {
    "about": "DeepSeek V3.2 yra DeepSeek tekstinis modelis, skirtas samprotavimui ir agentiniam darbui, akcentuojant veiksmingą ilgo konteksto apdorojimą. Pagrindinius pakeitimus gamintojas sieja su DeepSeek Sparse Attention, išplėstu skatinamojo mokymosi karkasu ir agentinių užduočių mokymo grandine. Jis priima rašytinius klausimus bei kontekstą ir pateikia tekstą, įskaitant atsakymą, kodą arba įrankio kvietimo turinį. Jis skiriasi nuo ankstesnio V3.2 Exp leidimo ir atskiro samprotavimo varianto Speciale.\n\nDeepSeek Sparse Attention papildo latentinio dėmesio architektūrą indeksavimo moduliu ir smulkiai detalizuota žetonų atranka. Ilgai sekai indeksavimo modulis parenka ankstesnių žetonų informaciją, naudojamą pagrindiniame dėmesio skaičiavime. Ataskaitoje teigiama, kad tai architektūrinis pokytis nuo V3.1 Terminus ir naudojama ta pati architektūra kaip V3.2 Exp. Paskelbtas kontekstas yra 128K žetonų, todėl galima naudoti daug šaltinių medžiagos ir tęsti užduotį, tačiau sugeneruotas samprotavimas bei įrankių istorija taip pat naudoja turimą kontekstą.\n\nPapildomas mokymas apima atsakymus tiek su samprotavimu, tiek be jo matematikos, programavimo, loginio samprotavimo, bendrų agentų užduočių, agentinio programavimo ir paieškos srityse. Sričių specialistai pateikia duomenis, kurie sujungiami į galutinį modelį, o po to taikomas mišrus skatinamasis mokymasis. Įprastam klausimui gali tikti tiesioginis atsakymas; sudėtingai problemai samprotavimo darbo procesas gali išplėtoti sprendimą prieš pateikiant galutinį rezultatą. Reikiamą atsakymą arba rezultatą nurodykite nepriklausomai nuo tarpinio samprotavimo.\n\nEsminis leidimo pakeitimas yra samprotavimas su įrankiais. Atnaujintas pokalbio formatas leidžia tęsti samprotavimą vykdant užduotį su įrankių kvietimais, užuot laikęs analizę ir veiksmą nesusijusiais etapais. Modelio pasirinktą operaciją įvykdo programa ir grąžina jos rezultatą kitam žingsniui. Gamintojo įrankių konteksto taisyklė išsaugo ankstesnį samprotavimą, kol pridedami tik su įrankiais susiję pranešimai; gavusi naują naudotojo pranešimą, ji pašalina tą samprotavimą, tačiau išlaiko įrankių kvietimus ir rezultatus. Šiam veikimui svarbu tinkamai atskirti pokalbio vaidmenis.\n\nProgramavimui pateikite pradinio kodo fragmentą arba susijusius failus, pastebėtą problemą, numatomą rezultatą ir sąlygas, kurias pakeitimas turi išsaugoti. Pavyzdinė užduotis: „Naudodami pateiktą kodą ir įrankių rezultatus nustatykite priežastį, pasiūlykite mažiausią pataisą ir grąžinkite galutinę pataisą su ją pagrindžiančiu patikros rezultatu.“ Paieškos užduočiai aprašykite klausimą, reikiamus įrodymus ir tai, kas laikoma užbaigtu atsakymu. Paieškos ir vykdymo įrankius pateikia aplinkinė programa, o ne vien tekstas.\n\nVietiniam naudojimui gamintojas rekomenduoja temperature 1.0 ir top-p 0.95. V3.2 pristato patikslintą įrankių kvietimų pateikimą ir specialų pranešimų koduotuvą. Jo developer vaidmuo rezervuotas gamintojo paieškos agento šablonui, o oficiali API šio vaidmens nepriima. Pavyzdinis analizatorius tikisi taisyklingos išvesties ir netaiso netaisyklingų rezultatų; kai programa naudoja sugeneruotus laukus arba įrankių argumentus, prieš atlikdama su jais veiksmus ji turėtų patikrinti jų struktūrą.\n\nTechninėje ataskaitoje ilgos samprotavimo trajektorijos ir perteklinis savęs tikrinimas įvardijami kaip praktiniai ribotumai. Agento užduotis gali pasiekti 128K ribą net tada, kai pradinė šaltinių medžiaga telpa, nes kaupiasi įrankių išvestys ir pasikartojantis samprotavimas. Išlaikykite glaustą svarbių stebėjimų įrašą ir aiškiai įvardykite galutinį rezultatą. Darbui, kuriame svarbus žinių tikslumas, pridėkite autoritetingą medžiagą arba pateikite tinkamą paieškos įrankį, užuot tikėjęsi, kad mokymo metu įgytos žinios apibrėš kiekvieną faktą.\n\nDeepSeek V3.2 Speciale yra atskiras gilaus samprotavimo variantas, kuriam skiriama daug skaičiavimo išteklių ir kurio modelio kortelėje nurodyta, kad įrankių kvietimai nepalaikomi. Jo savybių nereikėtų priskirti standartiniam V3.2 įrankių profiliui. Taip pat vėlesnė V4 karta ir eksperimentinis pirmtakas turi atskiras tapatybes bei konfigūracijos pasirinkimus. Lygindami užduotis, kurioms svarbus modelis ir užklausos formatas, išlaikykite įvardytą V3.2 leidimą.\n\nPraktinei šaltiniais pagrįstai analizei sužymėkite medžiagą ir prašykite svarbiomis ištraukomis pagrįstos išvados, atskirai išlaikydami prielaidas bei trūkstamą informaciją. Agentui nurodykite leidžiamas funkcijas, numatomą galutinį rezultatą ir užbaigimo kriterijų. Taip modelio samprotavimo ir įrankių darbo procesas parengiamas pagal peržiūrimą tekstinį, kodo arba analitinį rezultatą, susietą su pateiktais įrodymais.",
    "alias_of": null,
    "aliases": [],
    "author": "DeepSeek",
    "capabilities": {
      "context_length": 163840,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00058000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000058",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.00086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000086",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Visa konfigūracijos kainodara pateikta išsamioje informacijoje."
      }
    ],
    "ctx": null,
    "formats": [
      "chat"
    ],
    "id": "deepseek-v3.2-thinking",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0,
        "cache_write": 0,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Netinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė",
                "http_status": 400,
                "recovery": "Prieš naują kūrimo užklausą pataisykite nurodytus laukus.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "UTF8 tekstas"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "choices[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "choices[].message.content",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "choices[].message.tool_calls",
                  "type": "tool_call[]"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_content",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_details",
                  "type": "object|array"
                },
                {
                  "description": null,
                  "name": "choices[].finish_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json arba SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "deepseek-v3.2-thinking"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "Tekstinis pokalbis"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "Siųskite tikslų modelio ID kartu su messages.",
            "Konteksto ilgis nėra išvesties limitas.",
            "Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "Tekstinis pokalbis; stream yra loginė reikšmė, kurios numatytoji reikšmė yra false.",
            "file_material": "tikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "pranešimų masyvas su role/content struktūra",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Baziniai žetonų įkainiai",
            "units": [
              {
                "amount": "0.00058000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000058",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.00086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000086",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\":\"deepseek-v3.2-thinking\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"deepseek-v3.2-thinking\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 0.58,
        "input": [
          "text"
        ],
        "label": "OpenAI pokalbis",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0.86,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "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": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00058000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000058",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.00086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000086",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "deepseek-v3.2-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00058000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000058",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.00086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000086",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "deepseek-v3.2-thinking",
        "request_model_id": "deepseek-v3.2-thinking",
        "route_label": "Ultra"
      }
    ],
    "name": "DeepSeek: DeepSeek V3.2",
    "price": {
      "in": 0.58,
      "in_label": null,
      "out": 0.86,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.58,
      "sort_out": 0.86,
      "varies": false
    },
    "short": "DeepSeek V3.2 sujungia tekstinį samprotavimą su įrankių naudojimu ir ilgo konteksto analize. Jo retojo dėmesio architektūra ir atnaujintas pokalbio formatas palaiko programavimą, paiešką ir kelių žingsnių agentų užduotis; kontekstas – 128K, o samprotavimo bei tiesioginio atsakymo darbo procesai atskiri."
  },
  "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": "DeepSeek V3.2 sujungia tekstinį samprotavimą su įrankių naudojimu ir ilgo konteksto analize. Jo retojo dėmesio architektūra ir atnaujintas pokalbio formatas palaiko programavimą, paiešką ir kelių žingsnių agentų užduotis; kontekstas – 128K, o samprotavimo bei tiesioginio atsakymo darbo procesai atskiri.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "384c06bb171da8eba5fa0f2de5a7b5eaa37b2ef0259cd62ee1054dfea57337bb",
    "renderer_sha256": "57bd2f8a61f57d341aae369006eca818e3eea645ec43af488ec7b2289eeca772"
  },
  "sourceRevision": "1fb58af9dd2783384750a021df810e6982bc258dbe974e608ee66d8f5be960be"
}
