{
  "aboutHtml": "<p>Voyage Code 2 vytváří číselné embeddingy zdrojového kódu a souvisejícího textu. Je navržen pro sémantické vyhledávání kódu, při kterém vývojář popíše chování nebo dodá část kódu a vyhledávací systém najde relevantní implementace. Příklady výrobce zahrnují jako vyhledávací vstupy otázky v přirozeném jazyce, části kódu a kombinace obojího.</p><p>Použijte jej k vytvoření hledání v repozitáři podle skutečných vývojářských otázek. Vývojář může hledat rutinu, která odstraňuje pouze první a poslední odpovídající znak, nebo část projektu provádějící konkrétní průchod stromem. Připravte dotazy přesně vyjadřující chování včetně podmínky, která odlišuje zamýšlenou implementaci od blízké, ale nesprávné.</p><p>Indexujte kód v užitečných jednotkách místo rozdělování každého souboru po libovolném počtu znaků. Zachovejte signaturu funkce, tělo a relevantní vysvětlení společně. Pokud pomocná funkce závisí na místních typech nebo konstantách, ponechte dostatek okolního textu pro pochopení jejího účelu. Cesty souborů, revize repozitáře a zdrojová umístění ukládejte mimo embedding, aby výsledek mohl přímo otevřít původní kód.</p><p>Tato edice má kontextové okno 16 000 tokenů a vytváří embeddingy o 1 536 rozměrech. Přizpůsobte velikost vektorového indexu této reprezentaci a ponechte embeddingy dotazů a dokumentů přiřazené stejnému modelu. Soubor již indexovaný pomocí Voyage Code 2 může při aktualizaci zdrojových záznamů zachovat konzistentní vyhledávací reprezentaci. Přechod na jinou edici embeddingů má být považován za migraci indexu s výslovným porovnáním na stejném repozitáři.</p><p>U dotazu v přirozeném jazyce popište operaci, vstupy a relevantní výsledek. U kódového dotazu zahrňte část, jejíž logiku je třeba najít, a vysvětlete každou podmínku důležitou pro hledání. Hledání obsluhy opakování například může určit, zda relevantní kód opakuje po vypršení časového limitu nebo po úplné chybové odpovědi. Před použitím při úpravě má být nalezený zdroj zkontrolován z hlediska tohoto rozlišení.</p><p>Pokud jsou indexovány dokumentace i zdrojový kód, zachovejte dohledatelnost obojího. Vysvětlující pasáž může poskytnout užitečný kontext, zatímco implementace je výstupem, který vývojář potřebuje prozkoumat. Označte tyto typy záznamů, aby vyhledávací stránka mohla zobrazit správný cíl a programovací asistent rozlišit popis od spustitelného zdroje.</p><p>Používejte nalezené pasáže jako kontext pro navigaci v repozitáři, hledání implementací nebo další krok programovacího asistenta. Při předávání zachovejte celou relevantní část i její umístění. Podobnost pomáhá najít kandidátní kód; kontrola skutečných vstupů, vedlejších účinků a kontraktů určuje, zda kandidát řeší aktuální problém.</p><p>Vyhodnocujte hledání na sadě skutečných otázek se známými zdrojovými odpověďmi. Zahrňte přejmenované funkce, zavádějící komentáře, podobné pomocné nástroje s různými krajními případy a dotazy používající slovník nepřítomný v kódu. Zkontrolujte, zda se očekávaná implementace objeví mezi užitečnými výsledky a zda zobrazená část poskytuje dostatek kontextu k posouzení. Uchovejte tyto otázky během růstu repozitáře, aby bylo možné změny extrakce, hranic pasáží nebo indexování porovnávat vůči stejným úlohám.</p>",
  "aboutText": "Voyage Code 2 vytváří číselné embeddingy zdrojového kódu a souvisejícího textu. Je navržen pro sémantické vyhledávání kódu, při kterém vývojář popíše chování nebo dodá část kódu a vyhledávací systém najde relevantní implementace. Příklady výrobce zahrnují jako vyhledávací vstupy otázky v přirozeném jazyce, části kódu a kombinace obojího.\n\nPoužijte jej k vytvoření hledání v repozitáři podle skutečných vývojářských otázek. Vývojář může hledat rutinu, která odstraňuje pouze první a poslední odpovídající znak, nebo část projektu provádějící konkrétní průchod stromem. Připravte dotazy přesně vyjadřující chování včetně podmínky, která odlišuje zamýšlenou implementaci od blízké, ale nesprávné.\n\nIndexujte kód v užitečných jednotkách místo rozdělování každého souboru po libovolném počtu znaků. Zachovejte signaturu funkce, tělo a relevantní vysvětlení společně. Pokud pomocná funkce závisí na místních typech nebo konstantách, ponechte dostatek okolního textu pro pochopení jejího účelu. Cesty souborů, revize repozitáře a zdrojová umístění ukládejte mimo embedding, aby výsledek mohl přímo otevřít původní kód.\n\nTato edice má kontextové okno 16 000 tokenů a vytváří embeddingy o 1 536 rozměrech. Přizpůsobte velikost vektorového indexu této reprezentaci a ponechte embeddingy dotazů a dokumentů přiřazené stejnému modelu. Soubor již indexovaný pomocí Voyage Code 2 může při aktualizaci zdrojových záznamů zachovat konzistentní vyhledávací reprezentaci. Přechod na jinou edici embeddingů má být považován za migraci indexu s výslovným porovnáním na stejném repozitáři.\n\nU dotazu v přirozeném jazyce popište operaci, vstupy a relevantní výsledek. U kódového dotazu zahrňte část, jejíž logiku je třeba najít, a vysvětlete každou podmínku důležitou pro hledání. Hledání obsluhy opakování například může určit, zda relevantní kód opakuje po vypršení časového limitu nebo po úplné chybové odpovědi. Před použitím při úpravě má být nalezený zdroj zkontrolován z hlediska tohoto rozlišení.\n\nPokud jsou indexovány dokumentace i zdrojový kód, zachovejte dohledatelnost obojího. Vysvětlující pasáž může poskytnout užitečný kontext, zatímco implementace je výstupem, který vývojář potřebuje prozkoumat. Označte tyto typy záznamů, aby vyhledávací stránka mohla zobrazit správný cíl a programovací asistent rozlišit popis od spustitelného zdroje.\n\nPoužívejte nalezené pasáže jako kontext pro navigaci v repozitáři, hledání implementací nebo další krok programovacího asistenta. Při předávání zachovejte celou relevantní část i její umístění. Podobnost pomáhá najít kandidátní kód; kontrola skutečných vstupů, vedlejších účinků a kontraktů určuje, zda kandidát řeší aktuální problém.\n\nVyhodnocujte hledání na sadě skutečných otázek se známými zdrojovými odpověďmi. Zahrňte přejmenované funkce, zavádějící komentáře, podobné pomocné nástroje s různými krajními případy a dotazy používající slovník nepřítomný v kódu. Zkontrolujte, zda se očekávaná implementace objeví mezi užitečnými výsledky a zda zobrazená část poskytuje dostatek kontextu k posouzení. Uchovejte tyto otázky během růstu repozitáře, aby bylo možné změny extrakce, hranic pasáží nebo indexování porovnávat vůči stejným úlohám.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "d5989fb013fcd765ec8ac16154133fda48f405a4471a313cfcadb3a6151804b9",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "cs",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Voyage AI: Voyage Code 2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zavřít\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-code-2</code><button type=\"button\" id=\"copy-id\">Zkopírovat ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekce karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Úvod</button><button type=\"button\" data-card-jump=\"methods\">Vstupy a metody</button><button type=\"button\" data-card-jump=\"pricing\">Tarify</button><button type=\"button\" data-card-jump=\"examples\">Příklady</button><button type=\"button\" data-card-jump=\"results\">Výsledky</button><button type=\"button\" data-card-jump=\"aliases\">Aliasy</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metody 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|embeddings|/v1/embeddings|voyage-code-2\">Vektorové reprezentace</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\">Úvod</h3><p class=\"mdesc-full\">Voyage Code 2 vytváří embeddingy zdrojového kódu a souvisejícího textu pro sémantické hledání v repozitáři. Otázky v přirozeném jazyce, části kódu nebo kombinované dotazy mohou vyhledat relevantní implementace; tato edice používá kontextové okno 16 000 tokenů a vektory o 1 536 rozměrech.</p><dl class=\"card-io\" data-card-io><div><dt>Přijímané vstupy</dt><dd>Text</dd></div><div><dt>Výsledky</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.</p><div class=\"mabout\" id=\"m-about\"><p>Voyage Code 2 vytváří číselné embeddingy zdrojového kódu a souvisejícího textu. Je navržen pro sémantické vyhledávání kódu, při kterém vývojář popíše chování nebo dodá část kódu a vyhledávací systém najde relevantní implementace. Příklady výrobce zahrnují jako vyhledávací vstupy otázky v přirozeném jazyce, části kódu a kombinace obojího.</p><p>Použijte jej k vytvoření hledání v repozitáři podle skutečných vývojářských otázek. Vývojář může hledat rutinu, která odstraňuje pouze první a poslední odpovídající znak, nebo část projektu provádějící konkrétní průchod stromem. Připravte dotazy přesně vyjadřující chování včetně podmínky, která odlišuje zamýšlenou implementaci od blízké, ale nesprávné.</p><p>Indexujte kód v užitečných jednotkách místo rozdělování každého souboru po libovolném počtu znaků. Zachovejte signaturu funkce, tělo a relevantní vysvětlení společně. Pokud pomocná funkce závisí na místních typech nebo konstantách, ponechte dostatek okolního textu pro pochopení jejího účelu. Cesty souborů, revize repozitáře a zdrojová umístění ukládejte mimo embedding, aby výsledek mohl přímo otevřít původní kód.</p><p>Tato edice má kontextové okno 16 000 tokenů a vytváří embeddingy o 1 536 rozměrech. Přizpůsobte velikost vektorového indexu této reprezentaci a ponechte embeddingy dotazů a dokumentů přiřazené stejnému modelu. Soubor již indexovaný pomocí Voyage Code 2 může při aktualizaci zdrojových záznamů zachovat konzistentní vyhledávací reprezentaci. Přechod na jinou edici embeddingů má být považován za migraci indexu s výslovným porovnáním na stejném repozitáři.</p><p>U dotazu v přirozeném jazyce popište operaci, vstupy a relevantní výsledek. U kódového dotazu zahrňte část, jejíž logiku je třeba najít, a vysvětlete každou podmínku důležitou pro hledání. Hledání obsluhy opakování například může určit, zda relevantní kód opakuje po vypršení časového limitu nebo po úplné chybové odpovědi. Před použitím při úpravě má být nalezený zdroj zkontrolován z hlediska tohoto rozlišení.</p><p>Pokud jsou indexovány dokumentace i zdrojový kód, zachovejte dohledatelnost obojího. Vysvětlující pasáž může poskytnout užitečný kontext, zatímco implementace je výstupem, který vývojář potřebuje prozkoumat. Označte tyto typy záznamů, aby vyhledávací stránka mohla zobrazit správný cíl a programovací asistent rozlišit popis od spustitelného zdroje.</p><p>Používejte nalezené pasáže jako kontext pro navigaci v repozitáři, hledání implementací nebo další krok programovacího asistenta. Při předávání zachovejte celou relevantní část i její umístění. Podobnost pomáhá najít kandidátní kód; kontrola skutečných vstupů, vedlejších účinků a kontraktů určuje, zda kandidát řeší aktuální problém.</p><p>Vyhodnocujte hledání na sadě skutečných otázek se známými zdrojovými odpověďmi. Zahrňte přejmenované funkce, zavádějící komentáře, podobné pomocné nástroje s různými krajními případy a dotazy používající slovník nepřítomný v kódu. Zkontrolujte, zda se očekávaná implementace objeví mezi užitečnými výsledky a zda zobrazená část poskytuje dostatek kontextu k posouzení. Uchovejte tyto otázky během růstu repozitáře, aby bylo možné změny extrakce, hranic pasáží nebo indexování porovnávat vůči stejným úlohám.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostupné v Ailoot · vstupy a metody</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Vektorové reprezentace</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Vstup</dt><dd><code>text</code></dd></div><div><dt>Výstup</dt><dd><code>embedding</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Požadavek</th><th>Hodnoty a limity</th><th>Výchozí</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>voyage-code-2</div><div>Podmínky: Použijte přesný identifikátor modelu Ailoot.</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string or array&lt;string&gt;</code></td><td data-cell-label=\"Požadavek\"><span class=\"card-cell-label\">Požadavek</span>Povinné</td><td data-cell-label=\"Hodnoty a limity\"><span class=\"card-cell-label\">Hodnoty a limity</span><div>Podmínky: Text nebo seznam textů; pro každou vrácenou datovou položku uchovejte jeden vektor i její index.</div></td><td data-cell-label=\"Výchozí\" data-default=\"unspecified\"><span class=\"card-cell-label\">Výchozí</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parametry a životní cyklus metody</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Kontrakt</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>model, input</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>optional</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span></td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>text</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>conditions</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>Odešlete text s vybraným modelem; uchovejte každý vrácený vektor a jeho index.</td></tr></tbody></table></div><p>Životní cyklus: <code>synchronous</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarify</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.</p><dl data-price-conditions><dt>Rychlý režim</dt><dd>Neuvedeno <span class=\"note-s\">Při výběru rychlého režimu</span></dd><dt>Režim flex</dt><dd>Neuvedeno <span class=\"note-s\">Při výběru režimu flex</span></dd><dt>Maximální intenzita uvažování</dt><dd>Neuvedeno <span class=\"note-s\">Když se při maximální intenzitě uvažování použije výchozí úprava (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Sazby Ailoot</h4><h4>Ceny podle konfigurace</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurace</th><th>Tabulka sazeb</th><th>Poplatek</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurace\" scope=\"row\"><span class=\"card-cell-label\">Konfigurace</span>Základní sazby za tokeny</th><td data-cell-label=\"Tabulka sazeb\"><span class=\"card-cell-label\">Tabulka sazeb</span>Základní sazba</td><td data-cell-label=\"Poplatek\"><span class=\"card-cell-label\">Poplatek</span><div><span>Vstup · Vstupní tokeny</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Výstup · Výstupní tokeny</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Čtení z mezipaměti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Zápis do mezipaměti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div><div><span>Vstup · Zápis do mezipaměti, 1 hodina</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenů</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. <a href=\"/docs/cs/billing/reserve/\">Jak funguje rezervace a vyúčtování →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Příklady požadavků</h3><h4>Ailoot Ultra · Vektorové reprezentace</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianty kódu\"><button class=\"cg-tab\" id=\"model-code-2789-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2789-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · uložte všechny vektory a údaje o využití</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Zkopírovat kód\"><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-2789-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2789-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON&#39;\n{\n  &quot;model&quot;: &quot;voyage-code-2&quot;,\n  &quot;input&quot;: &quot;The quick brown fox jumps over the lazy dog&quot;\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\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 embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Přijímání a ukládání výsledků</h3></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasy</h3><h4>Aliasy modelu</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyage-code-2&amp;route=Ultra&amp;caller=voyage-code-2&amp;fmt=embeddings\"><code>voyage-code-2</code></a></span></p><h4>Aliasy cest metod</h4><p class=\"note-s\">Použijte cesty metod uvedené výše.</p><h4>Související ID modelů</h4><p class=\"note-s\"><a href=\"#m=voyage-code-2&amp;route=Ultra&amp;caller=voyage-code-2&amp;fmt=embeddings\"><code>voyage-code-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-code-2",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-code-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-code-2",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Uchovejte původní odpověď a X-Client-Request-ID pro kontrolu shody. Nejednoznačná odpověď neopravňuje k opětovnému odeslání stejného požadavku na vytvoření.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Uložte úplnou odpověď JSON, každý vektor s jeho indexem, všechna pole s údaji o využití a všechny hlavičky požadavku.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "Použijte přesný identifikátor modelu Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-code-2"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Text nebo seznam textů; pro každou vrácenou datovou položku uchovejte jeden vektor i její index.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-code-2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-code-2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Odešlete text s vybraným modelem; uchovejte každý vrácený vektor a jeho index."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Základní sazby za tokeny",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-code-2\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Vektorové reprezentace",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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": "voyage-code-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": 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": "voyage-code-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "4a2ed6ef860b48f67774e573b69871e3963b96d118ce8f5471356a5a983d76e8",
    "input_html_sha256": "eecd96ea2bd7d5c34b5ef319f50df0435a0540286c5dd13c85e20ca5c4dd1285",
    "private_audit_sha256": "922059e9f50ab542b92d016f4cb863c61ecbb7908f7bc90c18baac33a38b8401",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/cs/voyage-code-2/",
    "description": "Voyage Code 2 vytváří embeddingy zdrojového kódu a souvisejícího textu pro sémantické hledání v repozitáři. Otázky v přirozeném jazyce, části kódu nebo kombinované dotazy mohou vyhledat relevantní implementace; tato edice používá kontextové okno 16 000 tokenů a vektory o 1 536 rozměrech.",
    "locale": "cs",
    "md_url": "https://ailoot.ai/models/cs/voyage-code-2/index.md",
    "title": "Voyage AI: Voyage Code 2 — Ailoot",
    "url": "https://ailoot.ai/models/cs/voyage-code-2/"
  },
  "rawModel": {
    "about": "Voyage Code 2 vytváří číselné embeddingy zdrojového kódu a souvisejícího textu. Je navržen pro sémantické vyhledávání kódu, při kterém vývojář popíše chování nebo dodá část kódu a vyhledávací systém najde relevantní implementace. Příklady výrobce zahrnují jako vyhledávací vstupy otázky v přirozeném jazyce, části kódu a kombinace obojího.\n\nPoužijte jej k vytvoření hledání v repozitáři podle skutečných vývojářských otázek. Vývojář může hledat rutinu, která odstraňuje pouze první a poslední odpovídající znak, nebo část projektu provádějící konkrétní průchod stromem. Připravte dotazy přesně vyjadřující chování včetně podmínky, která odlišuje zamýšlenou implementaci od blízké, ale nesprávné.\n\nIndexujte kód v užitečných jednotkách místo rozdělování každého souboru po libovolném počtu znaků. Zachovejte signaturu funkce, tělo a relevantní vysvětlení společně. Pokud pomocná funkce závisí na místních typech nebo konstantách, ponechte dostatek okolního textu pro pochopení jejího účelu. Cesty souborů, revize repozitáře a zdrojová umístění ukládejte mimo embedding, aby výsledek mohl přímo otevřít původní kód.\n\nTato edice má kontextové okno 16 000 tokenů a vytváří embeddingy o 1 536 rozměrech. Přizpůsobte velikost vektorového indexu této reprezentaci a ponechte embeddingy dotazů a dokumentů přiřazené stejnému modelu. Soubor již indexovaný pomocí Voyage Code 2 může při aktualizaci zdrojových záznamů zachovat konzistentní vyhledávací reprezentaci. Přechod na jinou edici embeddingů má být považován za migraci indexu s výslovným porovnáním na stejném repozitáři.\n\nU dotazu v přirozeném jazyce popište operaci, vstupy a relevantní výsledek. U kódového dotazu zahrňte část, jejíž logiku je třeba najít, a vysvětlete každou podmínku důležitou pro hledání. Hledání obsluhy opakování například může určit, zda relevantní kód opakuje po vypršení časového limitu nebo po úplné chybové odpovědi. Před použitím při úpravě má být nalezený zdroj zkontrolován z hlediska tohoto rozlišení.\n\nPokud jsou indexovány dokumentace i zdrojový kód, zachovejte dohledatelnost obojího. Vysvětlující pasáž může poskytnout užitečný kontext, zatímco implementace je výstupem, který vývojář potřebuje prozkoumat. Označte tyto typy záznamů, aby vyhledávací stránka mohla zobrazit správný cíl a programovací asistent rozlišit popis od spustitelného zdroje.\n\nPoužívejte nalezené pasáže jako kontext pro navigaci v repozitáři, hledání implementací nebo další krok programovacího asistenta. Při předávání zachovejte celou relevantní část i její umístění. Podobnost pomáhá najít kandidátní kód; kontrola skutečných vstupů, vedlejších účinků a kontraktů určuje, zda kandidát řeší aktuální problém.\n\nVyhodnocujte hledání na sadě skutečných otázek se známými zdrojovými odpověďmi. Zahrňte přejmenované funkce, zavádějící komentáře, podobné pomocné nástroje s různými krajními případy a dotazy používající slovník nepřítomný v kódu. Zkontrolujte, zda se očekávaná implementace objeví mezi užitečnými výsledky a zda zobrazená část poskytuje dostatek kontextu k posouzení. Uchovejte tyto otázky během růstu repozitáře, aby bylo možné změny extrakce, hranic pasáží nebo indexování porovnávat vůči stejným úlohám.",
    "about_sha256": "02443af503f57362991a7f624a9b2b777836a591a3816de5330425a291427ffb",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 16000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "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": "Kompletní ceník konfigurace v podrobnostech."
      }
    ],
    "ctx": null,
    "display_name": "Voyage AI: Voyage Code 2",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-code-2",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Uchovejte původní odpověď a X-Client-Request-ID pro kontrolu shody. Nejednoznačná odpověď neopravňuje k opětovnému odeslání stejného požadavku na vytvoření.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Uložte úplnou odpověď JSON, každý vektor s jeho indexem, všechna pole s údaji o využití a všechny hlavičky požadavku.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "Použijte přesný identifikátor modelu Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-code-2"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Text nebo seznam textů; pro každou vrácenou datovou položku uchovejte jeden vektor i její index.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-code-2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-code-2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Odešlete text s vybraným modelem; uchovejte každý vrácený vektor a jeho index."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Základní sazby za tokeny",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-code-2\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Vektorové reprezentace",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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": "voyage-code-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": 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": "voyage-code-2",
        "request_model_id": "voyage-code-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage Code 2",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 0,
      "varies": false
    },
    "short": "Voyage Code 2 vytváří embeddingy zdrojového kódu a souvisejícího textu pro sémantické hledání v repozitáři. Otázky v přirozeném jazyce, části kódu nebo kombinované dotazy mohou vyhledat relevantní implementace; tato edice používá kontextové okno 16 000 tokenů a vektory o 1 536 rozměrech.",
    "short_sha256": "392f5ff2471da11418d1ad1c0971fff44fb348ff0d8d619073b3d78c51bb9acb"
  },
  "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": "Voyage Code 2 vytváří embeddingy zdrojového kódu a souvisejícího textu pro sémantické hledání v repozitáři. Otázky v přirozeném jazyce, části kódu nebo kombinované dotazy mohou vyhledat relevantní implementace; tato edice používá kontextové okno 16 000 tokenů a vektory o 1 536 rozměrech.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "1fdf5aea30efacc0ea09b4122da0dd53465481f4cbd72b2a00c62f8c1d1fbb53",
    "renderer_sha256": "41721c81890b87836cd3fd41ef732d3276f5969e30822ba09962305294953718"
  },
  "sourceRevision": "4b0114e3553b1aab42d19b3cd9bb65cc02ea359970cb40985c693c4bd420d556"
}
