{
  "aboutHtml": "<h4>Kruopštus inžinerinis darbas</h4><p>Anthropic kuria Claude Opus 4.7 sudėtingoms, ilgoms programavimo užduotims. Pristatant pabrėžiamas nuoseklus darbo atlikimas, atidus instrukcijų laikymasis ir būdų patikrinti savo rezultatą paieška prieš galutinį pranešimą. Modelis tinka sudėtingai kodo problemai tirti ir profesinei medžiagai rengti, kai kartu reikia techninio sprendimo bei aiškaus pateikimo.</p><p>Opus 4.7 pažodžiui laikosi formuluočių. Užduotį geriau apibrėžti aiškiomis ribomis: kurias dalis reikia keisti, ką tikrinti ir koks turi būti rezultatas. Jei sąlyga taikoma visoms darbo dalims, ją taip ir reikia aprašyti. Gamintojas taip pat pabrėžia pastabų naudojimą failinėje atmintyje ilgoms užduotims, tačiau tokioms pastaboms skaityti ir išsaugoti reikia programos įrankių.</p><h4>Matyti tankias schemas ir sąsajos kopijas</h4><p>Modelis priima <strong>tekstą ir vaizdus</strong> ir pateikia <strong>tekstą</strong>. Vaizdinei įvesčiai palaikoma raiška iki <strong>2576 pikselių ilgojoje kraštinėje</strong>, maždaug <strong>3,75 megapikselio</strong>. Tai naudinga informacijos gausioms ekrano kopijoms, informacijai iš sudėtingų diagramų išgauti ir užduotims su išsamiu vaizdiniu pavyzdžiu.</p><p>Gamintojo įprastos vaizdinės įvesties formatai: JPEG/PNG/GIF/WebP, pirmasis animacijos kadras. Analizuojant pradine raiška: ilgoji kraštinė — 2576 pikseliai, 4784 vaizdiniai tokenai; dideli vaizdai prieš analizę sumažinami. Failų ir parametrų palaikymas priklauso nuo programos metodo.</p><p>Aukšta raiška padeda išlaikyti detales, tačiau nepadaro vaizdinio supratimo neklystančio. Išvestyje galima gauti paaiškinimą, duomenų struktūrą arba kodą; paties vaizdo kūrimas ir redagavimas nėra modelio išvesties galimybė. Sąsajai valdyti reikia priemonių, kurios rodo modeliui ekraną ir atlieka veiksmus programoje.</p><h4>Užduoties gylis ir apimtis</h4><p>Kontekstas — <strong>1 mln. tokenų</strong>, įprastu režimu didžiausias atsakymas — <strong>128 tūkst. tokenų</strong>. Palaikomas adaptyvus samprotavimas; rankinio extended thinking su <code>budget_tokens</code> šioje versijoje nėra. Įprastas <code>effort</code> lygis — <code>high</code>; taip pat galimi <code>low</code>, <code>medium</code>, <code>xhigh</code> ir <code>max</code>. Lygis <code>xhigh</code> suteikia atskirą nuostatą tarp <code>high</code> ir <code>max</code> ilgam inžineriniam bei agentiniam darbui.</p><p>Esant mažiems pastangų lygiams, modelis ypač griežtai apriboja darbą tuo, ko buvo paprašyta. Sudėtingam tyrimui gamintojas rekomenduoja numatyti pakankamai vietos samprotavimui ir atsakymui. Šioje versijoje atnaujintas teksto skaidymas į tokenus, todėl toks pats teksto kiekis ne visada turi įprastą ankstesnių versijų tokenų ilgį.</p><h4>Darbo sąlygos</h4><p>Patikima integruotų žinių riba — <strong>2026 m. sausis</strong>. Dabartiniams tyrimams, darbui su dokumentais ir kodo vykdymui naudojama programos teikiama medžiaga bei įrankiai. Opus 4.7 turi apsaugos mechanizmų, galinčių blokuoti draudžiamas ar didelės rizikos kibernetinio saugumo užklausas. Jo dėmesys rezultato tikrinimui naudingas darbe, tačiau galutinius pakeitimus ir išvadas vis tiek reikia tikrinti konkrečioje aplinkoje.</p>",
  "aboutText": "### Kruopštus inžinerinis darbas\n\nAnthropic kuria Claude Opus 4.7 sudėtingoms, ilgoms programavimo užduotims. Pristatant pabrėžiamas nuoseklus darbo atlikimas, atidus instrukcijų laikymasis ir būdų patikrinti savo rezultatą paieška prieš galutinį pranešimą. Modelis tinka sudėtingai kodo problemai tirti ir profesinei medžiagai rengti, kai kartu reikia techninio sprendimo bei aiškaus pateikimo.\n\nOpus 4.7 pažodžiui laikosi formuluočių. Užduotį geriau apibrėžti aiškiomis ribomis: kurias dalis reikia keisti, ką tikrinti ir koks turi būti rezultatas. Jei sąlyga taikoma visoms darbo dalims, ją taip ir reikia aprašyti. Gamintojas taip pat pabrėžia pastabų naudojimą failinėje atmintyje ilgoms užduotims, tačiau tokioms pastaboms skaityti ir išsaugoti reikia programos įrankių.\n\n### Matyti tankias schemas ir sąsajos kopijas\n\nModelis priima **tekstą ir vaizdus** ir pateikia **tekstą**. Vaizdinei įvesčiai palaikoma raiška iki **2576 pikselių ilgojoje kraštinėje**, maždaug **3,75 megapikselio**. Tai naudinga informacijos gausioms ekrano kopijoms, informacijai iš sudėtingų diagramų išgauti ir užduotims su išsamiu vaizdiniu pavyzdžiu.\n\nGamintojo įprastos vaizdinės įvesties formatai: JPEG/PNG/GIF/WebP, pirmasis animacijos kadras. Analizuojant pradine raiška: ilgoji kraštinė — 2576 pikseliai, 4784 vaizdiniai tokenai; dideli vaizdai prieš analizę sumažinami. Failų ir parametrų palaikymas priklauso nuo programos metodo.\n\nAukšta raiška padeda išlaikyti detales, tačiau nepadaro vaizdinio supratimo neklystančio. Išvestyje galima gauti paaiškinimą, duomenų struktūrą arba kodą; paties vaizdo kūrimas ir redagavimas nėra modelio išvesties galimybė. Sąsajai valdyti reikia priemonių, kurios rodo modeliui ekraną ir atlieka veiksmus programoje.\n\n### Užduoties gylis ir apimtis\n\nKontekstas — **1 mln. tokenų**, įprastu režimu didžiausias atsakymas — **128 tūkst. tokenų**. Palaikomas adaptyvus samprotavimas; rankinio extended thinking su `budget_tokens` šioje versijoje nėra. Įprastas `effort` lygis — `high`; taip pat galimi `low`, `medium`, `xhigh` ir `max`. Lygis `xhigh` suteikia atskirą nuostatą tarp `high` ir `max` ilgam inžineriniam bei agentiniam darbui.\n\nEsant mažiems pastangų lygiams, modelis ypač griežtai apriboja darbą tuo, ko buvo paprašyta. Sudėtingam tyrimui gamintojas rekomenduoja numatyti pakankamai vietos samprotavimui ir atsakymui. Šioje versijoje atnaujintas teksto skaidymas į tokenus, todėl toks pats teksto kiekis ne visada turi įprastą ankstesnių versijų tokenų ilgį.\n\n### Darbo sąlygos\n\nPatikima integruotų žinių riba — **2026 m. sausis**. Dabartiniams tyrimams, darbui su dokumentais ir kodo vykdymui naudojama programos teikiama medžiaga bei įrankiai. Opus 4.7 turi apsaugos mechanizmų, galinčių blokuoti draudžiamas ar didelės rizikos kibernetinio saugumo užklausas. Jo dėmesys rezultato tikrinimui naudingas darbe, tačiau galutinius pakeitimus ir išvadas vis tiek reikia tikrinti konkrečioje aplinkoje.",
  "editorialOverlay": {
    "copy_fields": {
      "practical_html": "<h3>Praktinė užduotis</h3><p>Techninis pavyzdys anglų kalba</p><pre><code>Review a narrowly scoped parser fix\n\nReview this parser specification: trim outer whitespace, accept a signed base-10 integer, and reject decimals or trailing text. The current implementation uses parseInt(value, 10), so &#x27;12cats&#x27; passes. Provide a minimal JavaScript replacement and tests. Change only validation and parsing; preserve the surrounding interface and error message &#x27;Invalid integer&#x27;.</code></pre><h4>Laukiamas rezultatas</h4><pre><code>A focused replacement function and test cases for signed integers, whitespace, decimals, trailing text and empty input.</code></pre><h4>Rezultato patikra</h4><pre><code>12cats and 1.5 fail while &#x27; -12 &#x27; succeeds, and the requested error message is unchanged.</code></pre>"
    },
    "copy_sha256": "3f222e564d880d6082c20eec4a435bc0d8d611474787d0dd67aeda11ff3ed341",
    "copy_source": {
      "locale": "lt",
      "pack_sha256": "0f56d90ba41881e1134accf82e57338f246f8753ca4c0cee929aaffada5d10e7",
      "record_model_id": "anthropic/claude-opus-4.7",
      "source_facts_sha256": "9b569b39a31b99138f576658313be89d0e895d407c320af48698e4f14a29681e",
      "validation_sha256": "a2ac2f28056280fc0b2ea34a501bf156d5ce155406e57e708edf30bfdf6bfdc6"
    },
    "html_sha256": "59022f1352b07481a866fd0efa06d3fb0ec7d5a5a377f46a445ce62b0de5fc53",
    "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\">A</span><h2 id=\"sheet-title\">Anthropic: Claude Opus 4.7</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Uždaryti\">×</button></div><div class=\"idline\"><span>Anthropic /</span><code>claude-opus-4-7</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=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Core|chat|/v1/chat/completions|claude-opus-4-7\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-1\" data-card-method=\"Core|messages|/v1/messages|claude-opus-4-7\">Messages</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-2\" data-card-method=\"Core|responses|/v1/responses|claude-opus-4-7\">Responses</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-3\" data-card-method=\"Ultra|chat|/v1/chat/completions|anthropic%2Fclaude-opus-4.7\">Chat · Ultra</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-4\" data-card-method=\"Ultra|messages|/v1/messages|anthropic%2Fclaude-opus-4.7\">Messages · Ultra</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-1\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Pradžia</h3><p class=\"mdesc-full\">Claude Opus 4.7 skirtas sudėtingam inžineriniam darbui, dokumentų ir vaizdų su smulkiomis detalėmis analizei. Ypač daug dėmesio skiria tiksliam instrukcijų vykdymui ir rezultato tikrinimui.</p><dl class=\"card-io\" data-card-io><div><dt>Leidžiamos įvestys</dt><dd>Tekstas · Vaizdai</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\"><h4>Kruopštus inžinerinis darbas</h4><p>Anthropic kuria Claude Opus 4.7 sudėtingoms, ilgoms programavimo užduotims. Pristatant pabrėžiamas nuoseklus darbo atlikimas, atidus instrukcijų laikymasis ir būdų patikrinti savo rezultatą paieška prieš galutinį pranešimą. Modelis tinka sudėtingai kodo problemai tirti ir profesinei medžiagai rengti, kai kartu reikia techninio sprendimo bei aiškaus pateikimo.</p><p>Opus 4.7 pažodžiui laikosi formuluočių. Užduotį geriau apibrėžti aiškiomis ribomis: kurias dalis reikia keisti, ką tikrinti ir koks turi būti rezultatas. Jei sąlyga taikoma visoms darbo dalims, ją taip ir reikia aprašyti. Gamintojas taip pat pabrėžia pastabų naudojimą failinėje atmintyje ilgoms užduotims, tačiau tokioms pastaboms skaityti ir išsaugoti reikia programos įrankių.</p><h4>Matyti tankias schemas ir sąsajos kopijas</h4><p>Modelis priima <strong>tekstą ir vaizdus</strong> ir pateikia <strong>tekstą</strong>. Vaizdinei įvesčiai palaikoma raiška iki <strong>2576 pikselių ilgojoje kraštinėje</strong>, maždaug <strong>3,75 megapikselio</strong>. Tai naudinga informacijos gausioms ekrano kopijoms, informacijai iš sudėtingų diagramų išgauti ir užduotims su išsamiu vaizdiniu pavyzdžiu.</p><p>Gamintojo įprastos vaizdinės įvesties formatai: JPEG/PNG/GIF/WebP, pirmasis animacijos kadras. Analizuojant pradine raiška: ilgoji kraštinė — 2576 pikseliai, 4784 vaizdiniai tokenai; dideli vaizdai prieš analizę sumažinami. Failų ir parametrų palaikymas priklauso nuo programos metodo.</p><p>Aukšta raiška padeda išlaikyti detales, tačiau nepadaro vaizdinio supratimo neklystančio. Išvestyje galima gauti paaiškinimą, duomenų struktūrą arba kodą; paties vaizdo kūrimas ir redagavimas nėra modelio išvesties galimybė. Sąsajai valdyti reikia priemonių, kurios rodo modeliui ekraną ir atlieka veiksmus programoje.</p><h4>Užduoties gylis ir apimtis</h4><p>Kontekstas — <strong>1 mln. tokenų</strong>, įprastu režimu didžiausias atsakymas — <strong>128 tūkst. tokenų</strong>. Palaikomas adaptyvus samprotavimas; rankinio extended thinking su <code>budget_tokens</code> šioje versijoje nėra. Įprastas <code>effort</code> lygis — <code>high</code>; taip pat galimi <code>low</code>, <code>medium</code>, <code>xhigh</code> ir <code>max</code>. Lygis <code>xhigh</code> suteikia atskirą nuostatą tarp <code>high</code> ir <code>max</code> ilgam inžineriniam bei agentiniam darbui.</p><p>Esant mažiems pastangų lygiams, modelis ypač griežtai apriboja darbą tuo, ko buvo paprašyta. Sudėtingam tyrimui gamintojas rekomenduoja numatyti pakankamai vietos samprotavimui ir atsakymui. Šioje versijoje atnaujintas teksto skaidymas į tokenus, todėl toks pats teksto kiekis ne visada turi įprastą ankstesnių versijų tokenų ilgį.</p><h4>Darbo sąlygos</h4><p>Patikima integruotų žinių riba — <strong>2026 m. sausis</strong>. Dabartiniams tyrimams, darbui su dokumentais ir kodo vykdymui naudojama programos teikiama medžiaga bei įrankiai. Opus 4.7 turi apsaugos mechanizmų, galinčių blokuoti draudžiamas ar didelės rizikos kibernetinio saugumo užklausas. Jo dėmesys rezultato tikrinimui naudingas darbe, tačiau galutinius pakeitimus ir išvadas vis tiek reikia tikrinti konkrečioje aplinkoje.</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 · Anthropic pranešimai</b> <code>POST /v1/messages</code></summary><dl class=\"method-capabilities\"><div><dt>Įvestis</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Išvestis</dt><dd><code>text</code></dd></div><div><dt>Kontekstas</dt><dd>1 000 000 tokens</dd></div><div><dt>Didžiausia išvestis</dt><dd>131 072 tokens</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>claude-opus-4-7</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=\"source_interface\"><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>user, assistant</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|content_block[]</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></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\">system</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|content_block[]</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=\"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\">max_tokens</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</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žiausia reikšmė: 1</div><div>Riba taikoma: konkretus pasirinkto modelio / kortelės limitas</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><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\">temperature</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">top_p</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">stop_sequences</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">tools</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>tool[]</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 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\">tools[].name</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: pateiktas įrankis</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\">tools[].description</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></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\">tools[].input_schema</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>JSON_schema</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=\"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\">tool_choice</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">thinking.type</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">thinking.budget_tokens</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">output_config.effort</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 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\">metadata</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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=\"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\">cache_control</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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></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 arba type=text blokas</code></p><p class=\"note-s\"><b>Tekstas + vaizdas</b></p><p class=\"note-s\"><code>{type:image,source:{type:base64,media_type,data}} arba šaltinis type=url</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>material_types</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text, image</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, max_tokens</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>null</td></tr><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>text_file_material</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>tikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo</td></tr></tbody></table></div><p>Gyvavimo ciklas: <code>exact retained published method</code></p><p class=\"note-s\">Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planai</h3><h4>Ailoot metodų įkainiai</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Anthropic pranešimai</b><code>POST /v1/messages</code></header><dl><div><dt>Įvestis</dt><dd>0,005 USD <em>/ 1K</em></dd></div><div><dt>Išvestis</dt><dd>0,025 USD <em>/ 1K</em></dd></div><div><dt>Talpyklos skaitymas</dt><dd>0,0005 USD <em>/ 1K</em></dd></div><div><dt>Rašymas į talpyklą</dt><dd>0,00625 USD <em>/ 1K</em></dd></div><div><dt>Rašymas į talpyklą, 5 min</dt><dd>0,00625 USD <em>/ 1K tokens</em></dd></div><div><dt>Rašymas į talpyklą, 1 val</dt><dd>0,01 USD <em>/ 1K tokens</em></dd></div><div><dt>web_search_call</dt><dd>0,01 USD <em>už iškvietimą</em></dd></div><div><dt>Daugiausia iškvietimų web_search_call</dt><dd>8</dd></div></dl></section><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><div data-model-tariff-reference><h4>Informacinio tarifo duomenys</h4><p class=\"note-s\">Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.</p><details class=\"card-price-reference\" data-profile-scope=\"model_reference\" data-client-selectable=\"false\"><summary>Modelio informacinės lentelės</summary><h4>Kainos pagal konfigūraciją</h4><p class=\"note-s\">Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigūracija</th><th>Įkainių lentelė</th><th>Konteksto tokenų daugiau nei</th><th>Konteksto tokenų iki imtinai</th><th>Mokestis</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>OpenAI Chat · 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=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>—</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>OpenAI Chat · Užklausos ilgio pakopa 1</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>0</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Anthropic Messages · 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=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>—</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Anthropic Messages · Užklausos ilgio pakopa 1</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>0</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Užklausų pavyzdžiai</h3><h4>Ailoot · Anthropic pranešimai</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-156-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-156-panel-0\" aria-selected=\"true\" tabindex=\"0\">Teksto pavyzdys</button><button class=\"cg-tab\" id=\"model-code-156-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-156-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Įvestis, vaizdas</button><button class=\"cg-tab\" id=\"model-code-156-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-156-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button><button class=\"cg-tab\" id=\"model-code-156-tab-3\" role=\"tab\" type=\"button\" aria-controls=\"model-code-156-panel-3\" aria-selected=\"false\" tabindex=\"-1\">Node.js SDK</button><button class=\"cg-tab\" id=\"model-code-156-tab-4\" role=\"tab\" type=\"button\" aria-controls=\"model-code-156-panel-4\" aria-selected=\"false\" tabindex=\"-1\">Python srautas</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-156-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-156-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;claude-opus-4-7&quot;, &quot;max_tokens&quot;: 1024, &quot;messages&quot;: []}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;messages&quot;]=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Summarize this material and quote supporting source passages.\\n\\n&quot;+text}]\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/messages \\\n  -H &quot;x-api-key: $AILOOT_API_KEY&quot; -H &#39;anthropic-version: 2023-06-01&#39; -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\nprint(json.dumps(json.loads(Path(&quot;result.json&quot;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-156-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-156-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}&quot;\nexport AILOOT_IMAGE_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;claude-opus-4-7&quot;, &quot;max_tokens&quot;: 1024, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: [{&quot;type&quot;: &quot;text&quot;, &quot;text&quot;: &quot;Read labels and numbers in this image; flag unreadable text.&quot;}]}]}&#39;)\nimport base64\nf=Path(os.environ[&quot;AILOOT_IMAGE_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose an actual PNG JPEG or WebP image&quot;)\nraw=f.read_bytes()\nmime=&quot;image/png&quot; if raw.startswith(b&quot;\\x89PNG\\r\\n\\x1a\\n&quot;) else &quot;image/jpeg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;image/webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else None\nif not mime:raise SystemExit(&quot;Use PNG JPEG or WebP&quot;)\nb64=base64.b64encode(raw).decode()\np[&quot;messages&quot;][0][&quot;content&quot;].append({&quot;type&quot;:&quot;image&quot;,&quot;source&quot;:{&quot;type&quot;:&quot;base64&quot;,&quot;media_type&quot;:mime,&quot;data&quot;:b64}})\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/messages \\\n  -H &quot;x-api-key: $AILOOT_API_KEY&quot; -H &#39;anthropic-version: 2023-06-01&#39; -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\nprint(json.dumps(json.loads(Path(&quot;result.json&quot;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-156-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-156-tab-2\" hidden><pre data-lang=\"python\"><code>import anthropic\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 = anthropic.Anthropic(base_url=&quot;https://api.ailoot.ai&quot;, api_key=os.environ[&quot;AILOOT_API_KEY&quot;], max_retries=0)\nmsg = client.messages.create(\n    model=&quot;claude-opus-4-7&quot;,\n    max_tokens=1024,\n    messages=[{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Explain the difference between an observation and a hypothesis in three sentences.&quot;}],\n)\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(msg.to_dict(mode=&quot;json&quot;))\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-156-panel-3\" role=\"tabpanel\" aria-labelledby=\"model-code-156-tab-3\" hidden><pre data-lang=\"js\"><code>import Anthropic from &quot;@anthropic-ai/sdk&quot;;\n\nif (!process.env.AILOOT_API_KEY?.trim()) throw new Error(&quot;Set AILOOT_API_KEY before making a request&quot;);\nconst client = new Anthropic({ baseURL: &quot;https://api.ailoot.ai&quot;, apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });\nconst msg = await client.messages.create({\n  model: &quot;claude-opus-4-7&quot;,\n  max_tokens: 1024,\n  messages: [{ role: &quot;user&quot;, content: &quot;Explain the difference between an observation and a hypothesis in three sentences.&quot; }],\n});\nimport { writeFileSync } from &quot;node:fs&quot;;\n\nfunction saveResult(data, stem = &quot;result&quot;) {\n  writeFileSync(stem + &quot;.json&quot;, JSON.stringify(data, null, 2));\n  console.log(JSON.stringify(data, null, 2));\n  const saveBlob = (encoded, suffix, label) =&gt; {\n    const raw = Buffer.from(encoded, &quot;base64&quot;);\n    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? &quot;png&quot; : raw[0]===255 &amp;&amp; raw[1]===216 ? &quot;jpg&quot; : raw.subarray(0,4).toString()===&quot;RIFF&quot; &amp;&amp; raw.subarray(8,12).toString()===&quot;WEBP&quot; ? &quot;webp&quot; : suffix;\n    const file = `${stem}-${label}.${ext}`;\n    writeFileSync(file, raw); console.log(&quot;Saved&quot;, file);\n  };\n  for (const [i, block] of (data.content || []).entries()) console.log(&quot;Content&quot;, i, JSON.stringify(block));\n  for (const choice of data.choices || []) console.log(&quot;Choice&quot;, choice.index, JSON.stringify(choice.message || choice.delta || {}));\n  for (const [i, item] of (data.output || []).entries()) {\n    console.log(&quot;Output&quot;, i, JSON.stringify(item));\n    if (item.type === &quot;image_generation_call&quot; &amp;&amp; item.result) saveBlob(item.result, item.output_format || &quot;bin&quot;, `output-${i}`);\n  }\n  for (const [ci, candidate] of (data.candidates || []).entries()) {\n    for (const [pi, part] of (candidate.content?.parts || []).entries()) {\n      console.log(&quot;Candidate/part&quot;, ci, pi, JSON.stringify(part));\n      const blob = part.inlineData || part.inline_data;\n      if (blob?.data) {\n        const mime = blob.mimeType || blob.mime_type;\n        const 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;})[mime] || &quot;bin&quot;;\n        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);\n      }\n    }\n  }\n}\n\nsaveResult(msg);\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-156-panel-4\" role=\"tabpanel\" aria-labelledby=\"model-code-156-tab-4\" hidden><pre data-lang=\"python\"><code>import anthropic,os\nfrom pathlib import Path\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=anthropic.Anthropic(base_url=&quot;https://api.ailoot.ai&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\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\nwith client.messages.stream(model=&#39;claude-opus-4-7&#39;,max_tokens=1024,messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Explain observations and hypotheses in three sentences.&quot;}]) as stream:\n    with Path(&quot;stream-events.jsonl&quot;).open(&quot;w&quot;,encoding=&quot;utf-8&quot;) as log:\n        for event in stream:\n            payload=event.to_dict(mode=&quot;json&quot;)\n            log.write(json.dumps(payload,ensure_ascii=False)+&quot;\\n&quot;); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_message()\n    save_result(final.to_dict(mode=&quot;json&quot;),&quot;stream-result&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 · Anthropic pranešimai</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 visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.</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\">id</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\">model</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\">content[]</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>text|thinking|tool_use|other content block</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">stop_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=\"Core\"><b>Ailoot</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=messages\"><code>claude-opus-4-7</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7&amp;fmt=messages\"><code>anthropic/claude-opus-4.7</code></a></span></p><h4>Metodų kelių pseudonimai</h4><p class=\"note-s\">Naudokite aukščiau nurodytus metodų kelius.</p><h4>Susiję ID iškvietimui</h4><p class=\"note-s\"><a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7&amp;fmt=messages\"><code>anthropic/claude-opus-4.7</code></a>, <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=messages\"><code>claude-opus-4-7</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "claude-opus-4-7",
        "fmt": "messages",
        "http": "POST",
        "path": "/v1/messages",
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core"
      },
      "method_key": "Core|messages|/v1/messages|claude-opus-4-7",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": 0.5,
        "cache_write": 6.25,
        "cache_write_1h": 10,
        "cache_write_5m": 6.25,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Keep all content blocks, thinking signatures and actual tool-use IDs. Assemble all SSE block deltas; a first text block is not the complete output.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "headers": [
                "x-api-key",
                "anthropic-version"
              ],
              "version_example": "2023-06-01"
            },
            "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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "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 arba type=text blokas",
                "required_material": "UTF8 tekstas"
              },
              {
                "availability": "Exact model input declaration and selected Source bridge required",
                "file_id_workflow": "No Ailoot upload/file-ID endpoint is introduced by this feed.",
                "mode": "text_plus_image",
                "representation": "{type:image,source:{type:base64,media_type,data}} arba šaltinis type=url"
              }
            ],
            "operation_modes": [
              "conversation",
              "function_tool_continuation",
              "streaming"
            ],
            "outputs": {
              "all_results": "Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content[]",
                  "type": "text|thinking|tool_use|other content block"
                },
                {
                  "description": null,
                  "name": "stop_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json arba SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "claude-opus-4-7"
                ],
                "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": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "user",
                  "assistant"
                ],
                "enum_known": true,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": true,
                "type": "string|content_block[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "system",
                "required": false,
                "type": "string|content_block[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_scope": "konkretus pasirinkto modelio / kortelės limitas",
                "minimum": 1,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stop_sequences",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "tool[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].name",
                "required": false,
                "type": "string",
                "when": "pateiktas įrankis"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].description",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].input_schema",
                "required": false,
                "type": "JSON_schema"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "thinking.type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "thinking.budget_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "output_config.effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "metadata",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "cache_control",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "messages",
              "max_tokens"
            ],
            "text_file_material": "tikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo"
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "operation_modes": [
            "messages"
          ],
          "output": {
            "family": [
              "text"
            ],
            "format": "JSON or supported SSE",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 1000000,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"max_tokens\": 1024, \"messages\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"messages\"]=[{\"role\":\"user\",\"content\":\"Summarize this material and quote supporting source passages.\\n\\n\"+text}]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"x-api-key: $AILOOT_API_KEY\" -H 'anthropic-version: 2023-06-01' -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\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use actual text material",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}\"\nexport AILOOT_IMAGE_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"max_tokens\": 1024, \"messages\": [{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Read labels and numbers in this image; flag unreadable text.\"}]}]}')\nimport base64\nf=Path(os.environ[\"AILOOT_IMAGE_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose an actual PNG JPEG or WebP image\")\nraw=f.read_bytes()\nmime=\"image/png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"image/jpeg\" if raw.startswith(b\"\\xff\\xd8\") else \"image/webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else None\nif not mime:raise SystemExit(\"Use PNG JPEG or WebP\")\nb64=base64.b64encode(raw).decode()\np[\"messages\"][0][\"content\"].append({\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":mime,\"data\":b64}})\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/messages \\\n  -H \"x-api-key: $AILOOT_API_KEY\" -H 'anthropic-version: 2023-06-01' -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\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual image",
            "language": "bash"
          },
          {
            "code": "import anthropic\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient = anthropic.Anthropic(base_url=\"https://api.ailoot.ai\", api_key=os.environ[\"AILOOT_API_KEY\"], max_retries=0)\nmsg = client.messages.create(\n    model=\"claude-opus-4-7\",\n    max_tokens=1024,\n    messages=[{\"role\": \"user\", \"content\": \"Explain the difference between an observation and a hypothesis in three sentences.\"}],\n)\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(msg.to_dict(mode=\"json\"))\n",
            "label": "Python · retained SDK call",
            "language": "python"
          },
          {
            "SDK_retry_proof": {
              "field": "maxRetries",
              "scope": "normalclient options; no provider/account/proxy switches",
              "source_urls": [
                "https://raw.githubusercontent.com/openai/openai-node/master/src/client.ts",
                "https://raw.githubusercontent.com/anthropics/anthropic-sdk-typescript/main/src/client.ts"
              ],
              "value": 0
            },
            "code": "import Anthropic from \"@anthropic-ai/sdk\";\n\nif (!process.env.AILOOT_API_KEY?.trim()) throw new Error(\"Set AILOOT_API_KEY before making a request\");\nconst client = new Anthropic({ baseURL: \"https://api.ailoot.ai\", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });\nconst msg = await client.messages.create({\n  model: \"claude-opus-4-7\",\n  max_tokens: 1024,\n  messages: [{ role: \"user\", content: \"Explain the difference between an observation and a hypothesis in three sentences.\" }],\n});\nimport { writeFileSync } from \"node:fs\";\n\nfunction saveResult(data, stem = \"result\") {\n  writeFileSync(stem + \".json\", JSON.stringify(data, null, 2));\n  console.log(JSON.stringify(data, null, 2));\n  const saveBlob = (encoded, suffix, label) => {\n    const raw = Buffer.from(encoded, \"base64\");\n    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? \"png\" : raw[0]===255 && raw[1]===216 ? \"jpg\" : raw.subarray(0,4).toString()===\"RIFF\" && raw.subarray(8,12).toString()===\"WEBP\" ? \"webp\" : suffix;\n    const file = `${stem}-${label}.${ext}`;\n    writeFileSync(file, raw); console.log(\"Saved\", file);\n  };\n  for (const [i, block] of (data.content || []).entries()) console.log(\"Content\", i, JSON.stringify(block));\n  for (const choice of data.choices || []) console.log(\"Choice\", choice.index, JSON.stringify(choice.message || choice.delta || {}));\n  for (const [i, item] of (data.output || []).entries()) {\n    console.log(\"Output\", i, JSON.stringify(item));\n    if (item.type === \"image_generation_call\" && item.result) saveBlob(item.result, item.output_format || \"bin\", `output-${i}`);\n  }\n  for (const [ci, candidate] of (data.candidates || []).entries()) {\n    for (const [pi, part] of (candidate.content?.parts || []).entries()) {\n      console.log(\"Candidate/part\", ci, pi, JSON.stringify(part));\n      const blob = part.inlineData || part.inline_data;\n      if (blob?.data) {\n        const mime = blob.mimeType || blob.mime_type;\n        const suffix = ({\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"})[mime] || \"bin\";\n        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);\n      }\n    }\n  }\n}\n\nsaveResult(msg);\n",
            "label": "Node.js · retained SDK call",
            "language": "js"
          },
          {
            "code": "import anthropic,os\nfrom pathlib import Path\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=anthropic.Anthropic(base_url=\"https://api.ailoot.ai\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\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\nwith client.messages.stream(model='claude-opus-4-7',max_tokens=1024,messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}]) as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_message()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "label": "Python streaming · complete final message",
            "language": "python"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "messages",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 5,
        "input": [
          "text",
          "image"
        ],
        "label": "Anthropic pranešimai",
        "max_out": 131072,
        "max_tool_calls": {
          "web_search_call": 8
        },
        "out": 25,
        "output": [
          "text"
        ],
        "path": "/v1/messages",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 25,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write",
                "label": "Cache write",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_5m",
                "label": "Cache write 5m",
                "side": "in"
              },
              {
                "amount": 10,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_1h",
                "label": "Cache write 1h",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": {
          "web_search_call": 0.01
        },
        "unit": "token",
        "units": []
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">A</span><h2 id=\"sheet-title\">Anthropic: Claude Opus 4.7</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Uždaryti\">×</button></div><div class=\"idline\"><span>Anthropic /</span><code>claude-opus-4-7</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=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Core|chat|/v1/chat/completions|claude-opus-4-7\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Core|messages|/v1/messages|claude-opus-4-7\">Messages</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-2\" data-card-method=\"Core|responses|/v1/responses|claude-opus-4-7\">Responses</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-3\" data-card-method=\"Ultra|chat|/v1/chat/completions|anthropic%2Fclaude-opus-4.7\">Chat · Ultra</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-4\" data-card-method=\"Ultra|messages|/v1/messages|anthropic%2Fclaude-opus-4.7\">Messages · Ultra</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-2\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Pradžia</h3><p class=\"mdesc-full\">Claude Opus 4.7 skirtas sudėtingam inžineriniam darbui, dokumentų ir vaizdų su smulkiomis detalėmis analizei. Ypač daug dėmesio skiria tiksliam instrukcijų vykdymui ir rezultato tikrinimui.</p><dl class=\"card-io\" data-card-io><div><dt>Leidžiamos įvestys</dt><dd>Tekstas · Vaizdai</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\"><h4>Kruopštus inžinerinis darbas</h4><p>Anthropic kuria Claude Opus 4.7 sudėtingoms, ilgoms programavimo užduotims. Pristatant pabrėžiamas nuoseklus darbo atlikimas, atidus instrukcijų laikymasis ir būdų patikrinti savo rezultatą paieška prieš galutinį pranešimą. Modelis tinka sudėtingai kodo problemai tirti ir profesinei medžiagai rengti, kai kartu reikia techninio sprendimo bei aiškaus pateikimo.</p><p>Opus 4.7 pažodžiui laikosi formuluočių. Užduotį geriau apibrėžti aiškiomis ribomis: kurias dalis reikia keisti, ką tikrinti ir koks turi būti rezultatas. Jei sąlyga taikoma visoms darbo dalims, ją taip ir reikia aprašyti. Gamintojas taip pat pabrėžia pastabų naudojimą failinėje atmintyje ilgoms užduotims, tačiau tokioms pastaboms skaityti ir išsaugoti reikia programos įrankių.</p><h4>Matyti tankias schemas ir sąsajos kopijas</h4><p>Modelis priima <strong>tekstą ir vaizdus</strong> ir pateikia <strong>tekstą</strong>. Vaizdinei įvesčiai palaikoma raiška iki <strong>2576 pikselių ilgojoje kraštinėje</strong>, maždaug <strong>3,75 megapikselio</strong>. Tai naudinga informacijos gausioms ekrano kopijoms, informacijai iš sudėtingų diagramų išgauti ir užduotims su išsamiu vaizdiniu pavyzdžiu.</p><p>Gamintojo įprastos vaizdinės įvesties formatai: JPEG/PNG/GIF/WebP, pirmasis animacijos kadras. Analizuojant pradine raiška: ilgoji kraštinė — 2576 pikseliai, 4784 vaizdiniai tokenai; dideli vaizdai prieš analizę sumažinami. Failų ir parametrų palaikymas priklauso nuo programos metodo.</p><p>Aukšta raiška padeda išlaikyti detales, tačiau nepadaro vaizdinio supratimo neklystančio. Išvestyje galima gauti paaiškinimą, duomenų struktūrą arba kodą; paties vaizdo kūrimas ir redagavimas nėra modelio išvesties galimybė. Sąsajai valdyti reikia priemonių, kurios rodo modeliui ekraną ir atlieka veiksmus programoje.</p><h4>Užduoties gylis ir apimtis</h4><p>Kontekstas — <strong>1 mln. tokenų</strong>, įprastu režimu didžiausias atsakymas — <strong>128 tūkst. tokenų</strong>. Palaikomas adaptyvus samprotavimas; rankinio extended thinking su <code>budget_tokens</code> šioje versijoje nėra. Įprastas <code>effort</code> lygis — <code>high</code>; taip pat galimi <code>low</code>, <code>medium</code>, <code>xhigh</code> ir <code>max</code>. Lygis <code>xhigh</code> suteikia atskirą nuostatą tarp <code>high</code> ir <code>max</code> ilgam inžineriniam bei agentiniam darbui.</p><p>Esant mažiems pastangų lygiams, modelis ypač griežtai apriboja darbą tuo, ko buvo paprašyta. Sudėtingam tyrimui gamintojas rekomenduoja numatyti pakankamai vietos samprotavimui ir atsakymui. Šioje versijoje atnaujintas teksto skaidymas į tokenus, todėl toks pats teksto kiekis ne visada turi įprastą ankstesnių versijų tokenų ilgį.</p><h4>Darbo sąlygos</h4><p>Patikima integruotų žinių riba — <strong>2026 m. sausis</strong>. Dabartiniams tyrimams, darbui su dokumentais ir kodo vykdymui naudojama programos teikiama medžiaga bei įrankiai. Opus 4.7 turi apsaugos mechanizmų, galinčių blokuoti draudžiamas ar didelės rizikos kibernetinio saugumo užklausas. Jo dėmesys rezultato tikrinimui naudingas darbe, tačiau galutinius pakeitimus ir išvadas vis tiek reikia tikrinti konkrečioje aplinkoje.</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 · OpenAI Responses</b> <code>POST /v1/responses</code></summary><dl class=\"method-capabilities\"><div><dt>Įvestis</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Išvestis</dt><dd><code>text</code></dd></div><div><dt>Kontekstas</dt><dd>1 000 000 tokens</dd></div><div><dt>Didžiausia išvestis</dt><dd>131 072 tokens</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>claude-opus-4-7</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\">input</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|input_item[]</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></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\">instructions</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></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\">input[].type</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>message, reasoning, function_call, function_call_output</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\">input[].content</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|content_part[]</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=\"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\">input[].call_id</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: function_call_output; išsaugokite tikrąjį grąžintą call_id</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\">input[].output</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|content_part[]</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: function_call_output</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\">max_output_tokens</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</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>Mažiausia reikšmė: 1</div><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\">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><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\">temperature</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">top_p</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">tools</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>tool[]</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">tool_choice</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">parallel_tool_calls</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><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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">reasoning.effort</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">reasoning.summary</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">text.format</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">text.verbosity</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">include</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">store</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><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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">previous_response_id</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>ID reikalavimas: Tik tikrasis atsakymo ID iš palaikomo tęsinio</div><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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">service_tier</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">prompt_cache_key</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">prompt_cache_options</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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></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>įvesties tekstas arba input_text dalis</code></p><p class=\"note-s\"><b>Tekstas + vaizdas</b></p><p class=\"note-s\"><code>{type:input_image,image_url}</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>material_types</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text, image</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, input</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>null</td></tr><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>text_file_material</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>tikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo</td></tr></tbody></table></div><p>Gyvavimo ciklas: <code>exact retained published method</code></p><p class=\"note-s\">Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planai</h3><h4>Ailoot metodų įkainiai</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> OpenAI Responses</b><code>POST /v1/responses</code></header><dl><div><dt>Įvestis</dt><dd>0,005 USD <em>/ 1K</em></dd></div><div><dt>Išvestis</dt><dd>0,025 USD <em>/ 1K</em></dd></div><div><dt>Talpyklos skaitymas</dt><dd>0,0005 USD <em>/ 1K</em></dd></div><div><dt>Rašymas į talpyklą</dt><dd>0,00625 USD <em>/ 1K</em></dd></div><div><dt>Rašymas į talpyklą, 5 min</dt><dd>0,00625 USD <em>/ 1K tokens</em></dd></div><div><dt>Rašymas į talpyklą, 1 val</dt><dd>0,01 USD <em>/ 1K tokens</em></dd></div><div><dt>web_search_call</dt><dd>0,01 USD <em>už iškvietimą</em></dd></div><div><dt>Daugiausia iškvietimų web_search_call</dt><dd>8</dd></div></dl></section><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><div data-model-tariff-reference><h4>Informacinio tarifo duomenys</h4><p class=\"note-s\">Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.</p><details class=\"card-price-reference\" data-profile-scope=\"model_reference\" data-client-selectable=\"false\"><summary>Modelio informacinės lentelės</summary><h4>Kainos pagal konfigūraciją</h4><p class=\"note-s\">Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigūracija</th><th>Įkainių lentelė</th><th>Konteksto tokenų daugiau nei</th><th>Konteksto tokenų iki imtinai</th><th>Mokestis</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>OpenAI Chat · 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=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>—</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>OpenAI Chat · Užklausos ilgio pakopa 1</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>0</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Anthropic Messages · 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=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>—</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Anthropic Messages · Užklausos ilgio pakopa 1</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>0</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Užklausų pavyzdžiai</h3><h4>Ailoot · OpenAI Responses</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-157-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-157-panel-0\" aria-selected=\"true\" tabindex=\"0\">Teksto pavyzdys</button><button class=\"cg-tab\" id=\"model-code-157-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-157-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Įvestis, vaizdas</button><button class=\"cg-tab\" id=\"model-code-157-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-157-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button><button class=\"cg-tab\" id=\"model-code-157-tab-3\" role=\"tab\" type=\"button\" aria-controls=\"model-code-157-panel-3\" aria-selected=\"false\" tabindex=\"-1\">Node.js SDK</button><button class=\"cg-tab\" id=\"model-code-157-tab-4\" role=\"tab\" type=\"button\" aria-controls=\"model-code-157-panel-4\" aria-selected=\"false\" tabindex=\"-1\">Python srautas</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-157-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-157-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;claude-opus-4-7&quot;, &quot;input&quot;: &quot;&quot;}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=&quot;Summarize this material and quote supporting source passages.\\n\\n&quot;+text\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/responses \\\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 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(json.loads(Path(&quot;result.json&quot;).read_text(encoding=&quot;utf-8&quot;)))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-157-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-157-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}&quot;\nexport AILOOT_IMAGE_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;claude-opus-4-7&quot;, &quot;input&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: [{&quot;type&quot;: &quot;input_text&quot;, &quot;text&quot;: &quot;Read labels and numbers in this image; flag unreadable text.&quot;}]}]}&#39;)\nimport base64\nf=Path(os.environ[&quot;AILOOT_IMAGE_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose an actual PNG JPEG or WebP image&quot;)\nraw=f.read_bytes()\nmime=&quot;image/png&quot; if raw.startswith(b&quot;\\x89PNG\\r\\n\\x1a\\n&quot;) else &quot;image/jpeg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;image/webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else None\nif not mime:raise SystemExit(&quot;Use PNG JPEG or WebP&quot;)\nb64=base64.b64encode(raw).decode()\np[&quot;input&quot;][0][&quot;content&quot;].append({&quot;type&quot;:&quot;input_image&quot;,&quot;image_url&quot;:&quot;data:&quot;+mime+&quot;;base64,&quot;+b64})\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/responses \\\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 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(json.loads(Path(&quot;result.json&quot;).read_text(encoding=&quot;utf-8&quot;)))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-157-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-157-tab-2\" 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)\nresp = client.responses.create(model=&quot;claude-opus-4-7&quot;, input=&quot;Explain the difference between an observation and a hypothesis in three sentences.&quot;)\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(resp.to_dict(mode=&quot;json&quot;))\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-157-panel-3\" role=\"tabpanel\" aria-labelledby=\"model-code-157-tab-3\" hidden><pre data-lang=\"js\"><code>import OpenAI from &quot;openai&quot;;\n\nif (!process.env.AILOOT_API_KEY?.trim()) throw new Error(&quot;Set AILOOT_API_KEY before making a request&quot;);\nconst client = new OpenAI({ baseURL: &quot;https://api.ailoot.ai/v1&quot;, apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });\nconst resp = await client.responses.create({ model: &quot;claude-opus-4-7&quot;, input: &quot;Explain the difference between an observation and a hypothesis in three sentences.&quot; });\nimport { writeFileSync } from &quot;node:fs&quot;;\n\nfunction saveResult(data, stem = &quot;result&quot;) {\n  writeFileSync(stem + &quot;.json&quot;, JSON.stringify(data, null, 2));\n  console.log(JSON.stringify(data, null, 2));\n  const saveBlob = (encoded, suffix, label) =&gt; {\n    const raw = Buffer.from(encoded, &quot;base64&quot;);\n    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? &quot;png&quot; : raw[0]===255 &amp;&amp; raw[1]===216 ? &quot;jpg&quot; : raw.subarray(0,4).toString()===&quot;RIFF&quot; &amp;&amp; raw.subarray(8,12).toString()===&quot;WEBP&quot; ? &quot;webp&quot; : suffix;\n    const file = `${stem}-${label}.${ext}`;\n    writeFileSync(file, raw); console.log(&quot;Saved&quot;, file);\n  };\n  for (const [i, block] of (data.content || []).entries()) console.log(&quot;Content&quot;, i, JSON.stringify(block));\n  for (const choice of data.choices || []) console.log(&quot;Choice&quot;, choice.index, JSON.stringify(choice.message || choice.delta || {}));\n  for (const [i, item] of (data.output || []).entries()) {\n    console.log(&quot;Output&quot;, i, JSON.stringify(item));\n    if (item.type === &quot;image_generation_call&quot; &amp;&amp; item.result) saveBlob(item.result, item.output_format || &quot;bin&quot;, `output-${i}`);\n  }\n  for (const [ci, candidate] of (data.candidates || []).entries()) {\n    for (const [pi, part] of (candidate.content?.parts || []).entries()) {\n      console.log(&quot;Candidate/part&quot;, ci, pi, JSON.stringify(part));\n      const blob = part.inlineData || part.inline_data;\n      if (blob?.data) {\n        const mime = blob.mimeType || blob.mime_type;\n        const 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;})[mime] || &quot;bin&quot;;\n        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);\n      }\n    }\n  }\n}\n\nsaveResult(resp);\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-157-panel-4\" role=\"tabpanel\" aria-labelledby=\"model-code-157-tab-4\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\nfrom pathlib import Path\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\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)\nwith client.responses.stream(model=&quot;claude-opus-4-7&quot;, input=&quot;Explain the difference between an observation and a hypothesis in three sentences.&quot;) as stream:\n    with Path(&quot;stream-events.jsonl&quot;).open(&quot;w&quot;,encoding=&quot;utf-8&quot;) as log:\n        for event in stream:\n            payload=event.to_dict(mode=&quot;json&quot;)\n            log.write(json.dumps(payload,ensure_ascii=False)+&quot;\\n&quot;); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_response()\n    save_result(final.to_dict(mode=&quot;json&quot;),&quot;stream-result&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 · OpenAI Responses</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ą išvesties elementą ir turinio dalį, tikrąjį funkcijos call_id, šifruotą samprotavimą ir naudojimo duomenis. Srautinio perdavimo metu išsaugokite visą įvykio / elemento tapatybę.</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\">id</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\">status</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\">output[]</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>message|reasoning|function_call|other item</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">output[].content[]</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>content part</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=\"Core\"><b>Ailoot</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=responses\"><code>claude-opus-4-7</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7\"><code>anthropic/claude-opus-4.7</code></a></span></p><h4>Metodų kelių pseudonimai</h4><p class=\"note-s\">Naudokite aukščiau nurodytus metodų kelius.</p><h4>Susiję ID iškvietimui</h4><p class=\"note-s\"><a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7\"><code>anthropic/claude-opus-4.7</code></a>, <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=responses\"><code>claude-opus-4-7</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "claude-opus-4-7",
        "fmt": "responses",
        "http": "POST",
        "path": "/v1/responses",
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core"
      },
      "method_key": "Core|responses|/v1/responses|claude-opus-4-7",
      "ordinal": 1,
      "rawMethod": {
        "cache_read": 0.5,
        "cache_write": 6.25,
        "cache_write_1h": 10,
        "cache_write_5m": 6.25,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Keep every output item and content part, actual function call_id, encrypted reasoning and usage. In streaming retain complete event/item identity.",
            "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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/responses"
              },
              "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": "įvesties tekstas arba input_text dalis",
                "required_material": "UTF8 tekstas"
              },
              {
                "availability": "Exact model input declaration and selected Source bridge required",
                "file_id_workflow": "No Ailoot upload/file-ID endpoint is introduced by this feed.",
                "mode": "text_plus_image",
                "representation": "{type:input_image,image_url}"
              }
            ],
            "operation_modes": [
              "conversation",
              "function_tool_continuation",
              "streaming"
            ],
            "outputs": {
              "all_results": "Išsaugokite kiekvieną išvesties elementą ir turinio dalį, tikrąjį funkcijos call_id, šifruotą samprotavimą ir naudojimo duomenis. Srautinio perdavimo metu išsaugokite visą įvykio / elemento tapatybę.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "output[]",
                  "type": "message|reasoning|function_call|other item"
                },
                {
                  "description": null,
                  "name": "output[].content[]",
                  "type": "content part"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json arba SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "claude-opus-4-7"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input",
                "required": true,
                "type": "string|input_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "instructions",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "message",
                  "reasoning",
                  "function_call",
                  "function_call_output"
                ],
                "enum_known": true,
                "name": "input[].type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input[].content",
                "required": false,
                "type": "string|content_part[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input[].call_id",
                "required": false,
                "type": "string",
                "when": "function_call_output; išsaugokite tikrąjį grąžintą call_id"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input[].output",
                "required": false,
                "type": "string|content_part[]",
                "when": "function_call_output"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_output_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "tool[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "parallel_tool_calls",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning.effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning.summary",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "text.format",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "text.verbosity",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "include",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "store",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "identity_rule": "Tik tikrasis atsakymo ID iš palaikomo tęsinio",
                "name": "previous_response_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_key",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_options",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ],
            "text_file_material": "tikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo"
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/responses"
          },
          "operation_modes": [
            "responses"
          ],
          "output": {
            "family": [
              "text"
            ],
            "format": "JSON or supported SSE",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 1000000,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=\"Summarize this material and quote supporting source passages.\\n\\n\"+text\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/responses \\\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 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(json.loads(Path(\"result.json\").read_text(encoding=\"utf-8\")))\nPY_RESULT\n",
            "label": "Use actual text material",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}\"\nexport AILOOT_IMAGE_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"input\": [{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"Read labels and numbers in this image; flag unreadable text.\"}]}]}')\nimport base64\nf=Path(os.environ[\"AILOOT_IMAGE_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose an actual PNG JPEG or WebP image\")\nraw=f.read_bytes()\nmime=\"image/png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"image/jpeg\" if raw.startswith(b\"\\xff\\xd8\") else \"image/webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else None\nif not mime:raise SystemExit(\"Use PNG JPEG or WebP\")\nb64=base64.b64encode(raw).decode()\np[\"input\"][0][\"content\"].append({\"type\":\"input_image\",\"image_url\":\"data:\"+mime+\";base64,\"+b64})\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/responses \\\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 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(json.loads(Path(\"result.json\").read_text(encoding=\"utf-8\")))\nPY_RESULT\n",
            "label": "Use your actual image",
            "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)\nresp = client.responses.create(model=\"claude-opus-4-7\", input=\"Explain the difference between an observation and a hypothesis in three sentences.\")\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(resp.to_dict(mode=\"json\"))\n",
            "label": "Python · retained SDK call",
            "language": "python"
          },
          {
            "SDK_retry_proof": {
              "field": "maxRetries",
              "scope": "normalclient options; no provider/account/proxy switches",
              "source_urls": [
                "https://raw.githubusercontent.com/openai/openai-node/master/src/client.ts",
                "https://raw.githubusercontent.com/anthropics/anthropic-sdk-typescript/main/src/client.ts"
              ],
              "value": 0
            },
            "code": "import OpenAI from \"openai\";\n\nif (!process.env.AILOOT_API_KEY?.trim()) throw new Error(\"Set AILOOT_API_KEY before making a request\");\nconst client = new OpenAI({ baseURL: \"https://api.ailoot.ai/v1\", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });\nconst resp = await client.responses.create({ model: \"claude-opus-4-7\", input: \"Explain the difference between an observation and a hypothesis in three sentences.\" });\nimport { writeFileSync } from \"node:fs\";\n\nfunction saveResult(data, stem = \"result\") {\n  writeFileSync(stem + \".json\", JSON.stringify(data, null, 2));\n  console.log(JSON.stringify(data, null, 2));\n  const saveBlob = (encoded, suffix, label) => {\n    const raw = Buffer.from(encoded, \"base64\");\n    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? \"png\" : raw[0]===255 && raw[1]===216 ? \"jpg\" : raw.subarray(0,4).toString()===\"RIFF\" && raw.subarray(8,12).toString()===\"WEBP\" ? \"webp\" : suffix;\n    const file = `${stem}-${label}.${ext}`;\n    writeFileSync(file, raw); console.log(\"Saved\", file);\n  };\n  for (const [i, block] of (data.content || []).entries()) console.log(\"Content\", i, JSON.stringify(block));\n  for (const choice of data.choices || []) console.log(\"Choice\", choice.index, JSON.stringify(choice.message || choice.delta || {}));\n  for (const [i, item] of (data.output || []).entries()) {\n    console.log(\"Output\", i, JSON.stringify(item));\n    if (item.type === \"image_generation_call\" && item.result) saveBlob(item.result, item.output_format || \"bin\", `output-${i}`);\n  }\n  for (const [ci, candidate] of (data.candidates || []).entries()) {\n    for (const [pi, part] of (candidate.content?.parts || []).entries()) {\n      console.log(\"Candidate/part\", ci, pi, JSON.stringify(part));\n      const blob = part.inlineData || part.inline_data;\n      if (blob?.data) {\n        const mime = blob.mimeType || blob.mime_type;\n        const suffix = ({\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"})[mime] || \"bin\";\n        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);\n      }\n    }\n  }\n}\n\nsaveResult(resp);\n",
            "label": "Node.js · retained SDK call",
            "language": "js"
          },
          {
            "Source_stream_contract": "typed parameters.stream=boolean/source_interface/defaultfalse; outputs.format=json or SSE",
            "code": "from openai import OpenAI\nimport os\nfrom pathlib import Path\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\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)\nwith client.responses.stream(model=\"claude-opus-4-7\", input=\"Explain the difference between an observation and a hypothesis in three sentences.\") as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_response()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "creation_argument_parity": "same model/input as existing normal SDK call; SDK sets stream=true",
            "label": "Python streaming · complete Responses result",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "responses",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 5,
        "input": [
          "text",
          "image"
        ],
        "label": "OpenAI Responses",
        "max_out": 131072,
        "max_tool_calls": {
          "web_search_call": 8
        },
        "out": 25,
        "output": [
          "text"
        ],
        "path": "/v1/responses",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 25,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write",
                "label": "Cache write",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_5m",
                "label": "Cache write 5m",
                "side": "in"
              },
              {
                "amount": 10,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_1h",
                "label": "Cache write 1h",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": {
          "web_search_call": 0.01
        },
        "unit": "token",
        "units": []
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">A</span><h2 id=\"sheet-title\">Anthropic: Claude Opus 4.7</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Uždaryti\">×</button></div><div class=\"idline\"><span>Anthropic /</span><code>claude-opus-4-7</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=\"Core|chat|/v1/chat/completions|claude-opus-4-7\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Core|messages|/v1/messages|claude-opus-4-7\">Messages</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-2\" data-card-method=\"Core|responses|/v1/responses|claude-opus-4-7\">Responses</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-3\" data-card-method=\"Ultra|chat|/v1/chat/completions|anthropic%2Fclaude-opus-4.7\">Chat · Ultra</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-4\" data-card-method=\"Ultra|messages|/v1/messages|anthropic%2Fclaude-opus-4.7\">Messages · Ultra</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\">Claude Opus 4.7 skirtas sudėtingam inžineriniam darbui, dokumentų ir vaizdų su smulkiomis detalėmis analizei. Ypač daug dėmesio skiria tiksliam instrukcijų vykdymui ir rezultato tikrinimui.</p><dl class=\"card-io\" data-card-io><div><dt>Leidžiamos įvestys</dt><dd>Tekstas · Vaizdai</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\"><h4>Kruopštus inžinerinis darbas</h4><p>Anthropic kuria Claude Opus 4.7 sudėtingoms, ilgoms programavimo užduotims. Pristatant pabrėžiamas nuoseklus darbo atlikimas, atidus instrukcijų laikymasis ir būdų patikrinti savo rezultatą paieška prieš galutinį pranešimą. Modelis tinka sudėtingai kodo problemai tirti ir profesinei medžiagai rengti, kai kartu reikia techninio sprendimo bei aiškaus pateikimo.</p><p>Opus 4.7 pažodžiui laikosi formuluočių. Užduotį geriau apibrėžti aiškiomis ribomis: kurias dalis reikia keisti, ką tikrinti ir koks turi būti rezultatas. Jei sąlyga taikoma visoms darbo dalims, ją taip ir reikia aprašyti. Gamintojas taip pat pabrėžia pastabų naudojimą failinėje atmintyje ilgoms užduotims, tačiau tokioms pastaboms skaityti ir išsaugoti reikia programos įrankių.</p><h4>Matyti tankias schemas ir sąsajos kopijas</h4><p>Modelis priima <strong>tekstą ir vaizdus</strong> ir pateikia <strong>tekstą</strong>. Vaizdinei įvesčiai palaikoma raiška iki <strong>2576 pikselių ilgojoje kraštinėje</strong>, maždaug <strong>3,75 megapikselio</strong>. Tai naudinga informacijos gausioms ekrano kopijoms, informacijai iš sudėtingų diagramų išgauti ir užduotims su išsamiu vaizdiniu pavyzdžiu.</p><p>Gamintojo įprastos vaizdinės įvesties formatai: JPEG/PNG/GIF/WebP, pirmasis animacijos kadras. Analizuojant pradine raiška: ilgoji kraštinė — 2576 pikseliai, 4784 vaizdiniai tokenai; dideli vaizdai prieš analizę sumažinami. Failų ir parametrų palaikymas priklauso nuo programos metodo.</p><p>Aukšta raiška padeda išlaikyti detales, tačiau nepadaro vaizdinio supratimo neklystančio. Išvestyje galima gauti paaiškinimą, duomenų struktūrą arba kodą; paties vaizdo kūrimas ir redagavimas nėra modelio išvesties galimybė. Sąsajai valdyti reikia priemonių, kurios rodo modeliui ekraną ir atlieka veiksmus programoje.</p><h4>Užduoties gylis ir apimtis</h4><p>Kontekstas — <strong>1 mln. tokenų</strong>, įprastu režimu didžiausias atsakymas — <strong>128 tūkst. tokenų</strong>. Palaikomas adaptyvus samprotavimas; rankinio extended thinking su <code>budget_tokens</code> šioje versijoje nėra. Įprastas <code>effort</code> lygis — <code>high</code>; taip pat galimi <code>low</code>, <code>medium</code>, <code>xhigh</code> ir <code>max</code>. Lygis <code>xhigh</code> suteikia atskirą nuostatą tarp <code>high</code> ir <code>max</code> ilgam inžineriniam bei agentiniam darbui.</p><p>Esant mažiems pastangų lygiams, modelis ypač griežtai apriboja darbą tuo, ko buvo paprašyta. Sudėtingam tyrimui gamintojas rekomenduoja numatyti pakankamai vietos samprotavimui ir atsakymui. Šioje versijoje atnaujintas teksto skaidymas į tokenus, todėl toks pats teksto kiekis ne visada turi įprastą ankstesnių versijų tokenų ilgį.</p><h4>Darbo sąlygos</h4><p>Patikima integruotų žinių riba — <strong>2026 m. sausis</strong>. Dabartiniams tyrimams, darbui su dokumentais ir kodo vykdymui naudojama programos teikiama medžiaga bei įrankiai. Opus 4.7 turi apsaugos mechanizmų, galinčių blokuoti draudžiamas ar didelės rizikos kibernetinio saugumo užklausas. Jo dėmesys rezultato tikrinimui naudingas darbe, tačiau galutinius pakeitimus ir išvadas vis tiek reikia tikrinti konkrečioje aplinkoje.</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 · OpenAI pokalbis</b> <code>POST /v1/chat/completions</code></summary><dl class=\"method-capabilities\"><div><dt>Įvestis</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Išvestis</dt><dd><code>text</code></dd></div><div><dt>Kontekstas</dt><dd>1 000 000 tokens</dd></div><div><dt>Didžiausia išvestis</dt><dd>131 072 tokens</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>claude-opus-4-7</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>Pavyzdžiai: system, user, assistant, tool, function</div><div>Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio.</div><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|content_part[]|null</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=\"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[].tool_calls</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>tool_call[]</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=\"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[].tool_call_id</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: role=tool; naudokite tikrąjį grąžintą ID</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[].name</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></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[].reasoning_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: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja</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[].reasoning_details</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object|array</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">max_tokens</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</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>Mažiausia reikšmė: 1</div><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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">max_completion_tokens</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</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>Mažiausia reikšmė: 1</div><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\">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><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\">stream_options.include_usage</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><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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">top_p</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">stop</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">tools</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>function_tool[]</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">tools[].type</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 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\">tools[].function.name</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>Taikoma, kai: pateiktas funkcijos tipo įrankis</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\">tools[].function.description</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></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\">tools[].function.parameters</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>JSON_schema</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=\"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\">tool_choice</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">parallel_tool_calls</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><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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">reasoning_effort</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">reasoning</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">service_tier</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 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_compatibility\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">instructions</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 class=\"note-s\">Suderinamumo laukas</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\">functions</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>function[]</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">function_call</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">prompt_cache_options</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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></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><p class=\"note-s\"><b>Tekstas + vaizdas</b></p><p class=\"note-s\"><code>{type:image_url,image_url:{url,detail}}</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>material_types</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text, image</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>optional_controls</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>null</td></tr><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>text_file_material</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>tikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo</td></tr></tbody></table></div><p>Gyvavimo ciklas: <code>exact retained published method</code></p><p class=\"note-s\">Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planai</h3><h4>Ailoot metodų įkainiai</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> OpenAI pokalbis</b><code>POST /v1/chat/completions</code></header><dl><div><dt>Įvestis</dt><dd>0,005 USD <em>/ 1K</em></dd></div><div><dt>Išvestis</dt><dd>0,025 USD <em>/ 1K</em></dd></div><div><dt>Talpyklos skaitymas</dt><dd>0,0005 USD <em>/ 1K</em></dd></div><div><dt>Rašymas į talpyklą</dt><dd>0,00625 USD <em>/ 1K</em></dd></div><div><dt>Rašymas į talpyklą, 5 min</dt><dd>0,00625 USD <em>/ 1K tokens</em></dd></div><div><dt>Rašymas į talpyklą, 1 val</dt><dd>0,01 USD <em>/ 1K tokens</em></dd></div><div><dt>web_search_call</dt><dd>0,01 USD <em>už iškvietimą</em></dd></div><div><dt>Daugiausia iškvietimų web_search_call</dt><dd>8</dd></div></dl></section><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><div data-model-tariff-reference><h4>Informacinio tarifo duomenys</h4><p class=\"note-s\">Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.</p><details class=\"card-price-reference\" data-profile-scope=\"model_reference\" data-client-selectable=\"false\"><summary>Modelio informacinės lentelės</summary><h4>Kainos pagal konfigūraciją</h4><p class=\"note-s\">Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigūracija</th><th>Įkainių lentelė</th><th>Konteksto tokenų daugiau nei</th><th>Konteksto tokenų iki imtinai</th><th>Mokestis</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>OpenAI Chat · 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=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>—</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>OpenAI Chat · Užklausos ilgio pakopa 1</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>0</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Anthropic Messages · 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=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>—</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Anthropic Messages · Užklausos ilgio pakopa 1</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>0</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Užklausų pavyzdžiai</h3><h4>Ailoot · 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-158-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-158-panel-0\" aria-selected=\"true\" tabindex=\"0\">Teksto pavyzdys</button><button class=\"cg-tab\" id=\"model-code-158-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-158-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Įvestis, vaizdas</button><button class=\"cg-tab\" id=\"model-code-158-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-158-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button><button class=\"cg-tab\" id=\"model-code-158-tab-3\" role=\"tab\" type=\"button\" aria-controls=\"model-code-158-panel-3\" aria-selected=\"false\" tabindex=\"-1\">Node.js SDK</button><button class=\"cg-tab\" id=\"model-code-158-tab-4\" role=\"tab\" type=\"button\" aria-controls=\"model-code-158-panel-4\" aria-selected=\"false\" tabindex=\"-1\">Python srautas</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-158-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-158-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;claude-opus-4-7&quot;, &quot;messages&quot;: []}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;messages&quot;]=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Summarize this material and quote supporting source passages.\\n\\n&quot;+text}]\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\nprint(json.dumps(json.loads(Path(&quot;result.json&quot;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-158-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-158-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}&quot;\nexport AILOOT_IMAGE_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;claude-opus-4-7&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: [{&quot;type&quot;: &quot;text&quot;, &quot;text&quot;: &quot;Read labels and numbers in this image; flag unreadable text.&quot;}]}]}&#39;)\nimport base64\nf=Path(os.environ[&quot;AILOOT_IMAGE_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose an actual PNG JPEG or WebP image&quot;)\nraw=f.read_bytes()\nmime=&quot;image/png&quot; if raw.startswith(b&quot;\\x89PNG\\r\\n\\x1a\\n&quot;) else &quot;image/jpeg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;image/webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else None\nif not mime:raise SystemExit(&quot;Use PNG JPEG or WebP&quot;)\nb64=base64.b64encode(raw).decode()\np[&quot;messages&quot;][0][&quot;content&quot;].append({&quot;type&quot;:&quot;image_url&quot;,&quot;image_url&quot;:{&quot;url&quot;:&quot;data:&quot;+mime+&quot;;base64,&quot;+b64}})\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\nprint(json.dumps(json.loads(Path(&quot;result.json&quot;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-158-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-158-tab-2\" 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)\nresp = client.chat.completions.create(\n    model=&quot;claude-opus-4-7&quot;,\n    messages=[{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Explain the difference between an observation and a hypothesis in three sentences.&quot;}],\n)\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(resp.to_dict(mode=&quot;json&quot;))\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-158-panel-3\" role=\"tabpanel\" aria-labelledby=\"model-code-158-tab-3\" hidden><pre data-lang=\"js\"><code>import OpenAI from &quot;openai&quot;;\n\nif (!process.env.AILOOT_API_KEY?.trim()) throw new Error(&quot;Set AILOOT_API_KEY before making a request&quot;);\nconst client = new OpenAI({ baseURL: &quot;https://api.ailoot.ai/v1&quot;, apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });\nconst resp = await client.chat.completions.create({\n  model: &quot;claude-opus-4-7&quot;,\n  messages: [{ role: &quot;user&quot;, content: &quot;Explain the difference between an observation and a hypothesis in three sentences.&quot; }],\n});\nimport { writeFileSync } from &quot;node:fs&quot;;\n\nfunction saveResult(data, stem = &quot;result&quot;) {\n  writeFileSync(stem + &quot;.json&quot;, JSON.stringify(data, null, 2));\n  console.log(JSON.stringify(data, null, 2));\n  const saveBlob = (encoded, suffix, label) =&gt; {\n    const raw = Buffer.from(encoded, &quot;base64&quot;);\n    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? &quot;png&quot; : raw[0]===255 &amp;&amp; raw[1]===216 ? &quot;jpg&quot; : raw.subarray(0,4).toString()===&quot;RIFF&quot; &amp;&amp; raw.subarray(8,12).toString()===&quot;WEBP&quot; ? &quot;webp&quot; : suffix;\n    const file = `${stem}-${label}.${ext}`;\n    writeFileSync(file, raw); console.log(&quot;Saved&quot;, file);\n  };\n  for (const [i, block] of (data.content || []).entries()) console.log(&quot;Content&quot;, i, JSON.stringify(block));\n  for (const choice of data.choices || []) console.log(&quot;Choice&quot;, choice.index, JSON.stringify(choice.message || choice.delta || {}));\n  for (const [i, item] of (data.output || []).entries()) {\n    console.log(&quot;Output&quot;, i, JSON.stringify(item));\n    if (item.type === &quot;image_generation_call&quot; &amp;&amp; item.result) saveBlob(item.result, item.output_format || &quot;bin&quot;, `output-${i}`);\n  }\n  for (const [ci, candidate] of (data.candidates || []).entries()) {\n    for (const [pi, part] of (candidate.content?.parts || []).entries()) {\n      console.log(&quot;Candidate/part&quot;, ci, pi, JSON.stringify(part));\n      const blob = part.inlineData || part.inline_data;\n      if (blob?.data) {\n        const mime = blob.mimeType || blob.mime_type;\n        const 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;})[mime] || &quot;bin&quot;;\n        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);\n      }\n    }\n  }\n}\n\nsaveResult(resp);\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-158-panel-4\" role=\"tabpanel\" aria-labelledby=\"model-code-158-tab-4\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\nfrom pathlib import Path\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)\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\nwith client.chat.completions.stream(model=&#39;claude-opus-4-7&#39;,messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Explain observations and hypotheses in three sentences.&quot;}]) as stream:\n    with Path(&quot;stream-events.jsonl&quot;).open(&quot;w&quot;,encoding=&quot;utf-8&quot;) as log:\n        for event in stream:\n            payload=event.to_dict(mode=&quot;json&quot;)\n            log.write(json.dumps(payload,ensure_ascii=False)+&quot;\\n&quot;); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_completion()\n    save_result(final.to_dict(mode=&quot;json&quot;),&quot;stream-result&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 · 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=\"Core\"><b>Ailoot</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=chat\"><code>claude-opus-4-7</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7&amp;fmt=chat\"><code>anthropic/claude-opus-4.7</code></a></span></p><h4>Metodų kelių pseudonimai</h4><p class=\"note-s\">Naudokite aukščiau nurodytus metodų kelius.</p><h4>Susiję ID iškvietimui</h4><p class=\"note-s\"><a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7&amp;fmt=chat\"><code>anthropic/claude-opus-4.7</code></a>, <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=chat\"><code>claude-opus-4-7</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "claude-opus-4-7",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core"
      },
      "method_key": "Core|chat|/v1/chat/completions|claude-opus-4-7",
      "ordinal": 2,
      "rawMethod": {
        "cache_read": 0.5,
        "cache_write": 6.25,
        "cache_write_1h": 10,
        "cache_write_5m": 6.25,
        "conditional_meter": 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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID."
            ],
            "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"
              },
              {
                "availability": "Exact model input declaration and selected Source bridge required",
                "file_id_workflow": "No Ailoot upload/file-ID endpoint is introduced by this feed.",
                "mode": "text_plus_image",
                "representation": "{type:image_url,image_url:{url,detail}}"
              }
            ],
            "operation_modes": [
              "conversation",
              "function_tool_continuation",
              "streaming"
            ],
            "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": [
                  "claude-opus-4-7"
                ],
                "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",
                "conditions": "Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio.",
                "default": null,
                "default_known": false,
                "enum": [
                  "system",
                  "user",
                  "assistant",
                  "tool",
                  "function"
                ],
                "enum_exhaustive": false,
                "enum_known": true,
                "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|content_part[]|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_calls",
                "required": false,
                "type": "tool_call[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_call_id",
                "required": false,
                "type": "string",
                "when": "role=tool; naudokite tikrąjį grąžintą ID"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].name",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_content",
                "required": false,
                "type": "string",
                "when": "Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_details",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stream_options.include_usage",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stop",
                "required": false,
                "type": "string|string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "function_tool[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.name",
                "required": true,
                "type": "string",
                "when": "pateiktas funkcijos tipo įrankis"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.description",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.parameters",
                "required": false,
                "type": "JSON_schema"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "parallel_tool_calls",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "response_format",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning_effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_compatibility",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "instructions",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "functions",
                "required": false,
                "type": "function[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "function_call",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_options",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "messages"
            ],
            "text_file_material": "tikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo"
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "operation_modes": [
            "chat_completions"
          ],
          "output": {
            "family": [
              "text"
            ],
            "format": "JSON or supported SSE",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 1000000,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"messages\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"messages\"]=[{\"role\":\"user\",\"content\":\"Summarize this material and quote supporting source passages.\\n\\n\"+text}]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/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\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use actual text material",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}\"\nexport AILOOT_IMAGE_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"messages\": [{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Read labels and numbers in this image; flag unreadable text.\"}]}]}')\nimport base64\nf=Path(os.environ[\"AILOOT_IMAGE_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose an actual PNG JPEG or WebP image\")\nraw=f.read_bytes()\nmime=\"image/png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"image/jpeg\" if raw.startswith(b\"\\xff\\xd8\") else \"image/webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else None\nif not mime:raise SystemExit(\"Use PNG JPEG or WebP\")\nb64=base64.b64encode(raw).decode()\np[\"messages\"][0][\"content\"].append({\"type\":\"image_url\",\"image_url\":{\"url\":\"data:\"+mime+\";base64,\"+b64}})\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\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual image",
            "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)\nresp = client.chat.completions.create(\n    model=\"claude-opus-4-7\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain the difference between an observation and a hypothesis in three sentences.\"}],\n)\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(resp.to_dict(mode=\"json\"))\n",
            "label": "Python · retained SDK call",
            "language": "python"
          },
          {
            "SDK_retry_proof": {
              "field": "maxRetries",
              "scope": "normalclient options; no provider/account/proxy switches",
              "source_urls": [
                "https://raw.githubusercontent.com/openai/openai-node/master/src/client.ts",
                "https://raw.githubusercontent.com/anthropics/anthropic-sdk-typescript/main/src/client.ts"
              ],
              "value": 0
            },
            "code": "import OpenAI from \"openai\";\n\nif (!process.env.AILOOT_API_KEY?.trim()) throw new Error(\"Set AILOOT_API_KEY before making a request\");\nconst client = new OpenAI({ baseURL: \"https://api.ailoot.ai/v1\", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });\nconst resp = await client.chat.completions.create({\n  model: \"claude-opus-4-7\",\n  messages: [{ role: \"user\", content: \"Explain the difference between an observation and a hypothesis in three sentences.\" }],\n});\nimport { writeFileSync } from \"node:fs\";\n\nfunction saveResult(data, stem = \"result\") {\n  writeFileSync(stem + \".json\", JSON.stringify(data, null, 2));\n  console.log(JSON.stringify(data, null, 2));\n  const saveBlob = (encoded, suffix, label) => {\n    const raw = Buffer.from(encoded, \"base64\");\n    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? \"png\" : raw[0]===255 && raw[1]===216 ? \"jpg\" : raw.subarray(0,4).toString()===\"RIFF\" && raw.subarray(8,12).toString()===\"WEBP\" ? \"webp\" : suffix;\n    const file = `${stem}-${label}.${ext}`;\n    writeFileSync(file, raw); console.log(\"Saved\", file);\n  };\n  for (const [i, block] of (data.content || []).entries()) console.log(\"Content\", i, JSON.stringify(block));\n  for (const choice of data.choices || []) console.log(\"Choice\", choice.index, JSON.stringify(choice.message || choice.delta || {}));\n  for (const [i, item] of (data.output || []).entries()) {\n    console.log(\"Output\", i, JSON.stringify(item));\n    if (item.type === \"image_generation_call\" && item.result) saveBlob(item.result, item.output_format || \"bin\", `output-${i}`);\n  }\n  for (const [ci, candidate] of (data.candidates || []).entries()) {\n    for (const [pi, part] of (candidate.content?.parts || []).entries()) {\n      console.log(\"Candidate/part\", ci, pi, JSON.stringify(part));\n      const blob = part.inlineData || part.inline_data;\n      if (blob?.data) {\n        const mime = blob.mimeType || blob.mime_type;\n        const suffix = ({\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"})[mime] || \"bin\";\n        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);\n      }\n    }\n  }\n}\n\nsaveResult(resp);\n",
            "label": "Node.js · retained SDK call",
            "language": "js"
          },
          {
            "code": "from openai import OpenAI\nimport os\nfrom pathlib import Path\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)\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\nwith client.chat.completions.stream(model='claude-opus-4-7',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}]) as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_completion()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "label": "Python streaming · retain all events",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 5,
        "input": [
          "text",
          "image"
        ],
        "label": "OpenAI pokalbis",
        "max_out": 131072,
        "max_tool_calls": {
          "web_search_call": 8
        },
        "out": 25,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 25,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write",
                "label": "Cache write",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_5m",
                "label": "Cache write 5m",
                "side": "in"
              },
              {
                "amount": 10,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_1h",
                "label": "Cache write 1h",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": {
          "web_search_call": 0.01
        },
        "unit": "token",
        "units": []
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">A</span><h2 id=\"sheet-title\">Anthropic: Claude Opus 4.7</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Uždaryti\">×</button></div><div class=\"idline\"><span>Anthropic /</span><code>anthropic/claude-opus-4.7</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=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Core|chat|/v1/chat/completions|claude-opus-4-7\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Core|messages|/v1/messages|claude-opus-4-7\">Messages</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-2\" data-card-method=\"Core|responses|/v1/responses|claude-opus-4-7\">Responses</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-3\" data-card-method=\"Ultra|chat|/v1/chat/completions|anthropic%2Fclaude-opus-4.7\">Chat · Ultra</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-4\" data-card-method=\"Ultra|messages|/v1/messages|anthropic%2Fclaude-opus-4.7\">Messages · Ultra</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-3\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Pradžia</h3><p class=\"mdesc-full\">Claude Opus 4.7 skirtas sudėtingam inžineriniam darbui, dokumentų ir vaizdų su smulkiomis detalėmis analizei. Ypač daug dėmesio skiria tiksliam instrukcijų vykdymui ir rezultato tikrinimui.</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\"><h4>Kruopštus inžinerinis darbas</h4><p>Anthropic kuria Claude Opus 4.7 sudėtingoms, ilgoms programavimo užduotims. Pristatant pabrėžiamas nuoseklus darbo atlikimas, atidus instrukcijų laikymasis ir būdų patikrinti savo rezultatą paieška prieš galutinį pranešimą. Modelis tinka sudėtingai kodo problemai tirti ir profesinei medžiagai rengti, kai kartu reikia techninio sprendimo bei aiškaus pateikimo.</p><p>Opus 4.7 pažodžiui laikosi formuluočių. Užduotį geriau apibrėžti aiškiomis ribomis: kurias dalis reikia keisti, ką tikrinti ir koks turi būti rezultatas. Jei sąlyga taikoma visoms darbo dalims, ją taip ir reikia aprašyti. Gamintojas taip pat pabrėžia pastabų naudojimą failinėje atmintyje ilgoms užduotims, tačiau tokioms pastaboms skaityti ir išsaugoti reikia programos įrankių.</p><h4>Matyti tankias schemas ir sąsajos kopijas</h4><p>Modelis priima <strong>tekstą ir vaizdus</strong> ir pateikia <strong>tekstą</strong>. Vaizdinei įvesčiai palaikoma raiška iki <strong>2576 pikselių ilgojoje kraštinėje</strong>, maždaug <strong>3,75 megapikselio</strong>. Tai naudinga informacijos gausioms ekrano kopijoms, informacijai iš sudėtingų diagramų išgauti ir užduotims su išsamiu vaizdiniu pavyzdžiu.</p><p>Gamintojo įprastos vaizdinės įvesties formatai: JPEG/PNG/GIF/WebP, pirmasis animacijos kadras. Analizuojant pradine raiška: ilgoji kraštinė — 2576 pikseliai, 4784 vaizdiniai tokenai; dideli vaizdai prieš analizę sumažinami. Failų ir parametrų palaikymas priklauso nuo programos metodo.</p><p>Aukšta raiška padeda išlaikyti detales, tačiau nepadaro vaizdinio supratimo neklystančio. Išvestyje galima gauti paaiškinimą, duomenų struktūrą arba kodą; paties vaizdo kūrimas ir redagavimas nėra modelio išvesties galimybė. Sąsajai valdyti reikia priemonių, kurios rodo modeliui ekraną ir atlieka veiksmus programoje.</p><h4>Užduoties gylis ir apimtis</h4><p>Kontekstas — <strong>1 mln. tokenų</strong>, įprastu režimu didžiausias atsakymas — <strong>128 tūkst. tokenų</strong>. Palaikomas adaptyvus samprotavimas; rankinio extended thinking su <code>budget_tokens</code> šioje versijoje nėra. Įprastas <code>effort</code> lygis — <code>high</code>; taip pat galimi <code>low</code>, <code>medium</code>, <code>xhigh</code> ir <code>max</code>. Lygis <code>xhigh</code> suteikia atskirą nuostatą tarp <code>high</code> ir <code>max</code> ilgam inžineriniam bei agentiniam darbui.</p><p>Esant mažiems pastangų lygiams, modelis ypač griežtai apriboja darbą tuo, ko buvo paprašyta. Sudėtingam tyrimui gamintojas rekomenduoja numatyti pakankamai vietos samprotavimui ir atsakymui. Šioje versijoje atnaujintas teksto skaidymas į tokenus, todėl toks pats teksto kiekis ne visada turi įprastą ankstesnių versijų tokenų ilgį.</p><h4>Darbo sąlygos</h4><p>Patikima integruotų žinių riba — <strong>2026 m. sausis</strong>. Dabartiniams tyrimams, darbui su dokumentais ir kodo vykdymui naudojama programos teikiama medžiaga bei įrankiai. Opus 4.7 turi apsaugos mechanizmų, galinčių blokuoti draudžiamas ar didelės rizikos kibernetinio saugumo užklausas. Jo dėmesys rezultato tikrinimui naudingas darbe, tačiau galutinius pakeitimus ir išvadas vis tiek reikia tikrinti konkrečioje aplinkoje.</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>anthropic/claude-opus-4.7</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>Pavyzdžiai: system, user, assistant, tool, function</div><div>Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio.</div><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|content_part[]|null</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=\"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[].tool_calls</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>tool_call[]</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=\"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[].tool_call_id</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: role=tool; naudokite tikrąjį grąžintą ID</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[].name</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></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[].reasoning_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: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja</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[].reasoning_details</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object|array</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">max_tokens</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</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>Mažiausia reikšmė: 1</div><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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">max_completion_tokens</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</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>Mažiausia reikšmė: 1</div><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\">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><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\">stream_options.include_usage</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><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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">top_p</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">stop</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">tools</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>function_tool[]</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">tools[].type</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>function</div><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\">tools[].function.name</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>Taikoma, kai: pateiktas funkcijos tipo įrankis</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\">tools[].function.description</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></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\">tools[].function.parameters</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>JSON_schema</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=\"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\">tool_choice</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">parallel_tool_calls</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><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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">reasoning_effort</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">reasoning</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">service_tier</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 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_compatibility\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">instructions</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 class=\"note-s\">Suderinamumo laukas</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\">functions</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>function[]</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">function_call</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>string|object</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 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=\"model_dependent\"><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">prompt_cache_options</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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 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\">modalities</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>text</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\">provider</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>object</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>Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas</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\">cache_control.ttl</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>Sąlygos: 1h atmetamas tikrosiose užklausų podėlio vietose</div></td><td data-cell-label=\"Numatyta\" data-default=\"unspecified\"><span class=\"card-cell-label\">Numatyta</span>—</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, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice</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>priklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių</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>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>Standartinis įkainis <span class=\"note-s\">Pasirinkus spartųjį režimą</span></dd><dt>Flex režimas</dt><dd>Standartinis įkainis <span class=\"note-s\">Pasirinkus flex režimą</span></dd><dt>Didžiausios samprotavimo pastangos</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)</span></dd><dt>Samprotavimo pastangos · high</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra high</span></dd><dt>Samprotavimo pastangos · low</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra low</span></dd><dt>Samprotavimo pastangos · max</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra max</span></dd><dt>Samprotavimo pastangos · medium</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra medium</span></dd><dt>Samprotavimo pastangos · xhigh</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra xhigh</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot įkainiai</h4><h4>Kainos pagal konfigūraciją</h4><p class=\"note-s\">Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigūracija</th><th>Įkainių lentelė</th><th>Konteksto tokenų daugiau nei</th><th>Konteksto tokenų iki imtinai</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=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>—</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Užklausos ilgio pakopa 1</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>0</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</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-159-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-159-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-159-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-159-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button><button class=\"cg-tab\" id=\"model-code-159-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-159-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python srautas</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-159-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-159-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;anthropic/claude-opus-4.7&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Explain the difference between an observation and a hypothesis in three sentences.&quot;}]}&#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-159-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-159-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=&#39;anthropic/claude-opus-4.7&#39;,messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Explain observations and hypotheses in three sentences.&quot;}])\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 class=\"cg-pane\" id=\"model-code-159-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-159-tab-2\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\nfrom pathlib import Path\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)\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\nwith client.chat.completions.stream(model=&#39;anthropic/claude-opus-4.7&#39;,messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Explain observations and hypotheses in three sentences.&quot;}]) as stream:\n    with Path(&quot;stream-events.jsonl&quot;).open(&quot;w&quot;,encoding=&quot;utf-8&quot;) as log:\n        for event in stream:\n            payload=event.to_dict(mode=&quot;json&quot;)\n            log.write(json.dumps(payload,ensure_ascii=False)+&quot;\\n&quot;); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_completion()\n    save_result(final.to_dict(mode=&quot;json&quot;),&quot;stream-result&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=\"Core\"><b>Ailoot</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=chat\"><code>claude-opus-4-7</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7&amp;fmt=chat\"><code>anthropic/claude-opus-4.7</code></a></span></p><h4>Metodų kelių pseudonimai</h4><p class=\"note-s\">Naudokite aukščiau nurodytus metodų kelius.</p><h4>Susiję ID iškvietimui</h4><p class=\"note-s\"><a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7&amp;fmt=chat\"><code>anthropic/claude-opus-4.7</code></a>, <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=chat\"><code>claude-opus-4-7</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "anthropic/claude-opus-4.7",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "anthropic/claude-opus-4.7",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|anthropic%2Fclaude-opus-4.7",
      "ordinal": 3,
      "rawMethod": {
        "available": null,
        "cache_read": 1,
        "cache_write": 12.5,
        "cache_write_1h": 20,
        "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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID.",
              "Guarded canonical keys must occur once; duplicate or case-varied model/tools/cap fields are rejected."
            ],
            "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",
              "function_tool_continuation",
              "streaming"
            ],
            "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": [
                  "anthropic/claude-opus-4.7"
                ],
                "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",
                "conditions": "Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio.",
                "default": null,
                "default_known": false,
                "enum": [
                  "system",
                  "user",
                  "assistant",
                  "tool",
                  "function"
                ],
                "enum_exhaustive": false,
                "enum_known": true,
                "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|content_part[]|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_calls",
                "required": false,
                "type": "tool_call[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_call_id",
                "required": false,
                "type": "string",
                "when": "role=tool; naudokite tikrąjį grąžintą ID"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].name",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_content",
                "required": false,
                "type": "string",
                "when": "Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_details",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stream_options.include_usage",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stop",
                "required": false,
                "type": "string|string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "function_tool[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": [
                  "function"
                ],
                "enum_known": true,
                "name": "tools[].type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.name",
                "required": true,
                "type": "string",
                "when": "pateiktas funkcijos tipo įrankis"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.description",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.parameters",
                "required": false,
                "type": "JSON_schema"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "parallel_tool_calls",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "response_format",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning_effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_compatibility",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "instructions",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "functions",
                "required": false,
                "type": "function[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "function_call",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_options",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "text"
                ],
                "enum_known": true,
                "name": "modalities",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options šiame Ultra teksto maršrute atmetamas",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "conditions": "1h atmetamas tikrosiose užklausų podėlio vietose",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "cache_control.ttl",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "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": "priklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių",
            "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",
              "temperature",
              "top_p",
              "stop",
              "max_tokens",
              "max_completion_tokens",
              "reasoning",
              "response_format",
              "tools",
              "tool_choice"
            ],
            "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": [],
          "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Užklausos ilgio pakopa 1",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "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\": \"anthropic/claude-opus-4.7\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain the difference between an observation and a hypothesis in three sentences.\"}]}')\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='anthropic/claude-opus-4.7',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}])\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"
          },
          {
            "code": "from openai import OpenAI\nimport os\nfrom pathlib import Path\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)\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\nwith client.chat.completions.stream(model='anthropic/claude-opus-4.7',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}]) as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_completion()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "label": "Python SDK streaming · all events",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "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": 10,
        "input": [
          "text"
        ],
        "label": "OpenAI pokalbis",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 50,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Spartusis režimas",
            "value": "Standartinis įkainis",
            "when": "Pasirinkus spartųjį režimą"
          },
          {
            "label": "Flex režimas",
            "value": "Standartinis įkainis",
            "when": "Pasirinkus flex režimą"
          },
          {
            "label": "Didžiausios samprotavimo pastangos",
            "value": "Standartinis įkainis",
            "when": "Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)"
          },
          {
            "label": "Samprotavimo pastangos · high",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra high"
          },
          {
            "label": "Samprotavimo pastangos · low",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra low"
          },
          {
            "label": "Samprotavimo pastangos · max",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra max"
          },
          {
            "label": "Samprotavimo pastangos · medium",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra medium"
          },
          {
            "label": "Samprotavimo pastangos · xhigh",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra xhigh"
          }
        ],
        "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "max": 1,
          "medium": 1,
          "xhigh": 1
        },
        "request_model_id": "anthropic/claude-opus-4.7",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 1,
            "cache_read_multiplier": null,
            "cache_write": 12.5,
            "cache_write_1h": 20,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 10,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 50,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00001",
            "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.05000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00005",
            "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.001000",
            "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.000001",
            "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.0125000",
            "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.0000125",
            "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": "0.02000",
            "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": "0.00002",
            "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"
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">A</span><h2 id=\"sheet-title\">Anthropic: Claude Opus 4.7</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Uždaryti\">×</button></div><div class=\"idline\"><span>Anthropic /</span><code>anthropic/claude-opus-4.7</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=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Core|chat|/v1/chat/completions|claude-opus-4-7\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Core|messages|/v1/messages|claude-opus-4-7\">Messages</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-2\" data-card-method=\"Core|responses|/v1/responses|claude-opus-4-7\">Responses</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-3\" data-card-method=\"Ultra|chat|/v1/chat/completions|anthropic%2Fclaude-opus-4.7\">Chat · Ultra</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-4\" data-card-method=\"Ultra|messages|/v1/messages|anthropic%2Fclaude-opus-4.7\">Messages · Ultra</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-4\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Pradžia</h3><p class=\"mdesc-full\">Claude Opus 4.7 skirtas sudėtingam inžineriniam darbui, dokumentų ir vaizdų su smulkiomis detalėmis analizei. Ypač daug dėmesio skiria tiksliam instrukcijų vykdymui ir rezultato tikrinimui.</p><dl class=\"card-io\" data-card-io><div><dt>Leidžiamos įvestys</dt><dd>Tekstas</dd></div><div><dt>Rezultatai</dt><dd>json · sse</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\"><h4>Kruopštus inžinerinis darbas</h4><p>Anthropic kuria Claude Opus 4.7 sudėtingoms, ilgoms programavimo užduotims. Pristatant pabrėžiamas nuoseklus darbo atlikimas, atidus instrukcijų laikymasis ir būdų patikrinti savo rezultatą paieška prieš galutinį pranešimą. Modelis tinka sudėtingai kodo problemai tirti ir profesinei medžiagai rengti, kai kartu reikia techninio sprendimo bei aiškaus pateikimo.</p><p>Opus 4.7 pažodžiui laikosi formuluočių. Užduotį geriau apibrėžti aiškiomis ribomis: kurias dalis reikia keisti, ką tikrinti ir koks turi būti rezultatas. Jei sąlyga taikoma visoms darbo dalims, ją taip ir reikia aprašyti. Gamintojas taip pat pabrėžia pastabų naudojimą failinėje atmintyje ilgoms užduotims, tačiau tokioms pastaboms skaityti ir išsaugoti reikia programos įrankių.</p><h4>Matyti tankias schemas ir sąsajos kopijas</h4><p>Modelis priima <strong>tekstą ir vaizdus</strong> ir pateikia <strong>tekstą</strong>. Vaizdinei įvesčiai palaikoma raiška iki <strong>2576 pikselių ilgojoje kraštinėje</strong>, maždaug <strong>3,75 megapikselio</strong>. Tai naudinga informacijos gausioms ekrano kopijoms, informacijai iš sudėtingų diagramų išgauti ir užduotims su išsamiu vaizdiniu pavyzdžiu.</p><p>Gamintojo įprastos vaizdinės įvesties formatai: JPEG/PNG/GIF/WebP, pirmasis animacijos kadras. Analizuojant pradine raiška: ilgoji kraštinė — 2576 pikseliai, 4784 vaizdiniai tokenai; dideli vaizdai prieš analizę sumažinami. Failų ir parametrų palaikymas priklauso nuo programos metodo.</p><p>Aukšta raiška padeda išlaikyti detales, tačiau nepadaro vaizdinio supratimo neklystančio. Išvestyje galima gauti paaiškinimą, duomenų struktūrą arba kodą; paties vaizdo kūrimas ir redagavimas nėra modelio išvesties galimybė. Sąsajai valdyti reikia priemonių, kurios rodo modeliui ekraną ir atlieka veiksmus programoje.</p><h4>Užduoties gylis ir apimtis</h4><p>Kontekstas — <strong>1 mln. tokenų</strong>, įprastu režimu didžiausias atsakymas — <strong>128 tūkst. tokenų</strong>. Palaikomas adaptyvus samprotavimas; rankinio extended thinking su <code>budget_tokens</code> šioje versijoje nėra. Įprastas <code>effort</code> lygis — <code>high</code>; taip pat galimi <code>low</code>, <code>medium</code>, <code>xhigh</code> ir <code>max</code>. Lygis <code>xhigh</code> suteikia atskirą nuostatą tarp <code>high</code> ir <code>max</code> ilgam inžineriniam bei agentiniam darbui.</p><p>Esant mažiems pastangų lygiams, modelis ypač griežtai apriboja darbą tuo, ko buvo paprašyta. Sudėtingam tyrimui gamintojas rekomenduoja numatyti pakankamai vietos samprotavimui ir atsakymui. Šioje versijoje atnaujintas teksto skaidymas į tokenus, todėl toks pats teksto kiekis ne visada turi įprastą ankstesnių versijų tokenų ilgį.</p><h4>Darbo sąlygos</h4><p>Patikima integruotų žinių riba — <strong>2026 m. sausis</strong>. Dabartiniams tyrimams, darbui su dokumentais ir kodo vykdymui naudojama programos teikiama medžiaga bei įrankiai. Opus 4.7 turi apsaugos mechanizmų, galinčių blokuoti draudžiamas ar didelės rizikos kibernetinio saugumo užklausas. Jo dėmesys rezultato tikrinimui naudingas darbe, tačiau galutinius pakeitimus ir išvadas vis tiek reikia tikrinti konkrečioje aplinkoje.</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 · Anthropic pranešimai</b> <code>POST /v1/messages</code></summary><dl class=\"method-capabilities\"><div><dt>Įvestis</dt><dd><code>text</code></dd></div><div><dt>Išvestis</dt><dd><code>json</code>, <code>sse</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>anthropic/claude-opus-4.7</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></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[].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>user, assistant</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>Privaloma</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=\"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\">max_tokens</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span><code>integer</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></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> · UTF-8 tekstas</p><p class=\"note-s\"><code>messages[].content eilutė</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, max_tokens</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>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>text_file_material</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>Perskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę.</td></tr></tbody></table></div><p>Gyvavimo ciklas: <code>synchronous_or_streamed</code></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>Standartinis įkainis <span class=\"note-s\">Pasirinkus spartųjį režimą</span></dd><dt>Flex režimas</dt><dd>Standartinis įkainis <span class=\"note-s\">Pasirinkus flex režimą</span></dd><dt>Didžiausios samprotavimo pastangos</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)</span></dd><dt>Samprotavimo pastangos · high</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra high</span></dd><dt>Samprotavimo pastangos · low</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra low</span></dd><dt>Samprotavimo pastangos · max</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra max</span></dd><dt>Samprotavimo pastangos · medium</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra medium</span></dd><dt>Samprotavimo pastangos · xhigh</dt><dd>Standartinis įkainis <span class=\"note-s\">Kai samprotavimo pastangų lygis yra xhigh</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot įkainiai</h4><h4>Kainos pagal konfigūraciją</h4><p class=\"note-s\">Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigūracija</th><th>Įkainių lentelė</th><th>Konteksto tokenų daugiau nei</th><th>Konteksto tokenų iki imtinai</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=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>—</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K tokenų</span></div></td></tr><tr><th data-cell-label=\"Konfigūracija\" scope=\"row\"><span class=\"card-cell-label\">Konfigūracija</span>Užklausos ilgio pakopa 1</th><td data-cell-label=\"Įkainių lentelė\"><span class=\"card-cell-label\">Įkainių lentelė</span>—</td><td data-cell-label=\"Konteksto tokenų daugiau nei\"><span class=\"card-cell-label\">Konteksto tokenų daugiau nei</span>0</td><td data-cell-label=\"Konteksto tokenų iki imtinai\"><span class=\"card-cell-label\">Konteksto tokenų iki imtinai</span>Be viršutinės ribos</td><td data-cell-label=\"Mokestis\"><span class=\"card-cell-label\">Mokestis</span><div><span>Įvestis · Įvesties tokenai</span> <b>$0.01</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Išvestis · Išvesties tokenai</span> <b>$0.05</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Talpyklos skaitymas</span> <b>$0.001</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą</span> <b>$0.0125</b> <span class=\"price-unit\">/ 1K tokenų</span></div><div><span>Įvestis · Rašymas į talpyklą, 1 val</span> <b>$0.02</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 · Anthropic pranešimai</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-160-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-160-panel-0\" aria-selected=\"true\" tabindex=\"0\">Visas minimalus JSON užklausos turinys</button><button class=\"cg-tab\" id=\"model-code-160-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-160-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · naudokite savo UTF-8 dokumentą</button><button class=\"cg-tab\" id=\"model-code-160-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-160-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python · išsaugokite visą rezultatą</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-160-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-160-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;anthropic/claude-opus-4.7&quot;,\n  &quot;max_tokens&quot;: 128,\n  &quot;messages&quot;: [\n    {\n      &quot;role&quot;: &quot;user&quot;,\n      &quot;content&quot;: &quot;Summarize the incident report.&quot;\n    }\n  ],\n  &quot;stream&quot;: false\n}</code></pre></div><div class=\"cg-pane\" id=\"model-code-160-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-160-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ[&#39;AILOOT_TEXT_FILE&#39;])\nif not source_file.is_file():\n    raise SystemExit(&#39;Set AILOOT_TEXT_FILE to your actual UTF-8 document&#39;)\ntext = source_file.read_text(encoding=&#39;utf-8&#39;)\nif not text.strip():\n    raise SystemExit(&#39;Choose a document containing text&#39;)\npayload = {&#39;model&#39;: &#39;anthropic/claude-opus-4.7&#39;, &#39;max_tokens&#39;: 128, &#39;messages&#39;: [{&#39;role&#39;: &#39;user&#39;, &#39;content&#39;: &#39;Summarize the incident report.&#39;}]}\npayload[&#39;messages&#39;][0][&#39;content&#39;] = &#39;Summarize this material and quote supporting source passages.\\n\\n&#39; + text\nPath(&#39;request.json&#39;).write_text(json.dumps(payload, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H &quot;x-api-key: $AILOOT_API_KEY&quot; -H &#39;anthropic-version: 2023-06-01&#39; -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\n\nresult = json.loads(Path(&#39;result.json&#39;).read_text(encoding=&#39;utf-8&#39;))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-160-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-160-tab-2\" hidden><pre data-lang=\"python\"><code>import json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ[&#39;AILOOT_TEXT_FILE&#39;])\nif not source_file.is_file():\n    raise SystemExit(&#39;Set AILOOT_TEXT_FILE to your actual UTF-8 document&#39;)\ntext = source_file.read_text(encoding=&#39;utf-8&#39;)\nif not text.strip():\n    raise SystemExit(&#39;Choose a document containing text&#39;)\npayload = {&#39;model&#39;: &#39;anthropic/claude-opus-4.7&#39;, &#39;max_tokens&#39;: 128, &#39;messages&#39;: [{&#39;role&#39;: &#39;user&#39;, &#39;content&#39;: &#39;Summarize the incident report.&#39;}]}\npayload[&#39;messages&#39;][0][&#39;content&#39;] = &#39;Summarize this material and quote supporting source passages.\\n\\n&#39; + text\nfrom urllib.request import Request, urlopen\nfrom urllib.error import HTTPError\n\napi_key = os.environ[&#39;AILOOT_API_KEY&#39;]\nif not api_key.strip():\n    raise SystemExit(&#39;Set AILOOT_API_KEY before making a request&#39;)\nheaders = {&#39;x-api-key&#39;: &#39;PLACEHOLDER_KEY&#39;, &#39;anthropic-version&#39;: &#39;2023-06-01&#39;, &#39;Content-Type&#39;: &#39;application/json&#39;}\nheaders[&#39;x-api-key&#39;] = api_key\nrequest = Request(&#39;https://api.ailoot.ai/v1/messages&#39;, data=json.dumps(payload, ensure_ascii=False).encode(&#39;utf-8&#39;), headers=headers, method=&#39;POST&#39;)\ntry:\n    with urlopen(request, timeout=120) as response:\n        raw = response.read()\n        Path(&#39;response-headers.txt&#39;).write_text(str(response.headers), encoding=&#39;utf-8&#39;)\nexcept HTTPError as error:\n    Path(&#39;result.json&#39;).write_bytes(error.read())\n    Path(&#39;response-headers.txt&#39;).write_text(str(error.headers), encoding=&#39;utf-8&#39;)\n    raise\nPath(&#39;result.json&#39;).write_bytes(raw)\nimport json\nfrom pathlib import Path\n\nresult = json.loads(Path(&#39;result.json&#39;).read_text(encoding=&#39;utf-8&#39;))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\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 · Anthropic pranešimai</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 visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.</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\">id</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\">model</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\">content[]</code></th><td data-cell-label=\"Tipas\" data-field-type><span class=\"card-cell-label\">Tipas</span>text|thinking|tool_use|other content block</td></tr><tr><th data-cell-label=\"Laukas\" scope=\"row\"><span class=\"card-cell-label\">Laukas</span><code class=\"card-field-name\">stop_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=\"Core\"><b>Ailoot</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=messages\"><code>claude-opus-4-7</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7&amp;fmt=messages\"><code>anthropic/claude-opus-4.7</code></a></span></p><h4>Metodų kelių pseudonimai</h4><p class=\"note-s\">Naudokite aukščiau nurodytus metodų kelius.</p><h4>Susiję ID iškvietimui</h4><p class=\"note-s\"><a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Ultra&amp;caller=anthropic%2Fclaude-opus-4.7&amp;fmt=messages\"><code>anthropic/claude-opus-4.7</code></a>, <a href=\"#m=anthropic%2Fclaude-opus-4.7&amp;route=Core&amp;caller=claude-opus-4-7&amp;fmt=messages\"><code>claude-opus-4-7</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "anthropic/claude-opus-4.7",
        "fmt": "messages",
        "http": "POST",
        "path": "/v1/messages",
        "request_model_id": "anthropic/claude-opus-4.7",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|messages|/v1/messages|anthropic%2Fclaude-opus-4.7",
      "ordinal": 4,
      "rawMethod": {
        "available": null,
        "cache_read": 1,
        "cache_write": 12.5,
        "cache_write_1h": 20,
        "contract": {
          "data": {
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "headers": [
                "Authorization: Bearer",
                "x-api-key",
                "anthropic-version"
              ],
              "version_example": "2023-06-01"
            },
            "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"
              }
            ],
            "example_body": {
              "max_tokens": 128,
              "messages": [
                {
                  "content": "Summarize the incident report.",
                  "role": "user"
                }
              ],
              "model": "anthropic/claude-opus-4.7",
              "stream": false
            },
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "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 eilutė",
                "required_material": "UTF-8 tekstas"
              }
            ],
            "operation_modes": [
              "synchronous_json",
              "streamed_SSE"
            ],
            "outputs": {
              "all_results": "Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.",
              "family": "protocol",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content[]",
                  "type": "text|thinking|tool_use|other content block"
                },
                {
                  "description": null,
                  "name": "stop_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON arba SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "anthropic/claude-opus-4.7"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "user",
                  "assistant"
                ],
                "enum_known": true,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Documented current stock Messages bridge; optional model capabilities are separate from this minimal text request.",
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "max_tokens": {
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "source": {
                                      "oneOf": [
                                        {
                                          "properties": {
                                            "type": {
                                              "const": "url"
                                            },
                                            "url": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "type",
                                            "url"
                                          ],
                                          "type": "object"
                                        },
                                        {
                                          "properties": {
                                            "data": {
                                              "type": "string"
                                            },
                                            "media_type": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "const": "base64"
                                            }
                                          },
                                          "required": [
                                            "type",
                                            "media_type",
                                            "data"
                                          ],
                                          "type": "object"
                                        }
                                      ]
                                    },
                                    "type": {
                                      "const": "image"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "source"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "anthropic/claude-opus-4.7"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages",
                "max_tokens"
              ],
              "type": "object"
            },
            "schema_template": {
              "max_tokens": 128,
              "messages": [
                {
                  "content": "Summarize the incident report.",
                  "role": "user"
                }
              ],
              "model": "anthropic/claude-opus-4.7",
              "stream": false
            },
            "unsupported": [
              "No query API key.",
              "Hosted/server-side tools and model-specific optional controls are not part of this minimal family example."
            ]
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "stream"
            ],
            "required": [
              "model",
              "messages",
              "max_tokens"
            ],
            "text_file_material": "Perskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę."
          },
          "lifecycle": {
            "create": {
              "http": "POST",
              "path": "/v1/messages"
            },
            "job_read": null,
            "mode": "synchronous_or_streamed",
            "unknown": "Keep request/response IDs and headers. No generic text job retrieval URL is supplied."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "output": {
            "all_results": "Keep all content blocks, thinking signatures and actual tool-use IDs. Assemble all SSE block deltas; a first text block is not the complete output.",
            "family": "protocol",
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Baziniai žetonų įkainiai",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Užklausos ilgio pakopa 1",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "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": "{\n  \"model\": \"anthropic/claude-opus-4.7\",\n  \"max_tokens\": 128,\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Summarize the incident report.\"\n    }\n  ],\n  \"stream\": false\n}",
            "label": "Complete minimal JSON body",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ['AILOOT_TEXT_FILE'])\nif not source_file.is_file():\n    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')\ntext = source_file.read_text(encoding='utf-8')\nif not text.strip():\n    raise SystemExit('Choose a document containing text')\npayload = {'model': 'anthropic/claude-opus-4.7', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}\npayload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\\n\\n' + text\nPath('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"x-api-key: $AILOOT_API_KEY\" -H 'anthropic-version: 2023-06-01' -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\n\nresult = json.loads(Path('result.json').read_text(encoding='utf-8'))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\nPY_RESULT\n",
            "label": "curl · use your UTF-8 document",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ['AILOOT_TEXT_FILE'])\nif not source_file.is_file():\n    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')\ntext = source_file.read_text(encoding='utf-8')\nif not text.strip():\n    raise SystemExit('Choose a document containing text')\npayload = {'model': 'anthropic/claude-opus-4.7', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}\npayload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\\n\\n' + text\nfrom urllib.request import Request, urlopen\nfrom urllib.error import HTTPError\n\napi_key = os.environ['AILOOT_API_KEY']\nif not api_key.strip():\n    raise SystemExit('Set AILOOT_API_KEY before making a request')\nheaders = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}\nheaders['x-api-key'] = api_key\nrequest = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')\ntry:\n    with urlopen(request, timeout=120) as response:\n        raw = response.read()\n        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')\nexcept HTTPError as error:\n    Path('result.json').write_bytes(error.read())\n    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')\n    raise\nPath('result.json').write_bytes(raw)\nimport json\nfrom pathlib import Path\n\nresult = json.loads(Path('result.json').read_text(encoding='utf-8'))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\n",
            "label": "Python · save the complete result",
            "language": "python"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "in": 10,
        "input": [
          "text"
        ],
        "label": "Anthropic pranešimai",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 50,
        "output": [
          "json",
          "sse"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Spartusis režimas",
            "value": "Standartinis įkainis",
            "when": "Pasirinkus spartųjį režimą"
          },
          {
            "label": "Flex režimas",
            "value": "Standartinis įkainis",
            "when": "Pasirinkus flex režimą"
          },
          {
            "label": "Didžiausios samprotavimo pastangos",
            "value": "Standartinis įkainis",
            "when": "Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)"
          },
          {
            "label": "Samprotavimo pastangos · high",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra high"
          },
          {
            "label": "Samprotavimo pastangos · low",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra low"
          },
          {
            "label": "Samprotavimo pastangos · max",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra max"
          },
          {
            "label": "Samprotavimo pastangos · medium",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra medium"
          },
          {
            "label": "Samprotavimo pastangos · xhigh",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra xhigh"
          }
        ],
        "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "max": 1,
          "medium": 1,
          "xhigh": 1
        },
        "request_model_id": "anthropic/claude-opus-4.7",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 1,
            "cache_read_multiplier": null,
            "cache_write": 12.5,
            "cache_write_1h": 20,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 10,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 50,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00001",
            "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.05000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00005",
            "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.001000",
            "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.000001",
            "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.0125000",
            "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.0000125",
            "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": "0.02000",
            "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": "0.00002",
            "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": "anthropic/claude-opus-4.7",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "87e00a56873bc2d87a356c7f741b484830ce3cce3ee4917b8df9e43fa9fde626",
    "input_html_sha256": "17544ecc73229d8c49de977c18ca9fd395f4419606d0537238f66a90d3c3ae4a",
    "private_audit_sha256": "15e2f79e5e516fbd5d0f6c49793810159b13d8fa41952031bb439a84dd14288e",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/lt/claude-opus-4-7/",
    "description": "Claude Opus 4.7 skirtas sudėtingam inžineriniam darbui, dokumentų ir vaizdų su smulkiomis detalėmis analizei. Ypač daug dėmesio skiria tiksliam instrukcijų vykdymui ir rezultato tikrinimui.",
    "locale": "lt",
    "md_url": "https://ailoot.ai/models/lt/claude-opus-4-7/index.md",
    "title": "Anthropic: Claude Opus 4.7 — Ailoot",
    "url": "https://ailoot.ai/models/lt/claude-opus-4-7/"
  },
  "practicalHtml": "<h3>Praktinė užduotis</h3><p>Techninis pavyzdys anglų kalba</p><pre><code>Review a narrowly scoped parser fix\n\nReview this parser specification: trim outer whitespace, accept a signed base-10 integer, and reject decimals or trailing text. The current implementation uses parseInt(value, 10), so &#x27;12cats&#x27; passes. Provide a minimal JavaScript replacement and tests. Change only validation and parsing; preserve the surrounding interface and error message &#x27;Invalid integer&#x27;.</code></pre><h4>Laukiamas rezultatas</h4><pre><code>A focused replacement function and test cases for signed integers, whitespace, decimals, trailing text and empty input.</code></pre><h4>Rezultato patikra</h4><pre><code>12cats and 1.5 fail while &#x27; -12 &#x27; succeeds, and the requested error message is unchanged.</code></pre>",
  "practicalText": "Praktinė užduotis Techninis pavyzdys anglų kalba Review a narrowly scoped parser fix Review this parser specification: trim outer whitespace, accept a signed base-10 integer, and reject decimals or trailing text. The current implementation uses parseInt(value, 10), so '12cats' passes. Provide a minimal JavaScript replacement and tests. Change only validation and parsing; preserve the surrounding interface and error message 'Invalid integer'. Laukiamas rezultatas A focused replacement function and test cases for signed integers, whitespace, decimals, trailing text and empty input. Rezultato patikra 12cats and 1.5 fail while ' -12 ' succeeds, and the requested error message is unchanged.",
  "rawModel": {
    "about": "### Kruopštus inžinerinis darbas\n\nAnthropic kuria Claude Opus 4.7 sudėtingoms, ilgoms programavimo užduotims. Pristatant pabrėžiamas nuoseklus darbo atlikimas, atidus instrukcijų laikymasis ir būdų patikrinti savo rezultatą paieška prieš galutinį pranešimą. Modelis tinka sudėtingai kodo problemai tirti ir profesinei medžiagai rengti, kai kartu reikia techninio sprendimo bei aiškaus pateikimo.\n\nOpus 4.7 pažodžiui laikosi formuluočių. Užduotį geriau apibrėžti aiškiomis ribomis: kurias dalis reikia keisti, ką tikrinti ir koks turi būti rezultatas. Jei sąlyga taikoma visoms darbo dalims, ją taip ir reikia aprašyti. Gamintojas taip pat pabrėžia pastabų naudojimą failinėje atmintyje ilgoms užduotims, tačiau tokioms pastaboms skaityti ir išsaugoti reikia programos įrankių.\n\n### Matyti tankias schemas ir sąsajos kopijas\n\nModelis priima **tekstą ir vaizdus** ir pateikia **tekstą**. Vaizdinei įvesčiai palaikoma raiška iki **2576 pikselių ilgojoje kraštinėje**, maždaug **3,75 megapikselio**. Tai naudinga informacijos gausioms ekrano kopijoms, informacijai iš sudėtingų diagramų išgauti ir užduotims su išsamiu vaizdiniu pavyzdžiu.\n\nGamintojo įprastos vaizdinės įvesties formatai: JPEG/PNG/GIF/WebP, pirmasis animacijos kadras. Analizuojant pradine raiška: ilgoji kraštinė — 2576 pikseliai, 4784 vaizdiniai tokenai; dideli vaizdai prieš analizę sumažinami. Failų ir parametrų palaikymas priklauso nuo programos metodo.\n\nAukšta raiška padeda išlaikyti detales, tačiau nepadaro vaizdinio supratimo neklystančio. Išvestyje galima gauti paaiškinimą, duomenų struktūrą arba kodą; paties vaizdo kūrimas ir redagavimas nėra modelio išvesties galimybė. Sąsajai valdyti reikia priemonių, kurios rodo modeliui ekraną ir atlieka veiksmus programoje.\n\n### Užduoties gylis ir apimtis\n\nKontekstas — **1 mln. tokenų**, įprastu režimu didžiausias atsakymas — **128 tūkst. tokenų**. Palaikomas adaptyvus samprotavimas; rankinio extended thinking su `budget_tokens` šioje versijoje nėra. Įprastas `effort` lygis — `high`; taip pat galimi `low`, `medium`, `xhigh` ir `max`. Lygis `xhigh` suteikia atskirą nuostatą tarp `high` ir `max` ilgam inžineriniam bei agentiniam darbui.\n\nEsant mažiems pastangų lygiams, modelis ypač griežtai apriboja darbą tuo, ko buvo paprašyta. Sudėtingam tyrimui gamintojas rekomenduoja numatyti pakankamai vietos samprotavimui ir atsakymui. Šioje versijoje atnaujintas teksto skaidymas į tokenus, todėl toks pats teksto kiekis ne visada turi įprastą ankstesnių versijų tokenų ilgį.\n\n### Darbo sąlygos\n\nPatikima integruotų žinių riba — **2026 m. sausis**. Dabartiniams tyrimams, darbui su dokumentais ir kodo vykdymui naudojama programos teikiama medžiaga bei įrankiai. Opus 4.7 turi apsaugos mechanizmų, galinčių blokuoti draudžiamas ar didelės rizikos kibernetinio saugumo užklausas. Jo dėmesys rezultato tikrinimui naudingas darbe, tačiau galutinius pakeitimus ir išvadas vis tiek reikia tikrinti konkrečioje aplinkoje.",
    "alias_of": null,
    "aliases": [
      "claude-opus-4-7"
    ],
    "author": "Anthropic",
    "available": null,
    "canonical_model": "anthropic/claude-opus-4.7",
    "capabilities": {
      "context_length": 1000000,
      "manufacturer_input": [
        "text",
        "image",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Core",
        "rates": [
          {
            "amount": 5,
            "amount_unit": "usd_per_million_tokens",
            "key": "in",
            "label": "Input",
            "side": "in"
          },
          {
            "amount": 25,
            "amount_unit": "usd_per_million_tokens",
            "key": "out",
            "label": "Output",
            "side": "out"
          }
        ],
        "summary": "Visa konfigūracijos kainodara pateikta išsamioje informacijoje."
      },
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00001",
            "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.05000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00005",
            "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,
    "entity_type": "model",
    "formats": [
      "messages",
      "responses",
      "chat"
    ],
    "id": "anthropic/claude-opus-4.7",
    "input": [
      "text",
      "image"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "cache_read": 0.5,
        "cache_write": 6.25,
        "cache_write_1h": 10,
        "cache_write_5m": 6.25,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Keep all content blocks, thinking signatures and actual tool-use IDs. Assemble all SSE block deltas; a first text block is not the complete output.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "headers": [
                "x-api-key",
                "anthropic-version"
              ],
              "version_example": "2023-06-01"
            },
            "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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "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 arba type=text blokas",
                "required_material": "UTF8 tekstas"
              },
              {
                "availability": "Exact model input declaration and selected Source bridge required",
                "file_id_workflow": "No Ailoot upload/file-ID endpoint is introduced by this feed.",
                "mode": "text_plus_image",
                "representation": "{type:image,source:{type:base64,media_type,data}} arba šaltinis type=url"
              }
            ],
            "operation_modes": [
              "conversation",
              "function_tool_continuation",
              "streaming"
            ],
            "outputs": {
              "all_results": "Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content[]",
                  "type": "text|thinking|tool_use|other content block"
                },
                {
                  "description": null,
                  "name": "stop_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json arba SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "claude-opus-4-7"
                ],
                "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": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "user",
                  "assistant"
                ],
                "enum_known": true,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": true,
                "type": "string|content_block[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "system",
                "required": false,
                "type": "string|content_block[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_scope": "konkretus pasirinkto modelio / kortelės limitas",
                "minimum": 1,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stop_sequences",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "tool[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].name",
                "required": false,
                "type": "string",
                "when": "pateiktas įrankis"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].description",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].input_schema",
                "required": false,
                "type": "JSON_schema"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "thinking.type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "thinking.budget_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "output_config.effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "metadata",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "cache_control",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "messages",
              "max_tokens"
            ],
            "text_file_material": "tikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo"
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "operation_modes": [
            "messages"
          ],
          "output": {
            "family": [
              "text"
            ],
            "format": "JSON or supported SSE",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 1000000,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"max_tokens\": 1024, \"messages\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"messages\"]=[{\"role\":\"user\",\"content\":\"Summarize this material and quote supporting source passages.\\n\\n\"+text}]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"x-api-key: $AILOOT_API_KEY\" -H 'anthropic-version: 2023-06-01' -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\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use actual text material",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}\"\nexport AILOOT_IMAGE_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"max_tokens\": 1024, \"messages\": [{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Read labels and numbers in this image; flag unreadable text.\"}]}]}')\nimport base64\nf=Path(os.environ[\"AILOOT_IMAGE_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose an actual PNG JPEG or WebP image\")\nraw=f.read_bytes()\nmime=\"image/png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"image/jpeg\" if raw.startswith(b\"\\xff\\xd8\") else \"image/webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else None\nif not mime:raise SystemExit(\"Use PNG JPEG or WebP\")\nb64=base64.b64encode(raw).decode()\np[\"messages\"][0][\"content\"].append({\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":mime,\"data\":b64}})\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/messages \\\n  -H \"x-api-key: $AILOOT_API_KEY\" -H 'anthropic-version: 2023-06-01' -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\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual image",
            "language": "bash"
          },
          {
            "code": "import anthropic\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient = anthropic.Anthropic(base_url=\"https://api.ailoot.ai\", api_key=os.environ[\"AILOOT_API_KEY\"], max_retries=0)\nmsg = client.messages.create(\n    model=\"claude-opus-4-7\",\n    max_tokens=1024,\n    messages=[{\"role\": \"user\", \"content\": \"Explain the difference between an observation and a hypothesis in three sentences.\"}],\n)\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(msg.to_dict(mode=\"json\"))\n",
            "label": "Python · retained SDK call",
            "language": "python"
          },
          {
            "SDK_retry_proof": {
              "field": "maxRetries",
              "scope": "normalclient options; no provider/account/proxy switches",
              "source_urls": [
                "https://raw.githubusercontent.com/openai/openai-node/master/src/client.ts",
                "https://raw.githubusercontent.com/anthropics/anthropic-sdk-typescript/main/src/client.ts"
              ],
              "value": 0
            },
            "code": "import Anthropic from \"@anthropic-ai/sdk\";\n\nif (!process.env.AILOOT_API_KEY?.trim()) throw new Error(\"Set AILOOT_API_KEY before making a request\");\nconst client = new Anthropic({ baseURL: \"https://api.ailoot.ai\", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });\nconst msg = await client.messages.create({\n  model: \"claude-opus-4-7\",\n  max_tokens: 1024,\n  messages: [{ role: \"user\", content: \"Explain the difference between an observation and a hypothesis in three sentences.\" }],\n});\nimport { writeFileSync } from \"node:fs\";\n\nfunction saveResult(data, stem = \"result\") {\n  writeFileSync(stem + \".json\", JSON.stringify(data, null, 2));\n  console.log(JSON.stringify(data, null, 2));\n  const saveBlob = (encoded, suffix, label) => {\n    const raw = Buffer.from(encoded, \"base64\");\n    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? \"png\" : raw[0]===255 && raw[1]===216 ? \"jpg\" : raw.subarray(0,4).toString()===\"RIFF\" && raw.subarray(8,12).toString()===\"WEBP\" ? \"webp\" : suffix;\n    const file = `${stem}-${label}.${ext}`;\n    writeFileSync(file, raw); console.log(\"Saved\", file);\n  };\n  for (const [i, block] of (data.content || []).entries()) console.log(\"Content\", i, JSON.stringify(block));\n  for (const choice of data.choices || []) console.log(\"Choice\", choice.index, JSON.stringify(choice.message || choice.delta || {}));\n  for (const [i, item] of (data.output || []).entries()) {\n    console.log(\"Output\", i, JSON.stringify(item));\n    if (item.type === \"image_generation_call\" && item.result) saveBlob(item.result, item.output_format || \"bin\", `output-${i}`);\n  }\n  for (const [ci, candidate] of (data.candidates || []).entries()) {\n    for (const [pi, part] of (candidate.content?.parts || []).entries()) {\n      console.log(\"Candidate/part\", ci, pi, JSON.stringify(part));\n      const blob = part.inlineData || part.inline_data;\n      if (blob?.data) {\n        const mime = blob.mimeType || blob.mime_type;\n        const suffix = ({\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"})[mime] || \"bin\";\n        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);\n      }\n    }\n  }\n}\n\nsaveResult(msg);\n",
            "label": "Node.js · retained SDK call",
            "language": "js"
          },
          {
            "code": "import anthropic,os\nfrom pathlib import Path\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=anthropic.Anthropic(base_url=\"https://api.ailoot.ai\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\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\nwith client.messages.stream(model='claude-opus-4-7',max_tokens=1024,messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}]) as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_message()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "label": "Python streaming · complete final message",
            "language": "python"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "messages",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 5,
        "input": [
          "text",
          "image"
        ],
        "label": "Anthropic pranešimai",
        "max_out": 131072,
        "max_tool_calls": {
          "web_search_call": 8
        },
        "out": 25,
        "output": [
          "text"
        ],
        "path": "/v1/messages",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 25,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write",
                "label": "Cache write",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_5m",
                "label": "Cache write 5m",
                "side": "in"
              },
              {
                "amount": 10,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_1h",
                "label": "Cache write 1h",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": {
          "web_search_call": 0.01
        },
        "unit": "token",
        "units": []
      },
      {
        "cache_read": 0.5,
        "cache_write": 6.25,
        "cache_write_1h": 10,
        "cache_write_5m": 6.25,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Keep every output item and content part, actual function call_id, encrypted reasoning and usage. In streaming retain complete event/item identity.",
            "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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/responses"
              },
              "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": "įvesties tekstas arba input_text dalis",
                "required_material": "UTF8 tekstas"
              },
              {
                "availability": "Exact model input declaration and selected Source bridge required",
                "file_id_workflow": "No Ailoot upload/file-ID endpoint is introduced by this feed.",
                "mode": "text_plus_image",
                "representation": "{type:input_image,image_url}"
              }
            ],
            "operation_modes": [
              "conversation",
              "function_tool_continuation",
              "streaming"
            ],
            "outputs": {
              "all_results": "Išsaugokite kiekvieną išvesties elementą ir turinio dalį, tikrąjį funkcijos call_id, šifruotą samprotavimą ir naudojimo duomenis. Srautinio perdavimo metu išsaugokite visą įvykio / elemento tapatybę.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "output[]",
                  "type": "message|reasoning|function_call|other item"
                },
                {
                  "description": null,
                  "name": "output[].content[]",
                  "type": "content part"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json arba SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "claude-opus-4-7"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input",
                "required": true,
                "type": "string|input_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "instructions",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "message",
                  "reasoning",
                  "function_call",
                  "function_call_output"
                ],
                "enum_known": true,
                "name": "input[].type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input[].content",
                "required": false,
                "type": "string|content_part[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input[].call_id",
                "required": false,
                "type": "string",
                "when": "function_call_output; išsaugokite tikrąjį grąžintą call_id"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input[].output",
                "required": false,
                "type": "string|content_part[]",
                "when": "function_call_output"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_output_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "tool[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "parallel_tool_calls",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning.effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning.summary",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "text.format",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "text.verbosity",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "include",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "store",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "identity_rule": "Tik tikrasis atsakymo ID iš palaikomo tęsinio",
                "name": "previous_response_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_key",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_options",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ],
            "text_file_material": "tikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo"
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/responses"
          },
          "operation_modes": [
            "responses"
          ],
          "output": {
            "family": [
              "text"
            ],
            "format": "JSON or supported SSE",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 1000000,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=\"Summarize this material and quote supporting source passages.\\n\\n\"+text\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/responses \\\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 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(json.loads(Path(\"result.json\").read_text(encoding=\"utf-8\")))\nPY_RESULT\n",
            "label": "Use actual text material",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}\"\nexport AILOOT_IMAGE_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"input\": [{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"Read labels and numbers in this image; flag unreadable text.\"}]}]}')\nimport base64\nf=Path(os.environ[\"AILOOT_IMAGE_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose an actual PNG JPEG or WebP image\")\nraw=f.read_bytes()\nmime=\"image/png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"image/jpeg\" if raw.startswith(b\"\\xff\\xd8\") else \"image/webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else None\nif not mime:raise SystemExit(\"Use PNG JPEG or WebP\")\nb64=base64.b64encode(raw).decode()\np[\"input\"][0][\"content\"].append({\"type\":\"input_image\",\"image_url\":\"data:\"+mime+\";base64,\"+b64})\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/responses \\\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 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(json.loads(Path(\"result.json\").read_text(encoding=\"utf-8\")))\nPY_RESULT\n",
            "label": "Use your actual image",
            "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)\nresp = client.responses.create(model=\"claude-opus-4-7\", input=\"Explain the difference between an observation and a hypothesis in three sentences.\")\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(resp.to_dict(mode=\"json\"))\n",
            "label": "Python · retained SDK call",
            "language": "python"
          },
          {
            "SDK_retry_proof": {
              "field": "maxRetries",
              "scope": "normalclient options; no provider/account/proxy switches",
              "source_urls": [
                "https://raw.githubusercontent.com/openai/openai-node/master/src/client.ts",
                "https://raw.githubusercontent.com/anthropics/anthropic-sdk-typescript/main/src/client.ts"
              ],
              "value": 0
            },
            "code": "import OpenAI from \"openai\";\n\nif (!process.env.AILOOT_API_KEY?.trim()) throw new Error(\"Set AILOOT_API_KEY before making a request\");\nconst client = new OpenAI({ baseURL: \"https://api.ailoot.ai/v1\", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });\nconst resp = await client.responses.create({ model: \"claude-opus-4-7\", input: \"Explain the difference between an observation and a hypothesis in three sentences.\" });\nimport { writeFileSync } from \"node:fs\";\n\nfunction saveResult(data, stem = \"result\") {\n  writeFileSync(stem + \".json\", JSON.stringify(data, null, 2));\n  console.log(JSON.stringify(data, null, 2));\n  const saveBlob = (encoded, suffix, label) => {\n    const raw = Buffer.from(encoded, \"base64\");\n    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? \"png\" : raw[0]===255 && raw[1]===216 ? \"jpg\" : raw.subarray(0,4).toString()===\"RIFF\" && raw.subarray(8,12).toString()===\"WEBP\" ? \"webp\" : suffix;\n    const file = `${stem}-${label}.${ext}`;\n    writeFileSync(file, raw); console.log(\"Saved\", file);\n  };\n  for (const [i, block] of (data.content || []).entries()) console.log(\"Content\", i, JSON.stringify(block));\n  for (const choice of data.choices || []) console.log(\"Choice\", choice.index, JSON.stringify(choice.message || choice.delta || {}));\n  for (const [i, item] of (data.output || []).entries()) {\n    console.log(\"Output\", i, JSON.stringify(item));\n    if (item.type === \"image_generation_call\" && item.result) saveBlob(item.result, item.output_format || \"bin\", `output-${i}`);\n  }\n  for (const [ci, candidate] of (data.candidates || []).entries()) {\n    for (const [pi, part] of (candidate.content?.parts || []).entries()) {\n      console.log(\"Candidate/part\", ci, pi, JSON.stringify(part));\n      const blob = part.inlineData || part.inline_data;\n      if (blob?.data) {\n        const mime = blob.mimeType || blob.mime_type;\n        const suffix = ({\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"})[mime] || \"bin\";\n        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);\n      }\n    }\n  }\n}\n\nsaveResult(resp);\n",
            "label": "Node.js · retained SDK call",
            "language": "js"
          },
          {
            "Source_stream_contract": "typed parameters.stream=boolean/source_interface/defaultfalse; outputs.format=json or SSE",
            "code": "from openai import OpenAI\nimport os\nfrom pathlib import Path\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\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)\nwith client.responses.stream(model=\"claude-opus-4-7\", input=\"Explain the difference between an observation and a hypothesis in three sentences.\") as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_response()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "creation_argument_parity": "same model/input as existing normal SDK call; SDK sets stream=true",
            "label": "Python streaming · complete Responses result",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "responses",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 5,
        "input": [
          "text",
          "image"
        ],
        "label": "OpenAI Responses",
        "max_out": 131072,
        "max_tool_calls": {
          "web_search_call": 8
        },
        "out": 25,
        "output": [
          "text"
        ],
        "path": "/v1/responses",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 25,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write",
                "label": "Cache write",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_5m",
                "label": "Cache write 5m",
                "side": "in"
              },
              {
                "amount": 10,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_1h",
                "label": "Cache write 1h",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": {
          "web_search_call": 0.01
        },
        "unit": "token",
        "units": []
      },
      {
        "cache_read": 0.5,
        "cache_write": 6.25,
        "cache_write_1h": 10,
        "cache_write_5m": 6.25,
        "conditional_meter": 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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID."
            ],
            "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"
              },
              {
                "availability": "Exact model input declaration and selected Source bridge required",
                "file_id_workflow": "No Ailoot upload/file-ID endpoint is introduced by this feed.",
                "mode": "text_plus_image",
                "representation": "{type:image_url,image_url:{url,detail}}"
              }
            ],
            "operation_modes": [
              "conversation",
              "function_tool_continuation",
              "streaming"
            ],
            "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": [
                  "claude-opus-4-7"
                ],
                "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",
                "conditions": "Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio.",
                "default": null,
                "default_known": false,
                "enum": [
                  "system",
                  "user",
                  "assistant",
                  "tool",
                  "function"
                ],
                "enum_exhaustive": false,
                "enum_known": true,
                "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|content_part[]|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_calls",
                "required": false,
                "type": "tool_call[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_call_id",
                "required": false,
                "type": "string",
                "when": "role=tool; naudokite tikrąjį grąžintą ID"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].name",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_content",
                "required": false,
                "type": "string",
                "when": "Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_details",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stream_options.include_usage",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stop",
                "required": false,
                "type": "string|string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "function_tool[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.name",
                "required": true,
                "type": "string",
                "when": "pateiktas funkcijos tipo įrankis"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.description",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.parameters",
                "required": false,
                "type": "JSON_schema"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "parallel_tool_calls",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "response_format",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning_effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_compatibility",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "instructions",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "functions",
                "required": false,
                "type": "function[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "function_call",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_options",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "messages"
            ],
            "text_file_material": "tikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo"
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "operation_modes": [
            "chat_completions"
          ],
          "output": {
            "family": [
              "text"
            ],
            "format": "JSON or supported SSE",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 1000000,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"messages\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"messages\"]=[{\"role\":\"user\",\"content\":\"Summarize this material and quote supporting source passages.\\n\\n\"+text}]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/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\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use actual text material",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}\"\nexport AILOOT_IMAGE_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"claude-opus-4-7\", \"messages\": [{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Read labels and numbers in this image; flag unreadable text.\"}]}]}')\nimport base64\nf=Path(os.environ[\"AILOOT_IMAGE_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose an actual PNG JPEG or WebP image\")\nraw=f.read_bytes()\nmime=\"image/png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"image/jpeg\" if raw.startswith(b\"\\xff\\xd8\") else \"image/webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else None\nif not mime:raise SystemExit(\"Use PNG JPEG or WebP\")\nb64=base64.b64encode(raw).decode()\np[\"messages\"][0][\"content\"].append({\"type\":\"image_url\",\"image_url\":{\"url\":\"data:\"+mime+\";base64,\"+b64}})\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\nprint(json.dumps(json.loads(Path(\"result.json\").read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual image",
            "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)\nresp = client.chat.completions.create(\n    model=\"claude-opus-4-7\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain the difference between an observation and a hypothesis in three sentences.\"}],\n)\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(resp.to_dict(mode=\"json\"))\n",
            "label": "Python · retained SDK call",
            "language": "python"
          },
          {
            "SDK_retry_proof": {
              "field": "maxRetries",
              "scope": "normalclient options; no provider/account/proxy switches",
              "source_urls": [
                "https://raw.githubusercontent.com/openai/openai-node/master/src/client.ts",
                "https://raw.githubusercontent.com/anthropics/anthropic-sdk-typescript/main/src/client.ts"
              ],
              "value": 0
            },
            "code": "import OpenAI from \"openai\";\n\nif (!process.env.AILOOT_API_KEY?.trim()) throw new Error(\"Set AILOOT_API_KEY before making a request\");\nconst client = new OpenAI({ baseURL: \"https://api.ailoot.ai/v1\", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });\nconst resp = await client.chat.completions.create({\n  model: \"claude-opus-4-7\",\n  messages: [{ role: \"user\", content: \"Explain the difference between an observation and a hypothesis in three sentences.\" }],\n});\nimport { writeFileSync } from \"node:fs\";\n\nfunction saveResult(data, stem = \"result\") {\n  writeFileSync(stem + \".json\", JSON.stringify(data, null, 2));\n  console.log(JSON.stringify(data, null, 2));\n  const saveBlob = (encoded, suffix, label) => {\n    const raw = Buffer.from(encoded, \"base64\");\n    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? \"png\" : raw[0]===255 && raw[1]===216 ? \"jpg\" : raw.subarray(0,4).toString()===\"RIFF\" && raw.subarray(8,12).toString()===\"WEBP\" ? \"webp\" : suffix;\n    const file = `${stem}-${label}.${ext}`;\n    writeFileSync(file, raw); console.log(\"Saved\", file);\n  };\n  for (const [i, block] of (data.content || []).entries()) console.log(\"Content\", i, JSON.stringify(block));\n  for (const choice of data.choices || []) console.log(\"Choice\", choice.index, JSON.stringify(choice.message || choice.delta || {}));\n  for (const [i, item] of (data.output || []).entries()) {\n    console.log(\"Output\", i, JSON.stringify(item));\n    if (item.type === \"image_generation_call\" && item.result) saveBlob(item.result, item.output_format || \"bin\", `output-${i}`);\n  }\n  for (const [ci, candidate] of (data.candidates || []).entries()) {\n    for (const [pi, part] of (candidate.content?.parts || []).entries()) {\n      console.log(\"Candidate/part\", ci, pi, JSON.stringify(part));\n      const blob = part.inlineData || part.inline_data;\n      if (blob?.data) {\n        const mime = blob.mimeType || blob.mime_type;\n        const suffix = ({\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"})[mime] || \"bin\";\n        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);\n      }\n    }\n  }\n}\n\nsaveResult(resp);\n",
            "label": "Node.js · retained SDK call",
            "language": "js"
          },
          {
            "code": "from openai import OpenAI\nimport os\nfrom pathlib import Path\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)\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\nwith client.chat.completions.stream(model='claude-opus-4-7',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}]) as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_completion()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "label": "Python streaming · retain all events",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 5,
        "input": [
          "text",
          "image"
        ],
        "label": "OpenAI pokalbis",
        "max_out": 131072,
        "max_tool_calls": {
          "web_search_call": 8
        },
        "out": 25,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 25,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write",
                "label": "Cache write",
                "side": "in"
              },
              {
                "amount": 6.25,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_5m",
                "label": "Cache write 5m",
                "side": "in"
              },
              {
                "amount": 10,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_write_1h",
                "label": "Cache write 1h",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": {
          "web_search_call": 0.01
        },
        "unit": "token",
        "units": []
      },
      {
        "available": null,
        "cache_read": 1,
        "cache_write": 12.5,
        "cache_write_1h": 20,
        "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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID.",
              "Guarded canonical keys must occur once; duplicate or case-varied model/tools/cap fields are rejected."
            ],
            "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",
              "function_tool_continuation",
              "streaming"
            ],
            "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": [
                  "anthropic/claude-opus-4.7"
                ],
                "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",
                "conditions": "Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio.",
                "default": null,
                "default_known": false,
                "enum": [
                  "system",
                  "user",
                  "assistant",
                  "tool",
                  "function"
                ],
                "enum_exhaustive": false,
                "enum_known": true,
                "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|content_part[]|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_calls",
                "required": false,
                "type": "tool_call[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_call_id",
                "required": false,
                "type": "string",
                "when": "role=tool; naudokite tikrąjį grąžintą ID"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].name",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_content",
                "required": false,
                "type": "string",
                "when": "Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_details",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stream_options.include_usage",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stop",
                "required": false,
                "type": "string|string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "function_tool[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": [
                  "function"
                ],
                "enum_known": true,
                "name": "tools[].type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.name",
                "required": true,
                "type": "string",
                "when": "pateiktas funkcijos tipo įrankis"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.description",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.parameters",
                "required": false,
                "type": "JSON_schema"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "parallel_tool_calls",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "response_format",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning_effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_compatibility",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "instructions",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "functions",
                "required": false,
                "type": "function[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "function_call",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_options",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "text"
                ],
                "enum_known": true,
                "name": "modalities",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options šiame Ultra teksto maršrute atmetamas",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "conditions": "1h atmetamas tikrosiose užklausų podėlio vietose",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "cache_control.ttl",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "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": "priklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių",
            "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",
              "temperature",
              "top_p",
              "stop",
              "max_tokens",
              "max_completion_tokens",
              "reasoning",
              "response_format",
              "tools",
              "tool_choice"
            ],
            "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": [],
          "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Užklausos ilgio pakopa 1",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "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\": \"anthropic/claude-opus-4.7\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain the difference between an observation and a hypothesis in three sentences.\"}]}')\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='anthropic/claude-opus-4.7',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}])\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"
          },
          {
            "code": "from openai import OpenAI\nimport os\nfrom pathlib import Path\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)\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\nwith client.chat.completions.stream(model='anthropic/claude-opus-4.7',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}]) as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_completion()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "label": "Python SDK streaming · all events",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "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": 10,
        "input": [
          "text"
        ],
        "label": "OpenAI pokalbis",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 50,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Spartusis režimas",
            "value": "Standartinis įkainis",
            "when": "Pasirinkus spartųjį režimą"
          },
          {
            "label": "Flex režimas",
            "value": "Standartinis įkainis",
            "when": "Pasirinkus flex režimą"
          },
          {
            "label": "Didžiausios samprotavimo pastangos",
            "value": "Standartinis įkainis",
            "when": "Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)"
          },
          {
            "label": "Samprotavimo pastangos · high",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra high"
          },
          {
            "label": "Samprotavimo pastangos · low",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra low"
          },
          {
            "label": "Samprotavimo pastangos · max",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra max"
          },
          {
            "label": "Samprotavimo pastangos · medium",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra medium"
          },
          {
            "label": "Samprotavimo pastangos · xhigh",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra xhigh"
          }
        ],
        "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "max": 1,
          "medium": 1,
          "xhigh": 1
        },
        "request_model_id": "anthropic/claude-opus-4.7",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 1,
            "cache_read_multiplier": null,
            "cache_write": 12.5,
            "cache_write_1h": 20,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 10,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 50,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00001",
            "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.05000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00005",
            "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.001000",
            "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.000001",
            "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.0125000",
            "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.0000125",
            "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": "0.02000",
            "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": "0.00002",
            "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"
          }
        ]
      },
      {
        "available": null,
        "cache_read": 1,
        "cache_write": 12.5,
        "cache_write_1h": 20,
        "contract": {
          "data": {
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "headers": [
                "Authorization: Bearer",
                "x-api-key",
                "anthropic-version"
              ],
              "version_example": "2023-06-01"
            },
            "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"
              }
            ],
            "example_body": {
              "max_tokens": 128,
              "messages": [
                {
                  "content": "Summarize the incident report.",
                  "role": "user"
                }
              ],
              "model": "anthropic/claude-opus-4.7",
              "stream": false
            },
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "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 eilutė",
                "required_material": "UTF-8 tekstas"
              }
            ],
            "operation_modes": [
              "synchronous_json",
              "streamed_SSE"
            ],
            "outputs": {
              "all_results": "Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.",
              "family": "protocol",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content[]",
                  "type": "text|thinking|tool_use|other content block"
                },
                {
                  "description": null,
                  "name": "stop_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON arba SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "anthropic/claude-opus-4.7"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "user",
                  "assistant"
                ],
                "enum_known": true,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Documented current stock Messages bridge; optional model capabilities are separate from this minimal text request.",
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "max_tokens": {
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "source": {
                                      "oneOf": [
                                        {
                                          "properties": {
                                            "type": {
                                              "const": "url"
                                            },
                                            "url": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "type",
                                            "url"
                                          ],
                                          "type": "object"
                                        },
                                        {
                                          "properties": {
                                            "data": {
                                              "type": "string"
                                            },
                                            "media_type": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "const": "base64"
                                            }
                                          },
                                          "required": [
                                            "type",
                                            "media_type",
                                            "data"
                                          ],
                                          "type": "object"
                                        }
                                      ]
                                    },
                                    "type": {
                                      "const": "image"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "source"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "anthropic/claude-opus-4.7"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages",
                "max_tokens"
              ],
              "type": "object"
            },
            "schema_template": {
              "max_tokens": 128,
              "messages": [
                {
                  "content": "Summarize the incident report.",
                  "role": "user"
                }
              ],
              "model": "anthropic/claude-opus-4.7",
              "stream": false
            },
            "unsupported": [
              "No query API key.",
              "Hosted/server-side tools and model-specific optional controls are not part of this minimal family example."
            ]
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "stream"
            ],
            "required": [
              "model",
              "messages",
              "max_tokens"
            ],
            "text_file_material": "Perskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę."
          },
          "lifecycle": {
            "create": {
              "http": "POST",
              "path": "/v1/messages"
            },
            "job_read": null,
            "mode": "synchronous_or_streamed",
            "unknown": "Keep request/response IDs and headers. No generic text job retrieval URL is supplied."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "output": {
            "all_results": "Keep all content blocks, thinking signatures and actual tool-use IDs. Assemble all SSE block deltas; a first text block is not the complete output.",
            "family": "protocol",
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Baziniai žetonų įkainiai",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Užklausos ilgio pakopa 1",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "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": "{\n  \"model\": \"anthropic/claude-opus-4.7\",\n  \"max_tokens\": 128,\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Summarize the incident report.\"\n    }\n  ],\n  \"stream\": false\n}",
            "label": "Complete minimal JSON body",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ['AILOOT_TEXT_FILE'])\nif not source_file.is_file():\n    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')\ntext = source_file.read_text(encoding='utf-8')\nif not text.strip():\n    raise SystemExit('Choose a document containing text')\npayload = {'model': 'anthropic/claude-opus-4.7', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}\npayload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\\n\\n' + text\nPath('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"x-api-key: $AILOOT_API_KEY\" -H 'anthropic-version: 2023-06-01' -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\n\nresult = json.loads(Path('result.json').read_text(encoding='utf-8'))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\nPY_RESULT\n",
            "label": "curl · use your UTF-8 document",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ['AILOOT_TEXT_FILE'])\nif not source_file.is_file():\n    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')\ntext = source_file.read_text(encoding='utf-8')\nif not text.strip():\n    raise SystemExit('Choose a document containing text')\npayload = {'model': 'anthropic/claude-opus-4.7', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}\npayload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\\n\\n' + text\nfrom urllib.request import Request, urlopen\nfrom urllib.error import HTTPError\n\napi_key = os.environ['AILOOT_API_KEY']\nif not api_key.strip():\n    raise SystemExit('Set AILOOT_API_KEY before making a request')\nheaders = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}\nheaders['x-api-key'] = api_key\nrequest = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')\ntry:\n    with urlopen(request, timeout=120) as response:\n        raw = response.read()\n        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')\nexcept HTTPError as error:\n    Path('result.json').write_bytes(error.read())\n    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')\n    raise\nPath('result.json').write_bytes(raw)\nimport json\nfrom pathlib import Path\n\nresult = json.loads(Path('result.json').read_text(encoding='utf-8'))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\n",
            "label": "Python · save the complete result",
            "language": "python"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "in": 10,
        "input": [
          "text"
        ],
        "label": "Anthropic pranešimai",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 50,
        "output": [
          "json",
          "sse"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Spartusis režimas",
            "value": "Standartinis įkainis",
            "when": "Pasirinkus spartųjį režimą"
          },
          {
            "label": "Flex režimas",
            "value": "Standartinis įkainis",
            "when": "Pasirinkus flex režimą"
          },
          {
            "label": "Didžiausios samprotavimo pastangos",
            "value": "Standartinis įkainis",
            "when": "Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)"
          },
          {
            "label": "Samprotavimo pastangos · high",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra high"
          },
          {
            "label": "Samprotavimo pastangos · low",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra low"
          },
          {
            "label": "Samprotavimo pastangos · max",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra max"
          },
          {
            "label": "Samprotavimo pastangos · medium",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra medium"
          },
          {
            "label": "Samprotavimo pastangos · xhigh",
            "value": "Standartinis įkainis",
            "when": "Kai samprotavimo pastangų lygis yra xhigh"
          }
        ],
        "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.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.01000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00001",
                "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.05000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00005",
                "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.001000",
                "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.000001",
                "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.0125000",
                "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.0000125",
                "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": "0.02000",
                "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": "0.00002",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "max": 1,
          "medium": 1,
          "xhigh": 1
        },
        "request_model_id": "anthropic/claude-opus-4.7",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 1,
            "cache_read_multiplier": null,
            "cache_write": 12.5,
            "cache_write_1h": 20,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 10,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 50,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00001",
            "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.05000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00005",
            "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.001000",
            "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.000001",
            "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.0125000",
            "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.0000125",
            "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": "0.02000",
            "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": "0.00002",
            "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": "anthropic/claude-opus-4.7",
        "request_model_id": "claude-opus-4-7",
        "route_label": "Core"
      },
      {
        "canonical_model_id": "anthropic/claude-opus-4.7",
        "request_model_id": "anthropic/claude-opus-4.7",
        "route_label": "Ultra"
      }
    ],
    "name": "Anthropic: Claude Opus 4.7",
    "price": {
      "in": 10,
      "in_label": null,
      "out": 50,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 10,
      "sort_out": 50,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "OpenAI Chat · Baziniai žetonų įkainiai",
        "units": [
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00001",
            "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.05000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00005",
            "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.001000",
            "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.000001",
            "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.0125000",
            "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.0000125",
            "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": "0.02000",
            "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": "0.00002",
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "dimensions": {
          "max_context_tokens_inclusive": null,
          "min_context_tokens_exclusive": 0
        },
        "label": "OpenAI Chat · Užklausos ilgio pakopa 1",
        "units": [
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00001",
            "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.05000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00005",
            "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.001000",
            "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.000001",
            "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.0125000",
            "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.0000125",
            "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": "0.02000",
            "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": "0.00002",
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Anthropic Messages · Baziniai žetonų įkainiai",
        "units": [
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00001",
            "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.05000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00005",
            "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.001000",
            "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.000001",
            "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.0125000",
            "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.0000125",
            "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": "0.02000",
            "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": "0.00002",
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "dimensions": {
          "max_context_tokens_inclusive": null,
          "min_context_tokens_exclusive": 0
        },
        "label": "Anthropic Messages · Užklausos ilgio pakopa 1",
        "units": [
          {
            "amount": "0.01000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00001",
            "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.05000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00005",
            "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.001000",
            "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.000001",
            "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.0125000",
            "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.0000125",
            "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": "0.02000",
            "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": "0.00002",
            "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"
          }
        ]
      }
    ],
    "public_id": "anthropic/claude-opus-4.7",
    "short": "Claude Opus 4.7 skirtas sudėtingam inžineriniam darbui, dokumentų ir vaizdų su smulkiomis detalėmis analizei. Ypač daug dėmesio skiria tiksliam instrukcijų vykdymui ir rezultato tikrinimui."
  },
  "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
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        },
        {
          "contract_json_pointer": "/methods/2/rawMethod/contract",
          "html_json_pointer": "/methods/2/html",
          "method_ordinal": 2
        },
        {
          "contract_json_pointer": "/methods/3/rawMethod/contract",
          "html_json_pointer": "/methods/3/html",
          "method_ordinal": 3
        },
        {
          "contract_json_pointer": "/methods/4/rawMethod/contract",
          "html_json_pointer": "/methods/4/html",
          "method_ordinal": 4
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod",
        "/methods/2/rawMethod",
        "/methods/3/rawMethod",
        "/methods/4/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Claude Opus 4.7 skirtas sudėtingam inžineriniam darbui, dokumentų ir vaizdų su smulkiomis detalėmis analizei. Ypač daug dėmesio skiria tiksliam instrukcijų vykdymui ir rezultato tikrinimui.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "2b9495b24ec6aebefcdb518a80f3e67426b5d9dd52729e7420402f0e1b979092",
    "renderer_sha256": "57bd2f8a61f57d341aae369006eca818e3eea645ec43af488ec7b2289eeca772"
  },
  "sourceRevision": "6368022fc954ad3380e5714067f7cd2f28f590d4674e483f574ee228f0517cdc"
}
