{
  "aboutHtml": "<p>Claude Sonnet 4.5 je Anthropicova izdaja Sonnet, usmerjena v razvoj programske opreme, zahtevne agentske naloge in upravljanje računalnika, z izboljšavami sklepanja in matematike. Sprejema besedilo in slike ter ustvarja besedilo. Opis izdaje poudarja dolgotrajno večstopenjsko delo, razumevanje kode in spremembe, ki zajemajo širši projekt namesto ene ločene funkcije. Uporabno navodilo določi zahtevano vedenje, relevantno izvorno gradivo in izdelek za oddajo: predlagani popravek, razlago implementacije, analizo dokumenta ali strukturirani odgovor.</p><p>Pri delu s programsko opremo priložite omejitve projekta, relevantne datoteke ali odlomke, opaženo napako in konkreten primer pričakovanega rezultata. Zahtevajte zadevno kodo in razlago, kako predlagana sprememba odpravi težavo, prikazano v tem primeru. Proizvajalec model predstavlja kot primeren za gradnjo agentov in reševanje razvojnih nalog z orodji. Okoliška aplikacija bere in ureja datoteke, zažene ukaz ali preverjanje in vrne dejanski izhod; model sklepa na podlagi teh dokazov. V končnem poročilu ločite predlagano spremembo od opravljenega preverjanja.</p><p>Upravljanje računalnika je ločena uporaba njegovih vizualnih in agentskih zmožnosti. Anthropicova izdaja prikazuje interakcijo z brskalnikom, krmarjenje po straneh in delo s preglednicami prek povezanega okolja. Vizualno navodilo lahko priloži posnetek zaslona, določi cilj in opredeli dejanja, ki jih aplikacija dovoljuje. Aplikacija nato izvede izbrano interakcijo in vrne spremenjeni zaslon ali drug rezultat. Podobno lahko model pripravi vsebino in kodo za dokumente, preglednice in diapozitive, okolje pa ustvari dokončano datoteko. Razumevanje besedila in slik modela ne spremeni v izvorni generator slik ali zvoka.</p><p>Natančna proizvajalčeva specifikacija navaja kontekstno okno 200K žetonov in do 64K izhodnih žetonov. Meja zanesljivega znanja je januar 2025, kar se razlikuje od poznejše meje učnih podatkov, navedene na strani. V dolgem vhodu jasno ohranite meje dokumentov, oznake strani, enote in identifikatorje kode ter pustite prostor za zahtevani odgovor in morebitno sklepanje. Proizvajalec za to izdajo dokumentira tudi zavedanje konteksta, zato podprti potek med pogovorom spremlja preostali prostor. To pomaga upravljati dolgotrajno nalogo znotraj njenega okna; ne nadomesti ga z večjo zmogljivostjo poznejše izdaje Sonnet.</p><p>Sonnet 4.5 podpira običajne odgovore in ročno nastavljivo razširjeno sklepanje. V drugem načinu budget_tokens določi ciljni obseg notranjega sklepanja pred vidnim odgovorom. Dokumentirani minimum je 1,024 žetonov, omejitev pa mora biti običajno nižja od max_tokens, ker si sklepanje in končni odgovor delita dovoljeni obseg generiranja. Omejitev je cilj, ne obljuba porabe natanko toliko žetonov. Ta izdaja nima prilagodljivega načina sklepanja ali nastavitev obsega dela, opisanih za poznejše modele Sonnet. Izberite zahtevano globino analize in pustite dovolj prostora za uporaben končni odgovor.</p><p>Proizvajalčeva funkcija beta interleaved-thinking omogoča modelu Sonnet 4.5 sklepanje med klici orodij znotraj enega kroga ter izbiro naslednjega koraka na podlagi vrnjenih opažanj. Zahteva dokumentirano funkcijo beta v podprtem poteku Messages. V tem primeru lahko obseg sklepanja preseže max_tokens, ker zajema več blokov sklepanja v istem krogu pomočnika. Rezultate orodij vrnite skupaj s pripadajočo vsebino sklepanja brez sprememb, vključno z njenim podpisom; urejanje to vsebino razveljavi. Raziskovalna ali razhroščevalna naloga lahko tako izmenjuje predlagano preverjanje, dejansko vrnjeni rezultat in posodobljeno analizo, ne da bi besedilni predlog štela za dokončano dejanje.</p><p>Pri vizualnem gradivu proizvajalec podpira JPEG, PNG, GIF in WebP ter uporabi samo prvo sličico animacije. Standardna vgrajena obdelava slik v tej izdaji ima omejitev 1,568 slikovnih pik na daljši stranici in 1,568 vizualnih žetonov; večje slike se pomanjšajo. Proizvajalčev vodnik za slike navaja do 100 slik na zahtevo API pri modelih s kontekstom 200K, pri čemer so lahko omejitve slik in skupne velikosti zahteve dosežene prej. Kadar je praktično, postavite slike pred vprašanje, označite več slik ter ohranite drobno besedilo ali oznake grafov. Vodnik priporoča jasne slike in dovolj okoliškega konteksta za razumevanje vidne podrobnosti.</p><p>Urejanje konteksta in pomnilniško orodje sta bila uvedena skupaj s tem modelom za podporo daljšim agentskim potekom. To sta načina ohranjanja uporabnega stanja ali odstranjevanja starega gradiva orodij, ki ju podpira aplikacija; ne pomenita neomejenega pomnilnika modela ali poznejše funkcije zgoščevanja konteksta na strežniku. Pri večstopenjski nalogi ohranite že sprejete odločitve, odprto vprašanje in dokaze, potrebne za naslednji korak. Anthropic opisuje tudi večjo odpornost proti skritim navodilom v zunanji vsebini, ob tem pa opozarja, da lahko klasifikatorji za posamezen model včasih označijo neškodljivo gradivo. Uporaben rezultat ostaja pregledljiv izdelek, povezan s priloženimi dokazi, pri čemer so natančni načini in omejitve modela Sonnet 4.5 ločeni od poznejših izdaj.</p>",
  "aboutText": "Claude Sonnet 4.5 je Anthropicova izdaja Sonnet, usmerjena v razvoj programske opreme, zahtevne agentske naloge in upravljanje računalnika, z izboljšavami sklepanja in matematike. Sprejema besedilo in slike ter ustvarja besedilo. Opis izdaje poudarja dolgotrajno večstopenjsko delo, razumevanje kode in spremembe, ki zajemajo širši projekt namesto ene ločene funkcije. Uporabno navodilo določi zahtevano vedenje, relevantno izvorno gradivo in izdelek za oddajo: predlagani popravek, razlago implementacije, analizo dokumenta ali strukturirani odgovor.\n\nPri delu s programsko opremo priložite omejitve projekta, relevantne datoteke ali odlomke, opaženo napako in konkreten primer pričakovanega rezultata. Zahtevajte zadevno kodo in razlago, kako predlagana sprememba odpravi težavo, prikazano v tem primeru. Proizvajalec model predstavlja kot primeren za gradnjo agentov in reševanje razvojnih nalog z orodji. Okoliška aplikacija bere in ureja datoteke, zažene ukaz ali preverjanje in vrne dejanski izhod; model sklepa na podlagi teh dokazov. V končnem poročilu ločite predlagano spremembo od opravljenega preverjanja.\n\nUpravljanje računalnika je ločena uporaba njegovih vizualnih in agentskih zmožnosti. Anthropicova izdaja prikazuje interakcijo z brskalnikom, krmarjenje po straneh in delo s preglednicami prek povezanega okolja. Vizualno navodilo lahko priloži posnetek zaslona, določi cilj in opredeli dejanja, ki jih aplikacija dovoljuje. Aplikacija nato izvede izbrano interakcijo in vrne spremenjeni zaslon ali drug rezultat. Podobno lahko model pripravi vsebino in kodo za dokumente, preglednice in diapozitive, okolje pa ustvari dokončano datoteko. Razumevanje besedila in slik modela ne spremeni v izvorni generator slik ali zvoka.\n\nNatančna proizvajalčeva specifikacija navaja kontekstno okno 200K žetonov in do 64K izhodnih žetonov. Meja zanesljivega znanja je januar 2025, kar se razlikuje od poznejše meje učnih podatkov, navedene na strani. V dolgem vhodu jasno ohranite meje dokumentov, oznake strani, enote in identifikatorje kode ter pustite prostor za zahtevani odgovor in morebitno sklepanje. Proizvajalec za to izdajo dokumentira tudi zavedanje konteksta, zato podprti potek med pogovorom spremlja preostali prostor. To pomaga upravljati dolgotrajno nalogo znotraj njenega okna; ne nadomesti ga z večjo zmogljivostjo poznejše izdaje Sonnet.\n\nSonnet 4.5 podpira običajne odgovore in ročno nastavljivo razširjeno sklepanje. V drugem načinu budget_tokens določi ciljni obseg notranjega sklepanja pred vidnim odgovorom. Dokumentirani minimum je 1,024 žetonov, omejitev pa mora biti običajno nižja od max_tokens, ker si sklepanje in končni odgovor delita dovoljeni obseg generiranja. Omejitev je cilj, ne obljuba porabe natanko toliko žetonov. Ta izdaja nima prilagodljivega načina sklepanja ali nastavitev obsega dela, opisanih za poznejše modele Sonnet. Izberite zahtevano globino analize in pustite dovolj prostora za uporaben končni odgovor.\n\nProizvajalčeva funkcija beta interleaved-thinking omogoča modelu Sonnet 4.5 sklepanje med klici orodij znotraj enega kroga ter izbiro naslednjega koraka na podlagi vrnjenih opažanj. Zahteva dokumentirano funkcijo beta v podprtem poteku Messages. V tem primeru lahko obseg sklepanja preseže max_tokens, ker zajema več blokov sklepanja v istem krogu pomočnika. Rezultate orodij vrnite skupaj s pripadajočo vsebino sklepanja brez sprememb, vključno z njenim podpisom; urejanje to vsebino razveljavi. Raziskovalna ali razhroščevalna naloga lahko tako izmenjuje predlagano preverjanje, dejansko vrnjeni rezultat in posodobljeno analizo, ne da bi besedilni predlog štela za dokončano dejanje.\n\nPri vizualnem gradivu proizvajalec podpira JPEG, PNG, GIF in WebP ter uporabi samo prvo sličico animacije. Standardna vgrajena obdelava slik v tej izdaji ima omejitev 1,568 slikovnih pik na daljši stranici in 1,568 vizualnih žetonov; večje slike se pomanjšajo. Proizvajalčev vodnik za slike navaja do 100 slik na zahtevo API pri modelih s kontekstom 200K, pri čemer so lahko omejitve slik in skupne velikosti zahteve dosežene prej. Kadar je praktično, postavite slike pred vprašanje, označite več slik ter ohranite drobno besedilo ali oznake grafov. Vodnik priporoča jasne slike in dovolj okoliškega konteksta za razumevanje vidne podrobnosti.\n\nUrejanje konteksta in pomnilniško orodje sta bila uvedena skupaj s tem modelom za podporo daljšim agentskim potekom. To sta načina ohranjanja uporabnega stanja ali odstranjevanja starega gradiva orodij, ki ju podpira aplikacija; ne pomenita neomejenega pomnilnika modela ali poznejše funkcije zgoščevanja konteksta na strežniku. Pri večstopenjski nalogi ohranite že sprejete odločitve, odprto vprašanje in dokaze, potrebne za naslednji korak. Anthropic opisuje tudi večjo odpornost proti skritim navodilom v zunanji vsebini, ob tem pa opozarja, da lahko klasifikatorji za posamezen model včasih označijo neškodljivo gradivo. Uporaben rezultat ostaja pregledljiv izdelek, povezan s priloženimi dokazi, pri čemer so natančni načini in omejitve modela Sonnet 4.5 ločeni od poznejših izdaj.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "11952dd232a6c3472a5343a8a7362b46814d3bcadf2b6bbbcdf12f576e7a87e7",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sl",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">A</span><h2 id=\"sheet-title\">Anthropic: Claude Sonnet 4.5</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zapri\">×</button></div><div class=\"idline\"><span>Anthropic /</span><code>claude-sonnet-4-5-20250929-thinking</code><button type=\"button\" id=\"copy-id\">Kopiraj ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Razdelki kartice modela\"><button type=\"button\" data-card-jump=\"overview\">Začetek</button><button type=\"button\" data-card-jump=\"methods\">Vhodi in metode</button><button type=\"button\" data-card-jump=\"pricing\">Cenik</button><button type=\"button\" data-card-jump=\"examples\">Primeri</button><button type=\"button\" data-card-jump=\"results\">Rezultati</button><button type=\"button\" data-card-jump=\"aliases\">Druga imena</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metode API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|chat|/v1/chat/completions|claude-sonnet-4-5-20250929-thinking\">Chat</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Začetek</h3><p class=\"mdesc-full\">Claude Sonnet 4.5 je Anthropicov model z besedilnim in slikovnim vhodom za razvoj programske opreme, zahtevne agente, upravljanje računalnika in analitično delo. Podpira neposredne odgovore ali ročno nastavljivo razširjeno sklepanje ter sklepanje med klici orodij v dokumentiranem postopku beta.</p><dl class=\"card-io\" data-card-io><div><dt>Dovoljeni vhodi</dt><dd>Besedilo</dd></div><div><dt>Rezultati</dt><dd>Besedilo</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.</p><div class=\"mabout\" id=\"m-about\"><p>Claude Sonnet 4.5 je Anthropicova izdaja Sonnet, usmerjena v razvoj programske opreme, zahtevne agentske naloge in upravljanje računalnika, z izboljšavami sklepanja in matematike. Sprejema besedilo in slike ter ustvarja besedilo. Opis izdaje poudarja dolgotrajno večstopenjsko delo, razumevanje kode in spremembe, ki zajemajo širši projekt namesto ene ločene funkcije. Uporabno navodilo določi zahtevano vedenje, relevantno izvorno gradivo in izdelek za oddajo: predlagani popravek, razlago implementacije, analizo dokumenta ali strukturirani odgovor.</p><p>Pri delu s programsko opremo priložite omejitve projekta, relevantne datoteke ali odlomke, opaženo napako in konkreten primer pričakovanega rezultata. Zahtevajte zadevno kodo in razlago, kako predlagana sprememba odpravi težavo, prikazano v tem primeru. Proizvajalec model predstavlja kot primeren za gradnjo agentov in reševanje razvojnih nalog z orodji. Okoliška aplikacija bere in ureja datoteke, zažene ukaz ali preverjanje in vrne dejanski izhod; model sklepa na podlagi teh dokazov. V končnem poročilu ločite predlagano spremembo od opravljenega preverjanja.</p><p>Upravljanje računalnika je ločena uporaba njegovih vizualnih in agentskih zmožnosti. Anthropicova izdaja prikazuje interakcijo z brskalnikom, krmarjenje po straneh in delo s preglednicami prek povezanega okolja. Vizualno navodilo lahko priloži posnetek zaslona, določi cilj in opredeli dejanja, ki jih aplikacija dovoljuje. Aplikacija nato izvede izbrano interakcijo in vrne spremenjeni zaslon ali drug rezultat. Podobno lahko model pripravi vsebino in kodo za dokumente, preglednice in diapozitive, okolje pa ustvari dokončano datoteko. Razumevanje besedila in slik modela ne spremeni v izvorni generator slik ali zvoka.</p><p>Natančna proizvajalčeva specifikacija navaja kontekstno okno 200K žetonov in do 64K izhodnih žetonov. Meja zanesljivega znanja je januar 2025, kar se razlikuje od poznejše meje učnih podatkov, navedene na strani. V dolgem vhodu jasno ohranite meje dokumentov, oznake strani, enote in identifikatorje kode ter pustite prostor za zahtevani odgovor in morebitno sklepanje. Proizvajalec za to izdajo dokumentira tudi zavedanje konteksta, zato podprti potek med pogovorom spremlja preostali prostor. To pomaga upravljati dolgotrajno nalogo znotraj njenega okna; ne nadomesti ga z večjo zmogljivostjo poznejše izdaje Sonnet.</p><p>Sonnet 4.5 podpira običajne odgovore in ročno nastavljivo razširjeno sklepanje. V drugem načinu budget_tokens določi ciljni obseg notranjega sklepanja pred vidnim odgovorom. Dokumentirani minimum je 1,024 žetonov, omejitev pa mora biti običajno nižja od max_tokens, ker si sklepanje in končni odgovor delita dovoljeni obseg generiranja. Omejitev je cilj, ne obljuba porabe natanko toliko žetonov. Ta izdaja nima prilagodljivega načina sklepanja ali nastavitev obsega dela, opisanih za poznejše modele Sonnet. Izberite zahtevano globino analize in pustite dovolj prostora za uporaben končni odgovor.</p><p>Proizvajalčeva funkcija beta interleaved-thinking omogoča modelu Sonnet 4.5 sklepanje med klici orodij znotraj enega kroga ter izbiro naslednjega koraka na podlagi vrnjenih opažanj. Zahteva dokumentirano funkcijo beta v podprtem poteku Messages. V tem primeru lahko obseg sklepanja preseže max_tokens, ker zajema več blokov sklepanja v istem krogu pomočnika. Rezultate orodij vrnite skupaj s pripadajočo vsebino sklepanja brez sprememb, vključno z njenim podpisom; urejanje to vsebino razveljavi. Raziskovalna ali razhroščevalna naloga lahko tako izmenjuje predlagano preverjanje, dejansko vrnjeni rezultat in posodobljeno analizo, ne da bi besedilni predlog štela za dokončano dejanje.</p><p>Pri vizualnem gradivu proizvajalec podpira JPEG, PNG, GIF in WebP ter uporabi samo prvo sličico animacije. Standardna vgrajena obdelava slik v tej izdaji ima omejitev 1,568 slikovnih pik na daljši stranici in 1,568 vizualnih žetonov; večje slike se pomanjšajo. Proizvajalčev vodnik za slike navaja do 100 slik na zahtevo API pri modelih s kontekstom 200K, pri čemer so lahko omejitve slik in skupne velikosti zahteve dosežene prej. Kadar je praktično, postavite slike pred vprašanje, označite več slik ter ohranite drobno besedilo ali oznake grafov. Vodnik priporoča jasne slike in dovolj okoliškega konteksta za razumevanje vidne podrobnosti.</p><p>Urejanje konteksta in pomnilniško orodje sta bila uvedena skupaj s tem modelom za podporo daljšim agentskim potekom. To sta načina ohranjanja uporabnega stanja ali odstranjevanja starega gradiva orodij, ki ju podpira aplikacija; ne pomenita neomejenega pomnilnika modela ali poznejše funkcije zgoščevanja konteksta na strežniku. Pri večstopenjski nalogi ohranite že sprejete odločitve, odprto vprašanje in dokaze, potrebne za naslednji korak. Anthropic opisuje tudi večjo odpornost proti skritim navodilom v zunanji vsebini, ob tem pa opozarja, da lahko klasifikatorji za posamezen model včasih označijo neškodljivo gradivo. Uporaben rezultat ostaja pregledljiv izdelek, povezan s priloženimi dokazi, pri čemer so natančni načini in omejitve modela Sonnet 4.5 ločeni od poznejših izdaj.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Na voljo v Ailoot · vhodi in metode</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · OpenAI Chat</b> <code>POST /v1/chat/completions</code></summary><dl class=\"method-capabilities\"><div><dt>Vhod</dt><dd><code>text</code></dd></div><div><dt>Izhod</dt><dd><code>text</code></dd></div><div><dt>Izhodni format</dt><dd>json ali SSE</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Polje</th><th>Vrsta</th><th>Zahteva</th><th>Vrednosti in omejitve</th><th>Privzeto</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>claude-sonnet-4-5-20250929-thinking</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">messages</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>message[]</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Najmanjše število elementov: 1</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"model_dependent\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">messages[].role</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div class=\"note-s\">Odvisno od modela</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">messages[].content</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Velja, ko: Besedilni pogovor</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>boolean</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span></td><td data-cell-label=\"Privzeto\" data-default=\"known\"><span class=\"card-cell-label\">Privzeto</span>false</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinacije vhodnih gradiv</summary><p class=\"note-s\"><b>Besedilo</b> · Besedilo UTF8</p><p class=\"note-s\"><code>messages[].content</code></p></details><details class=\"note-s\" data-method-contract><summary>Parametri in življenjski cikel metode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Specifikacija</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</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=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</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=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</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=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>messages</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>polje sporočil s strukturo role/content</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>file_material</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>dejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</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=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>control_scope</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>Besedilni pogovor; stream je logična vrednost in je privzeto false.</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</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=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</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=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</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>Druga imena metode: <code>/chat/completions</code></p><p>Življenjski cikel: <code>synchronous_or_streamed</code></p><p class=\"note-s\">Pošljite natančen ID modela skupaj z messages.</p><p class=\"note-s\">Dolžina konteksta ni zgornja meja izhoda.</p><p class=\"note-s\">Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Cenik</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.</p><dl data-price-conditions><dt>Hitri način</dt><dd>Ni navedeno <span class=\"note-s\">Ko je izbran hitri način</span></dd><dt>Način flex</dt><dd>Ni navedeno <span class=\"note-s\">Ko je izbran način flex</span></dd><dt>Najvišja raven razmišljanja</dt><dd>Ni navedeno <span class=\"note-s\">Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Cene Ailoot</h4><h4>Cene po nastavitvah</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Nastavitev</th><th>Cenovna lestvica</th><th>Strošek</th></tr></thead><tbody><tr><th data-cell-label=\"Nastavitev\" scope=\"row\"><span class=\"card-cell-label\">Nastavitev</span>Osnovne cene za žetone</th><td data-cell-label=\"Cenovna lestvica\"><span class=\"card-cell-label\">Cenovna lestvica</span>Osnovna cena</td><td data-cell-label=\"Strošek\"><span class=\"card-cell-label\">Strošek</span><div><span>Vhod · Vhodni žetoni</span> <b>$0.006</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Izhod · Izhodni žetoni</span> <b>$0.03</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Branje predpomnilnika</span> <b>$0.0006</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Zapis v predpomnilnik</span> <b>$0.0075</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Zapis v predpomnilnik, 1 ura</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. <a href=\"/docs/sl/billing/reserve/\">Kako delujeta rezervacija in obračun →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Primeri zahtev</h3><h4>Ailoot Ultra · OpenAI Chat</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Primeri kode\"><button class=\"cg-tab\" id=\"model-code-1172-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1172-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1172-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1172-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiraj kodo\"><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-1172-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1172-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;claude-sonnet-4-5-20250929-thinking&quot;,&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}],&quot;stream&quot;:false}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;choices&quot;,[]):\n    if x.get(&quot;message&quot;,{}).get(&quot;content&quot;): print(x[&quot;message&quot;][&quot;content&quot;])\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1172-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1172-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nif not os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;).strip(): raise SystemExit(&quot;Set AILOOT_API_KEY before making a request&quot;)\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.chat.completions.create(model=&quot;claude-sonnet-4-5-20250929-thinking&quot;, messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=&quot;result&quot;):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + &quot;.json&quot;).write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=&quot;utf-8&quot;)\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b&quot;-_&quot;, validate=True)\n        ext = &quot;png&quot; if raw.startswith(b&quot;\\x89PNG\\r\\n\\x1a\\n&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4] == b&quot;RIFF&quot; and raw[8:12] == b&quot;WEBP&quot; else suffix\n        file = Path(stem + &quot;-&quot; + label + &quot;.&quot; + ext)\n        file.write_bytes(raw)\n        print(&quot;Saved&quot;, file)\n    for index, block in enumerate(data.get(&quot;content&quot;) or []):\n        print(&quot;Content&quot;, index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(&quot;choices&quot;) or []:\n        print(&quot;Choice&quot;, choice.get(&quot;index&quot;), json.dumps(choice.get(&quot;message&quot;, choice.get(&quot;delta&quot;, {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(&quot;output&quot;) or []):\n        print(&quot;Output&quot;, index, json.dumps(item, ensure_ascii=False))\n        if item.get(&quot;type&quot;) == &quot;image_generation_call&quot; and item.get(&quot;result&quot;):\n            save_blob(item[&quot;result&quot;], item.get(&quot;output_format&quot;) or &quot;bin&quot;, &quot;output-&quot; + str(index))\n    for ci, candidate in enumerate(data.get(&quot;candidates&quot;) or []):\n        for pi, part in enumerate((candidate.get(&quot;content&quot;) or {}).get(&quot;parts&quot;) or []):\n            print(&quot;Candidate/part&quot;, ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(&quot;inlineData&quot;) or part.get(&quot;inline_data&quot;)\n            if blob and blob.get(&quot;data&quot;):\n                mime = blob.get(&quot;mimeType&quot;) or blob.get(&quot;mime_type&quot;)\n                suffix = {&quot;image/png&quot;:&quot;png&quot;, &quot;image/jpeg&quot;:&quot;jpg&quot;, &quot;image/webp&quot;:&quot;webp&quot;, &quot;audio/wav&quot;:&quot;wav&quot;, &quot;audio/mpeg&quot;:&quot;mp3&quot;, &quot;video/mp4&quot;:&quot;mp4&quot;}.get(mime, &quot;bin&quot;)\n                save_blob(blob[&quot;data&quot;], suffix, &quot;candidate-&quot; + str(ci) + &quot;-part-&quot; + str(pi))\n\nsave_result(result.to_dict(mode=&quot;json&quot;))\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Prejmi in shrani rezultate</h3><h4>Ailoot Ultra · OpenAI Chat</h4><p class=\"note-s\">json ali SSE</p><div class=\"card-result-process\" data-all-results><h5>Ohrani vse dokončane rezultate</h5><p class=\"note-s\">Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.</p><p class=\"note-s\">Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Če je treba preveriti izvirni odgovor</h5><p class=\"note-s\">Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.</p></div><details class=\"card-about\" data-output-fields><summary>Polja odgovora</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Polje</th><th>Vrsta</th></tr></thead><tbody><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">choices[].index</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>integer</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">choices[].message.content</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>string|null</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">choices[].message.tool_calls</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>tool_call[]</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">choices[].message.reasoning_content</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>string</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">choices[].message.reasoning_details</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>object|array</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">choices[].finish_reason</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>string|null</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Napake in naslednji koraki</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odgovor</th><th>Pogoj</th><th>Naslednji korak</th></tr></thead><tbody><tr><th data-cell-label=\"Odgovor\" scope=\"row\"><span class=\"card-cell-label\">Odgovor</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Pogoj\"><span class=\"card-cell-label\">Pogoj</span>Neveljavna obvezna polja, predstavitev gradiva ali vrednost parametra</td><td data-cell-label=\"Naslednji korak\"><span class=\"card-cell-label\">Naslednji korak</span>Pred novo zahtevo za ustvarjanje popravite navedena polja.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Druga imena</h3><h4>Druga imena modelov</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=claude-sonnet-4-5-20250929-thinking&amp;route=Ultra&amp;caller=claude-sonnet-4-5-20250929-thinking&amp;fmt=chat\"><code>claude-sonnet-4-5-20250929-thinking</code></a></span></p><h4>Druga imena poti metod</h4><p class=\"note-s\"><code>/chat/completions</code></p><h4>Povezani ID-ji za klic</h4><p class=\"note-s\"><a href=\"#m=claude-sonnet-4-5-20250929-thinking&amp;route=Ultra&amp;caller=claude-sonnet-4-5-20250929-thinking&amp;fmt=chat\"><code>claude-sonnet-4-5-20250929-thinking</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "claude-sonnet-4-5-20250929-thinking",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "claude-sonnet-4-5-20250929-thinking",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|claude-sonnet-4-5-20250929-thinking",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.6,
        "cache_write": 7.5,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Neveljavna obvezna polja, predstavitev gradiva ali vrednost parametra",
                "http_status": 400,
                "recovery": "Pred novo zahtevo za ustvarjanje popravite navedena polja.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "Besedilo UTF8"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.",
              "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 ali SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "claude-sonnet-4-5-20250929-thinking"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "Besedilni pogovor"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "Pošljite natančen ID modela skupaj z messages.",
            "Dolžina konteksta ni zgornja meja izhoda.",
            "Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "Besedilni pogovor; stream je logična vrednost in je privzeto false.",
            "file_material": "dejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "polje sporočil s strukturo role/content",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Osnovne cene za žetone",
            "units": [
              {
                "amount": "0.006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000006",
                "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.0006000",
                "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.0000006",
                "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.0075000",
                "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.0000075",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\":\"claude-sonnet-4-5-20250929-thinking\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"claude-sonnet-4-5-20250929-thinking\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 6,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 30,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000006",
                "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.0006000",
                "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.0000006",
                "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.0075000",
                "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.0000075",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "claude-sonnet-4-5-20250929-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000006",
            "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.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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.0006000",
            "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.0000006",
            "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.0075000",
            "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.0000075",
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "claude-sonnet-4-5-20250929-thinking",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "7f49a5cccf1902d10624ea28aaa936e91d80c4a870aab98dcb9267bd9106ef51",
    "input_html_sha256": "42c6990c0912f2159d1bea752eb09496584c4fc8a8c3d8885e890f44c4bfe2bc",
    "private_audit_sha256": "cfeaf4ecb57b2e7c3e509a72c17df484100c18ba448ed2b411dc27bd4b030b60",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sl/claude-sonnet-4-5-20250929-thinking/",
    "description": "Claude Sonnet 4.5 je Anthropicov model z besedilnim in slikovnim vhodom za razvoj programske opreme, zahtevne agente, upravljanje računalnika in analitično delo. Podpira neposredne odgovore ali ročno nastavljivo razširjeno sklepanje ter sklepanje med klici orodij v dokumentiranem postopku beta.",
    "locale": "sl",
    "md_url": "https://ailoot.ai/models/sl/claude-sonnet-4-5-20250929-thinking/index.md",
    "title": "Anthropic: Claude Sonnet 4.5 — Ailoot",
    "url": "https://ailoot.ai/models/sl/claude-sonnet-4-5-20250929-thinking/"
  },
  "rawModel": {
    "about": "Claude Sonnet 4.5 je Anthropicova izdaja Sonnet, usmerjena v razvoj programske opreme, zahtevne agentske naloge in upravljanje računalnika, z izboljšavami sklepanja in matematike. Sprejema besedilo in slike ter ustvarja besedilo. Opis izdaje poudarja dolgotrajno večstopenjsko delo, razumevanje kode in spremembe, ki zajemajo širši projekt namesto ene ločene funkcije. Uporabno navodilo določi zahtevano vedenje, relevantno izvorno gradivo in izdelek za oddajo: predlagani popravek, razlago implementacije, analizo dokumenta ali strukturirani odgovor.\n\nPri delu s programsko opremo priložite omejitve projekta, relevantne datoteke ali odlomke, opaženo napako in konkreten primer pričakovanega rezultata. Zahtevajte zadevno kodo in razlago, kako predlagana sprememba odpravi težavo, prikazano v tem primeru. Proizvajalec model predstavlja kot primeren za gradnjo agentov in reševanje razvojnih nalog z orodji. Okoliška aplikacija bere in ureja datoteke, zažene ukaz ali preverjanje in vrne dejanski izhod; model sklepa na podlagi teh dokazov. V končnem poročilu ločite predlagano spremembo od opravljenega preverjanja.\n\nUpravljanje računalnika je ločena uporaba njegovih vizualnih in agentskih zmožnosti. Anthropicova izdaja prikazuje interakcijo z brskalnikom, krmarjenje po straneh in delo s preglednicami prek povezanega okolja. Vizualno navodilo lahko priloži posnetek zaslona, določi cilj in opredeli dejanja, ki jih aplikacija dovoljuje. Aplikacija nato izvede izbrano interakcijo in vrne spremenjeni zaslon ali drug rezultat. Podobno lahko model pripravi vsebino in kodo za dokumente, preglednice in diapozitive, okolje pa ustvari dokončano datoteko. Razumevanje besedila in slik modela ne spremeni v izvorni generator slik ali zvoka.\n\nNatančna proizvajalčeva specifikacija navaja kontekstno okno 200K žetonov in do 64K izhodnih žetonov. Meja zanesljivega znanja je januar 2025, kar se razlikuje od poznejše meje učnih podatkov, navedene na strani. V dolgem vhodu jasno ohranite meje dokumentov, oznake strani, enote in identifikatorje kode ter pustite prostor za zahtevani odgovor in morebitno sklepanje. Proizvajalec za to izdajo dokumentira tudi zavedanje konteksta, zato podprti potek med pogovorom spremlja preostali prostor. To pomaga upravljati dolgotrajno nalogo znotraj njenega okna; ne nadomesti ga z večjo zmogljivostjo poznejše izdaje Sonnet.\n\nSonnet 4.5 podpira običajne odgovore in ročno nastavljivo razširjeno sklepanje. V drugem načinu budget_tokens določi ciljni obseg notranjega sklepanja pred vidnim odgovorom. Dokumentirani minimum je 1,024 žetonov, omejitev pa mora biti običajno nižja od max_tokens, ker si sklepanje in končni odgovor delita dovoljeni obseg generiranja. Omejitev je cilj, ne obljuba porabe natanko toliko žetonov. Ta izdaja nima prilagodljivega načina sklepanja ali nastavitev obsega dela, opisanih za poznejše modele Sonnet. Izberite zahtevano globino analize in pustite dovolj prostora za uporaben končni odgovor.\n\nProizvajalčeva funkcija beta interleaved-thinking omogoča modelu Sonnet 4.5 sklepanje med klici orodij znotraj enega kroga ter izbiro naslednjega koraka na podlagi vrnjenih opažanj. Zahteva dokumentirano funkcijo beta v podprtem poteku Messages. V tem primeru lahko obseg sklepanja preseže max_tokens, ker zajema več blokov sklepanja v istem krogu pomočnika. Rezultate orodij vrnite skupaj s pripadajočo vsebino sklepanja brez sprememb, vključno z njenim podpisom; urejanje to vsebino razveljavi. Raziskovalna ali razhroščevalna naloga lahko tako izmenjuje predlagano preverjanje, dejansko vrnjeni rezultat in posodobljeno analizo, ne da bi besedilni predlog štela za dokončano dejanje.\n\nPri vizualnem gradivu proizvajalec podpira JPEG, PNG, GIF in WebP ter uporabi samo prvo sličico animacije. Standardna vgrajena obdelava slik v tej izdaji ima omejitev 1,568 slikovnih pik na daljši stranici in 1,568 vizualnih žetonov; večje slike se pomanjšajo. Proizvajalčev vodnik za slike navaja do 100 slik na zahtevo API pri modelih s kontekstom 200K, pri čemer so lahko omejitve slik in skupne velikosti zahteve dosežene prej. Kadar je praktično, postavite slike pred vprašanje, označite več slik ter ohranite drobno besedilo ali oznake grafov. Vodnik priporoča jasne slike in dovolj okoliškega konteksta za razumevanje vidne podrobnosti.\n\nUrejanje konteksta in pomnilniško orodje sta bila uvedena skupaj s tem modelom za podporo daljšim agentskim potekom. To sta načina ohranjanja uporabnega stanja ali odstranjevanja starega gradiva orodij, ki ju podpira aplikacija; ne pomenita neomejenega pomnilnika modela ali poznejše funkcije zgoščevanja konteksta na strežniku. Pri večstopenjski nalogi ohranite že sprejete odločitve, odprto vprašanje in dokaze, potrebne za naslednji korak. Anthropic opisuje tudi večjo odpornost proti skritim navodilom v zunanji vsebini, ob tem pa opozarja, da lahko klasifikatorji za posamezen model včasih označijo neškodljivo gradivo. Uporaben rezultat ostaja pregledljiv izdelek, povezan s priloženimi dokazi, pri čemer so natančni načini in omejitve modela Sonnet 4.5 ločeni od poznejših izdaj.",
    "alias_of": null,
    "aliases": [],
    "author": "Anthropic",
    "available": null,
    "canonical_model": "claude-sonnet-4-5-20250929-thinking",
    "capabilities": {
      "context_length": 1000000,
      "manufacturer_input": [
        "text",
        "image",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000006",
            "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.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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": "Celoten cenik konfiguracije je v podrobnostih."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "chat"
    ],
    "id": "claude-sonnet-4-5-20250929-thinking",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.6,
        "cache_write": 7.5,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Neveljavna obvezna polja, predstavitev gradiva ali vrednost parametra",
                "http_status": 400,
                "recovery": "Pred novo zahtevo za ustvarjanje popravite navedena polja.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "Besedilo UTF8"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.",
              "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 ali SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "claude-sonnet-4-5-20250929-thinking"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "Besedilni pogovor"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "Pošljite natančen ID modela skupaj z messages.",
            "Dolžina konteksta ni zgornja meja izhoda.",
            "Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "Besedilni pogovor; stream je logična vrednost in je privzeto false.",
            "file_material": "dejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "polje sporočil s strukturo role/content",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Osnovne cene za žetone",
            "units": [
              {
                "amount": "0.006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000006",
                "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.0006000",
                "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.0000006",
                "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.0075000",
                "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.0000075",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\":\"claude-sonnet-4-5-20250929-thinking\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"claude-sonnet-4-5-20250929-thinking\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 6,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 30,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000006",
                "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.0006000",
                "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.0000006",
                "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.0075000",
                "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.0000075",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "claude-sonnet-4-5-20250929-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000006",
            "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.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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.0006000",
            "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.0000006",
            "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.0075000",
            "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.0000075",
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "claude-sonnet-4-5-20250929-thinking",
        "request_model_id": "claude-sonnet-4-5-20250929-thinking",
        "route_label": "Ultra"
      }
    ],
    "name": "Anthropic: Claude Sonnet 4.5",
    "price": {
      "in": 6,
      "in_label": null,
      "out": 30,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 6,
      "sort_out": 30,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "OpenAI Chat · Base token rates",
        "units": [
          {
            "amount": "0.006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000006",
            "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.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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.0006000",
            "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.0000006",
            "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.0075000",
            "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.0000075",
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "claude-sonnet-4-5-20250929-thinking",
    "short": "Claude Sonnet 4.5 je Anthropicov model z besedilnim in slikovnim vhodom za razvoj programske opreme, zahtevne agente, upravljanje računalnika in analitično delo. Podpira neposredne odgovore ali ročno nastavljivo razširjeno sklepanje ter sklepanje med klici orodij v dokumentiranem postopku beta."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Claude Sonnet 4.5 je Anthropicov model z besedilnim in slikovnim vhodom za razvoj programske opreme, zahtevne agente, upravljanje računalnika in analitično delo. Podpira neposredne odgovore ali ročno nastavljivo razširjeno sklepanje ter sklepanje med klici orodij v dokumentiranem postopku beta.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "2912490821be483a2387914a997654f9474a9d76991e87712ba20e0cc44dff58",
    "renderer_sha256": "dcba2271c18b0f9570a8b166e8d1e3166f121e096a58609c3a46da31562a1bf2"
  },
  "sourceRevision": "ca1ba028807ed94ccc74ba2c1c66a09b7beb336005431afb86b06b735ebe7c99"
}
