{
  "aboutHtml": "<p>Gemini Embedding 2 Preview to nazwana wersja poglądowa natywnej rodziny multimodalnych osadzeń Google. Odwzorowuje tekst, obrazy, wideo, dźwięk i PDF we wspólnej przestrzeni liczbowej, reprezentując intencję semantyczną w ponad 100 językach. Wynikiem są osadzenia: wektory używane do porównywania i wyszukiwania powiązanych materiałów. Tożsamość tej wersji Preview pozostaje odrębna od stabilnej wersji Gemini Embedding 2 i nie oznacza wymiennych wag ani identycznej przestrzeni wektorowej.</p><p>Pierwotne ogłoszenie opisuje wyszukiwanie między modalnościami, klasyfikację, grupowanie w klastry, analizę sentymentu i generowanie wspomagane wyszukiwaniem jako dalsze zastosowania. Zapytanie tekstowe może odnaleźć powiązany element wizualny, a obraz lub klip także może stanowić punkt wyjścia do wyszukiwania. Aplikacja przechowuje reprezentacje, porównuje je i zwraca odpowiednie rekordy; osobny model językowy może wykorzystać znaleziony materiał źródłowy do napisania odpowiedzi. Samo osadzenie nie zawiera objaśnienia w języku naturalnym ani transkrypcji.</p><p>Własna strona modelu dokumentuje limit wejścia wynoszący 8192 tokeny i liczbę wymiarów wyjścia od 128 do 3072, z zalecanymi rozmiarami 768, 1536 i 3072. Ogłoszenie wersji Preview podaje domyślną wartość 3072 i opisuje Matryoshka Representation Learning, które zachowuje przydatne informacje w krótszych początkowych częściach reprezentacji. Utrzymuj jedną wybraną liczbę wymiarów dla wektorów, które mają być porównywane, i zachowaj wersję modelu wraz z kolekcją, zamiast łączyć reprezentacje tylko dlatego, że mają tę samą długość.</p><p>Ogłoszenie wersji Preview dokumentuje do sześciu obrazów PNG lub JPEG na żądanie, do 120 sekund wideo MP4 lub MOV i dokumenty PDF do sześciu stron. Dokumentuje także bezpośrednie osadzanie dźwięku bez pośredniej transkrypcji tekstowej. Te specyfikacje pochodzą z własnego ogłoszenia wersji Preview, a nie z późniejszego przewodnika po wersji stabilnej. Ogłoszenie nie ustala wszystkich obecnych limitów czasu trwania dźwięku, kodeków ani próbkowania klatek dla tego konkretnego profilu Preview.</p><p>Przeplatane wejście multimodalne pozwala reprezentacji odzwierciedlać relacje między mediami, takimi jak obraz i jego podpis. W katalogu produktów podawaj fotografię i zatwierdzony opis razem, gdy opisują jeden obiekt do wyszukania. W kolekcji dokumentów dziel źródło na fragmenty dotyczące konkretnych zagadnień lub strony i zachowuj jego tytuł oraz położenie. W bibliotece mediów wybierz klip odpowiadający zdarzeniu, które użytkownicy powinni znajdować, i zachowaj jego oryginalny przedział czasowy wraz z zapisanym rekordem.</p><p>Użyteczne zadanie wyszukiwania jasno określa zamierzoną relację. Pytanie wymagające wyjaśnienia, wyszukiwanie wizualnie podobnych elementów i grupowanie według tematu to różne zadania, nawet jeśli korzystają z tej samej kolekcji źródeł. Przygotowuj treść konsekwentnie, zapisuj wersję i liczbę wymiarów oraz zachowuj powiązanie każdego wektora z jego źródłem. Podobieństwo dostarcza kandydatów do sprawdzenia przez aplikację; nie dowodzi, że dwa rekordy stwierdzają ten sam fakt ani że znalezione źródło w pełni odpowiada na pytanie.</p><p>W praktycznym wyszukiwaniu mediów reprezentuj wybrany obraz lub fragment wideo i porównuj go z opisem pożądanej treści. Prezentuj pasujące źródło obok jego podpisu lub przedziału czasowego, aby użytkownik mógł je sprawdzić. W przypadku asystenta wiedzy znajdź odpowiednią stronę lub fragment przed wygenerowaniem pisemnej odpowiedzi. Rolą modelu Preview jest multimodalna reprezentacja liczbowa wspierająca te etapy wyboru, a przechowywanie, reguły rankingu i ostateczna odpowiedź pozostają częściami procesu, w którym model jest używany.</p>",
  "aboutText": "Gemini Embedding 2 Preview to nazwana wersja poglądowa natywnej rodziny multimodalnych osadzeń Google. Odwzorowuje tekst, obrazy, wideo, dźwięk i PDF we wspólnej przestrzeni liczbowej, reprezentując intencję semantyczną w ponad 100 językach. Wynikiem są osadzenia: wektory używane do porównywania i wyszukiwania powiązanych materiałów. Tożsamość tej wersji Preview pozostaje odrębna od stabilnej wersji Gemini Embedding 2 i nie oznacza wymiennych wag ani identycznej przestrzeni wektorowej.\n\nPierwotne ogłoszenie opisuje wyszukiwanie między modalnościami, klasyfikację, grupowanie w klastry, analizę sentymentu i generowanie wspomagane wyszukiwaniem jako dalsze zastosowania. Zapytanie tekstowe może odnaleźć powiązany element wizualny, a obraz lub klip także może stanowić punkt wyjścia do wyszukiwania. Aplikacja przechowuje reprezentacje, porównuje je i zwraca odpowiednie rekordy; osobny model językowy może wykorzystać znaleziony materiał źródłowy do napisania odpowiedzi. Samo osadzenie nie zawiera objaśnienia w języku naturalnym ani transkrypcji.\n\nWłasna strona modelu dokumentuje limit wejścia wynoszący 8192 tokeny i liczbę wymiarów wyjścia od 128 do 3072, z zalecanymi rozmiarami 768, 1536 i 3072. Ogłoszenie wersji Preview podaje domyślną wartość 3072 i opisuje Matryoshka Representation Learning, które zachowuje przydatne informacje w krótszych początkowych częściach reprezentacji. Utrzymuj jedną wybraną liczbę wymiarów dla wektorów, które mają być porównywane, i zachowaj wersję modelu wraz z kolekcją, zamiast łączyć reprezentacje tylko dlatego, że mają tę samą długość.\n\nOgłoszenie wersji Preview dokumentuje do sześciu obrazów PNG lub JPEG na żądanie, do 120 sekund wideo MP4 lub MOV i dokumenty PDF do sześciu stron. Dokumentuje także bezpośrednie osadzanie dźwięku bez pośredniej transkrypcji tekstowej. Te specyfikacje pochodzą z własnego ogłoszenia wersji Preview, a nie z późniejszego przewodnika po wersji stabilnej. Ogłoszenie nie ustala wszystkich obecnych limitów czasu trwania dźwięku, kodeków ani próbkowania klatek dla tego konkretnego profilu Preview.\n\nPrzeplatane wejście multimodalne pozwala reprezentacji odzwierciedlać relacje między mediami, takimi jak obraz i jego podpis. W katalogu produktów podawaj fotografię i zatwierdzony opis razem, gdy opisują jeden obiekt do wyszukania. W kolekcji dokumentów dziel źródło na fragmenty dotyczące konkretnych zagadnień lub strony i zachowuj jego tytuł oraz położenie. W bibliotece mediów wybierz klip odpowiadający zdarzeniu, które użytkownicy powinni znajdować, i zachowaj jego oryginalny przedział czasowy wraz z zapisanym rekordem.\n\nUżyteczne zadanie wyszukiwania jasno określa zamierzoną relację. Pytanie wymagające wyjaśnienia, wyszukiwanie wizualnie podobnych elementów i grupowanie według tematu to różne zadania, nawet jeśli korzystają z tej samej kolekcji źródeł. Przygotowuj treść konsekwentnie, zapisuj wersję i liczbę wymiarów oraz zachowuj powiązanie każdego wektora z jego źródłem. Podobieństwo dostarcza kandydatów do sprawdzenia przez aplikację; nie dowodzi, że dwa rekordy stwierdzają ten sam fakt ani że znalezione źródło w pełni odpowiada na pytanie.\n\nW praktycznym wyszukiwaniu mediów reprezentuj wybrany obraz lub fragment wideo i porównuj go z opisem pożądanej treści. Prezentuj pasujące źródło obok jego podpisu lub przedziału czasowego, aby użytkownik mógł je sprawdzić. W przypadku asystenta wiedzy znajdź odpowiednią stronę lub fragment przed wygenerowaniem pisemnej odpowiedzi. Rolą modelu Preview jest multimodalna reprezentacja liczbowa wspierająca te etapy wyboru, a przechowywanie, reguły rankingu i ostateczna odpowiedź pozostają częściami procesu, w którym model jest używany.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "374c593c9ef5045036c3d5f23b622a35313fb81ead1f3a439c0e596f54531ba4",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "pl",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Gemini Embedding 2 Preview</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zamknij\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-embedding-2-preview</code><button type=\"button\" id=\"copy-id\">Kopiuj ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekcje karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Dane wejściowe i metody</button><button type=\"button\" data-card-jump=\"pricing\">Cennik</button><button type=\"button\" data-card-jump=\"examples\">Przykłady</button><button type=\"button\" data-card-jump=\"results\">Wyniki</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|google%2Fgemini-embedding-2-preview\">Reprezentacje wektorowe</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\">Start</h3><p class=\"mdesc-full\">Gemini Embedding 2 Preview zamienia tekst, obrazy, dźwięk, wideo i PDF na wektory liczbowe w jednej przestrzeni multimodalnej. Jego osobno udokumentowany profil wersji Preview obsługuje wyszukiwanie i porównywanie między modalnościami, wejście do 8192 tokenów i elastyczną liczbę wymiarów wektorów.</p><dl class=\"card-io\" data-card-io><div><dt>Akceptowane dane wejściowe</dt><dd>Tekst</dd></div><div><dt>Wyniki</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.</p><div class=\"mabout\" id=\"m-about\"><p>Gemini Embedding 2 Preview to nazwana wersja poglądowa natywnej rodziny multimodalnych osadzeń Google. Odwzorowuje tekst, obrazy, wideo, dźwięk i PDF we wspólnej przestrzeni liczbowej, reprezentując intencję semantyczną w ponad 100 językach. Wynikiem są osadzenia: wektory używane do porównywania i wyszukiwania powiązanych materiałów. Tożsamość tej wersji Preview pozostaje odrębna od stabilnej wersji Gemini Embedding 2 i nie oznacza wymiennych wag ani identycznej przestrzeni wektorowej.</p><p>Pierwotne ogłoszenie opisuje wyszukiwanie między modalnościami, klasyfikację, grupowanie w klastry, analizę sentymentu i generowanie wspomagane wyszukiwaniem jako dalsze zastosowania. Zapytanie tekstowe może odnaleźć powiązany element wizualny, a obraz lub klip także może stanowić punkt wyjścia do wyszukiwania. Aplikacja przechowuje reprezentacje, porównuje je i zwraca odpowiednie rekordy; osobny model językowy może wykorzystać znaleziony materiał źródłowy do napisania odpowiedzi. Samo osadzenie nie zawiera objaśnienia w języku naturalnym ani transkrypcji.</p><p>Własna strona modelu dokumentuje limit wejścia wynoszący 8192 tokeny i liczbę wymiarów wyjścia od 128 do 3072, z zalecanymi rozmiarami 768, 1536 i 3072. Ogłoszenie wersji Preview podaje domyślną wartość 3072 i opisuje Matryoshka Representation Learning, które zachowuje przydatne informacje w krótszych początkowych częściach reprezentacji. Utrzymuj jedną wybraną liczbę wymiarów dla wektorów, które mają być porównywane, i zachowaj wersję modelu wraz z kolekcją, zamiast łączyć reprezentacje tylko dlatego, że mają tę samą długość.</p><p>Ogłoszenie wersji Preview dokumentuje do sześciu obrazów PNG lub JPEG na żądanie, do 120 sekund wideo MP4 lub MOV i dokumenty PDF do sześciu stron. Dokumentuje także bezpośrednie osadzanie dźwięku bez pośredniej transkrypcji tekstowej. Te specyfikacje pochodzą z własnego ogłoszenia wersji Preview, a nie z późniejszego przewodnika po wersji stabilnej. Ogłoszenie nie ustala wszystkich obecnych limitów czasu trwania dźwięku, kodeków ani próbkowania klatek dla tego konkretnego profilu Preview.</p><p>Przeplatane wejście multimodalne pozwala reprezentacji odzwierciedlać relacje między mediami, takimi jak obraz i jego podpis. W katalogu produktów podawaj fotografię i zatwierdzony opis razem, gdy opisują jeden obiekt do wyszukania. W kolekcji dokumentów dziel źródło na fragmenty dotyczące konkretnych zagadnień lub strony i zachowuj jego tytuł oraz położenie. W bibliotece mediów wybierz klip odpowiadający zdarzeniu, które użytkownicy powinni znajdować, i zachowaj jego oryginalny przedział czasowy wraz z zapisanym rekordem.</p><p>Użyteczne zadanie wyszukiwania jasno określa zamierzoną relację. Pytanie wymagające wyjaśnienia, wyszukiwanie wizualnie podobnych elementów i grupowanie według tematu to różne zadania, nawet jeśli korzystają z tej samej kolekcji źródeł. Przygotowuj treść konsekwentnie, zapisuj wersję i liczbę wymiarów oraz zachowuj powiązanie każdego wektora z jego źródłem. Podobieństwo dostarcza kandydatów do sprawdzenia przez aplikację; nie dowodzi, że dwa rekordy stwierdzają ten sam fakt ani że znalezione źródło w pełni odpowiada na pytanie.</p><p>W praktycznym wyszukiwaniu mediów reprezentuj wybrany obraz lub fragment wideo i porównuj go z opisem pożądanej treści. Prezentuj pasujące źródło obok jego podpisu lub przedziału czasowego, aby użytkownik mógł je sprawdzić. W przypadku asystenta wiedzy znajdź odpowiednią stronę lub fragment przed wygenerowaniem pisemnej odpowiedzi. Rolą modelu Preview jest multimodalna reprezentacja liczbowa wspierająca te etapy wyboru, a przechowywanie, reguły rankingu i ostateczna odpowiedź pozostają częściami procesu, w którym model jest używany.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostępne w Ailoot · dane wejściowe i metody</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Reprezentacje wektorowe</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Wejście</dt><dd><code>text</code></dd></div><div><dt>Wyjście</dt><dd><code>embedding</code></dd></div><div><dt>Kontekst</dt><dd>8192 tokens</dd></div><div><dt>Format wyjściowy</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Wymaganie</th><th>Wartości i limity</th><th>Domyślnie</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><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=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Wymagane</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>google/gemini-embedding-2-preview</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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|string[]</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Wymagane</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinacje materiałów wejściowych</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Parametry i cykl życia 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>input_shapes</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>string, string[]</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></tbody></table></div><p>Cykl życia: <code>synchronous_json</code></p><p class=\"note-s\">Zachowaj każdy zwrócony wektor i indeks.</p><p class=\"note-s\">Ten minimalny profil tekstowy nie stanowi podstawy do przyjęcia obsługi obrazów, dźwięku ani obiektów plikowych.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Cennik</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.</p><dl data-price-conditions><dt>Tryb szybki</dt><dd>Nie określono <span class=\"note-s\">Gdy wybrany jest tryb szybki</span></dd><dt>Tryb flex</dt><dd>Nie określono <span class=\"note-s\">Gdy wybrany jest tryb flex</span></dd><dt>Maksymalna intensywność rozumowania</dt><dd>Nie określono <span class=\"note-s\">Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Stawki Ailoot</h4><h4>Ceny według konfiguracji</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguracja</th><th>Tabela stawek</th><th>Opłata</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguracja\" scope=\"row\"><span class=\"card-cell-label\">Konfiguracja</span>Podstawowe stawki za tokeny</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>Stawka podstawowa</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wejście · Tokeny wejściowe</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wyjście · Tokeny wyjściowe</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Odczyt cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Zapis do cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Zapis do cache, 1 godz.</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. <a href=\"/docs/pl/billing/reserve/\">Jak działają rezerwacja i rozliczenie →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Przykładowe żądania</h3><h4>Ailoot Ultra · Reprezentacje wektorowe</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Warianty kodu\"><button class=\"cg-tab\" id=\"model-code-1488-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1488-panel-0\" aria-selected=\"true\" tabindex=\"0\">Kompletna minimalna treść żądania JSON</button><button class=\"cg-tab\" id=\"model-code-1488-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1488-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · minimalne żądanie osadzeń tekstowych</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiuj kod\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1488-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1488-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;google/gemini-embedding-2-preview&quot;,\n  &quot;input&quot;: [\n    &quot;First document&quot;,\n    &quot;Second document&quot;\n  ]\n}</code></pre></div><div class=\"cg-pane\" id=\"model-code-1488-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1488-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; embedding-request.json &lt;&lt;&#39;JSON_REQUEST&#39;\n{\n  &quot;model&quot;: &quot;google/gemini-embedding-2-preview&quot;,\n  &quot;input&quot;: [\n    &quot;First document&quot;,\n    &quot;Second document&quot;\n  ]\n}\nJSON_REQUEST\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 @embedding-request.json -o embedding-response.json\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Odbieranie i zapisywanie wyników</h3><h4>Ailoot Ultra · Reprezentacje wektorowe</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Zachowaj wszystkie ukończone wyniki</h5><p class=\"note-s\">Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.</p><p class=\"note-s\">Zachowaj każdy wektor wraz z jego indeksem. Liczba wektorów musi być równa liczbie elementów wejściowych; wszystkie wektory muszą mieć tę samą liczbę wymiarów.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jeśli trzeba sprawdzić pierwotną odpowiedź</h5><p class=\"note-s\">Nie wprowadzono endpointu zadań generowania osadzeń.</p></div><details class=\"card-about\" data-output-fields><summary>Pola odpowiedzi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Pole</th><th>Typ</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><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>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>finite float[]</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Błędy i dalsze kroki</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odpowiedź</th><th>Warunek</th><th>Następny krok</th></tr></thead><tbody><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Brak modelu lub niepoprawna składnia JSON.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Popraw wskazane pola.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>413 · <code>invalid_request_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Przekroczono skonfigurowany limit rozmiaru treści żądania.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zmniejsz ilość rzeczywistego materiału.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Dane wejściowe lub ustawienia naruszają bieżącą politykę właściwą dla tej funkcji.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Użyj pokazanego minimalnego wejścia tekstowego bez odziedziczonych ustawień.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>503 · <code>billing_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Nie można powiązać dopuszczenia ani wyceny.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj odpowiedź; nie zastępuj polityki inną.</td></tr></tbody></table></div></details></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=google%2Fgemini-embedding-2-preview&amp;route=Ultra&amp;caller=google%2Fgemini-embedding-2-preview&amp;fmt=embeddings\"><code>google/gemini-embedding-2-preview</code></a></span></p><h4>Aliasy ścieżek metod</h4><p class=\"note-s\">Użyj ścieżek metod podanych powyżej.</p><h4>Powiązane ID modeli</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-embedding-2-preview&amp;route=Ultra&amp;caller=google%2Fgemini-embedding-2-preview&amp;fmt=embeddings\"><code>google/gemini-embedding-2-preview</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-embedding-2-preview",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "google/gemini-embedding-2-preview",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|google%2Fgemini-embedding-2-preview",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Brak modelu lub niepoprawna składnia JSON.",
                "http_status": 400,
                "recovery": "Popraw wskazane pola.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Przekroczono skonfigurowany limit rozmiaru treści żądania.",
                "http_status": 413,
                "recovery": "Zmniejsz ilość rzeczywistego materiału.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Dane wejściowe lub ustawienia naruszają bieżącą politykę właściwą dla tej funkcji.",
                "http_status": 422,
                "recovery": "Użyj pokazanego minimalnego wejścia tekstowego bez odziedziczonych ustawień.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Nie można powiązać dopuszczenia ani wyceny.",
                "http_status": 503,
                "recovery": "Zachowaj odpowiedź; nie zastępuj polityki inną.",
                "type": "billing_error"
              }
            ],
            "example_body": {
              "input": [
                "First document",
                "Second document"
              ],
              "model": "google/gemini-embedding-2-preview"
            },
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Nie wprowadzono endpointu zadań generowania osadzeń."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Zachowaj każdy wektor wraz z jego indeksem. Liczba wektorów musi być równa liczbie elementów wejściowych; wszystkie wektory muszą mieć tę samą liczbę wymiarów.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-embedding-2-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              }
            ],
            "profile_binding": "Minimal current Source subset: only model and text input. Optional controls and another model dimensions/token limits are not inherited.",
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "google/gemini-embedding-2-preview"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "input": [
                "First document",
                "Second document"
              ],
              "model": "google/gemini-embedding-2-preview"
            },
            "unsupported": [
              "image/audio/file objects in this minimal text profile",
              "dimensions (current Native43 supports_dimensions:false)",
              "foreign model-specific dimensions or token limits"
            ]
          },
          "hints": [
            "Zachowaj każdy zwrócony wektor i indeks.",
            "Ten minimalny profil tekstowy nie stanowi podstawy do przyjęcia obsługi obrazów, dźwięku ani obiektów plikowych."
          ],
          "input": {
            "content_type": "application/json",
            "input_shapes": [
              "string",
              "string[]"
            ],
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "Keep every vector, index, model and usage field. Current dedicated Source validates count, finite float elements and consistent actual dimensions."
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Podstawowe stawki 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": "{\n  \"model\": \"google/gemini-embedding-2-preview\",\n  \"input\": [\n    \"First document\",\n    \"Second document\"\n  ]\n}",
            "label": "Complete minimal JSON body",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > embedding-request.json <<'JSON_REQUEST'\n{\n  \"model\": \"google/gemini-embedding-2-preview\",\n  \"input\": [\n    \"First document\",\n    \"Second document\"\n  ]\n}\nJSON_REQUEST\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 @embedding-request.json -o embedding-response.json\n",
            "label": "curl · minimal text embeddings",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Reprezentacje wektorowe",
        "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": "google/gemini-embedding-2-preview",
        "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": "google/gemini-embedding-2-preview",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "4939d6efec1f7314c2d7095efba1f8faf812a0f72b6b05e6dd7c813e82e5b7f8",
    "input_html_sha256": "948ad6fae3fa07cbcd52b2910b242ce152888466d925ab35a285333c53f3cca0",
    "private_audit_sha256": "f0f26e4cfb6c001b47a4b282dab0535fff1c009055abf4a54a5012a663b49126",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pl/google-gemini-embedding-2-preview/",
    "description": "Gemini Embedding 2 Preview zamienia tekst, obrazy, dźwięk, wideo i PDF na wektory liczbowe w jednej przestrzeni multimodalnej. Jego osobno udokumentowany profil wersji Preview obsługuje wyszukiwanie i porównywanie między modalnościami, wejście do 8192 tokenów i elastyczną liczbę wymiarów wektorów.",
    "locale": "pl",
    "md_url": "https://ailoot.ai/models/pl/google-gemini-embedding-2-preview/index.md",
    "title": "Google: Gemini Embedding 2 Preview — Ailoot",
    "url": "https://ailoot.ai/models/pl/google-gemini-embedding-2-preview/"
  },
  "rawModel": {
    "about": "Gemini Embedding 2 Preview to nazwana wersja poglądowa natywnej rodziny multimodalnych osadzeń Google. Odwzorowuje tekst, obrazy, wideo, dźwięk i PDF we wspólnej przestrzeni liczbowej, reprezentując intencję semantyczną w ponad 100 językach. Wynikiem są osadzenia: wektory używane do porównywania i wyszukiwania powiązanych materiałów. Tożsamość tej wersji Preview pozostaje odrębna od stabilnej wersji Gemini Embedding 2 i nie oznacza wymiennych wag ani identycznej przestrzeni wektorowej.\n\nPierwotne ogłoszenie opisuje wyszukiwanie między modalnościami, klasyfikację, grupowanie w klastry, analizę sentymentu i generowanie wspomagane wyszukiwaniem jako dalsze zastosowania. Zapytanie tekstowe może odnaleźć powiązany element wizualny, a obraz lub klip także może stanowić punkt wyjścia do wyszukiwania. Aplikacja przechowuje reprezentacje, porównuje je i zwraca odpowiednie rekordy; osobny model językowy może wykorzystać znaleziony materiał źródłowy do napisania odpowiedzi. Samo osadzenie nie zawiera objaśnienia w języku naturalnym ani transkrypcji.\n\nWłasna strona modelu dokumentuje limit wejścia wynoszący 8192 tokeny i liczbę wymiarów wyjścia od 128 do 3072, z zalecanymi rozmiarami 768, 1536 i 3072. Ogłoszenie wersji Preview podaje domyślną wartość 3072 i opisuje Matryoshka Representation Learning, które zachowuje przydatne informacje w krótszych początkowych częściach reprezentacji. Utrzymuj jedną wybraną liczbę wymiarów dla wektorów, które mają być porównywane, i zachowaj wersję modelu wraz z kolekcją, zamiast łączyć reprezentacje tylko dlatego, że mają tę samą długość.\n\nOgłoszenie wersji Preview dokumentuje do sześciu obrazów PNG lub JPEG na żądanie, do 120 sekund wideo MP4 lub MOV i dokumenty PDF do sześciu stron. Dokumentuje także bezpośrednie osadzanie dźwięku bez pośredniej transkrypcji tekstowej. Te specyfikacje pochodzą z własnego ogłoszenia wersji Preview, a nie z późniejszego przewodnika po wersji stabilnej. Ogłoszenie nie ustala wszystkich obecnych limitów czasu trwania dźwięku, kodeków ani próbkowania klatek dla tego konkretnego profilu Preview.\n\nPrzeplatane wejście multimodalne pozwala reprezentacji odzwierciedlać relacje między mediami, takimi jak obraz i jego podpis. W katalogu produktów podawaj fotografię i zatwierdzony opis razem, gdy opisują jeden obiekt do wyszukania. W kolekcji dokumentów dziel źródło na fragmenty dotyczące konkretnych zagadnień lub strony i zachowuj jego tytuł oraz położenie. W bibliotece mediów wybierz klip odpowiadający zdarzeniu, które użytkownicy powinni znajdować, i zachowaj jego oryginalny przedział czasowy wraz z zapisanym rekordem.\n\nUżyteczne zadanie wyszukiwania jasno określa zamierzoną relację. Pytanie wymagające wyjaśnienia, wyszukiwanie wizualnie podobnych elementów i grupowanie według tematu to różne zadania, nawet jeśli korzystają z tej samej kolekcji źródeł. Przygotowuj treść konsekwentnie, zapisuj wersję i liczbę wymiarów oraz zachowuj powiązanie każdego wektora z jego źródłem. Podobieństwo dostarcza kandydatów do sprawdzenia przez aplikację; nie dowodzi, że dwa rekordy stwierdzają ten sam fakt ani że znalezione źródło w pełni odpowiada na pytanie.\n\nW praktycznym wyszukiwaniu mediów reprezentuj wybrany obraz lub fragment wideo i porównuj go z opisem pożądanej treści. Prezentuj pasujące źródło obok jego podpisu lub przedziału czasowego, aby użytkownik mógł je sprawdzić. W przypadku asystenta wiedzy znajdź odpowiednią stronę lub fragment przed wygenerowaniem pisemnej odpowiedzi. Rolą modelu Preview jest multimodalna reprezentacja liczbowa wspierająca te etapy wyboru, a przechowywanie, reguły rankingu i ostateczna odpowiedź pozostają częściami procesu, w którym model jest używany.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 8192,
      "manufacturer_input": [
        "text",
        "image",
        "file",
        "audio",
        "video"
      ],
      "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": "Pełny cennik konfiguracji w szczegółach."
      }
    ],
    "ctx": 8192,
    "formats": [
      "embeddings"
    ],
    "id": "google/gemini-embedding-2-preview",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Brak modelu lub niepoprawna składnia JSON.",
                "http_status": 400,
                "recovery": "Popraw wskazane pola.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Przekroczono skonfigurowany limit rozmiaru treści żądania.",
                "http_status": 413,
                "recovery": "Zmniejsz ilość rzeczywistego materiału.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Dane wejściowe lub ustawienia naruszają bieżącą politykę właściwą dla tej funkcji.",
                "http_status": 422,
                "recovery": "Użyj pokazanego minimalnego wejścia tekstowego bez odziedziczonych ustawień.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Nie można powiązać dopuszczenia ani wyceny.",
                "http_status": 503,
                "recovery": "Zachowaj odpowiedź; nie zastępuj polityki inną.",
                "type": "billing_error"
              }
            ],
            "example_body": {
              "input": [
                "First document",
                "Second document"
              ],
              "model": "google/gemini-embedding-2-preview"
            },
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Nie wprowadzono endpointu zadań generowania osadzeń."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Zachowaj każdy wektor wraz z jego indeksem. Liczba wektorów musi być równa liczbie elementów wejściowych; wszystkie wektory muszą mieć tę samą liczbę wymiarów.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-embedding-2-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              }
            ],
            "profile_binding": "Minimal current Source subset: only model and text input. Optional controls and another model dimensions/token limits are not inherited.",
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "google/gemini-embedding-2-preview"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "input": [
                "First document",
                "Second document"
              ],
              "model": "google/gemini-embedding-2-preview"
            },
            "unsupported": [
              "image/audio/file objects in this minimal text profile",
              "dimensions (current Native43 supports_dimensions:false)",
              "foreign model-specific dimensions or token limits"
            ]
          },
          "hints": [
            "Zachowaj każdy zwrócony wektor i indeks.",
            "Ten minimalny profil tekstowy nie stanowi podstawy do przyjęcia obsługi obrazów, dźwięku ani obiektów plikowych."
          ],
          "input": {
            "content_type": "application/json",
            "input_shapes": [
              "string",
              "string[]"
            ],
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "Keep every vector, index, model and usage field. Current dedicated Source validates count, finite float elements and consistent actual dimensions."
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Podstawowe stawki 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": "{\n  \"model\": \"google/gemini-embedding-2-preview\",\n  \"input\": [\n    \"First document\",\n    \"Second document\"\n  ]\n}",
            "label": "Complete minimal JSON body",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > embedding-request.json <<'JSON_REQUEST'\n{\n  \"model\": \"google/gemini-embedding-2-preview\",\n  \"input\": [\n    \"First document\",\n    \"Second document\"\n  ]\n}\nJSON_REQUEST\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 @embedding-request.json -o embedding-response.json\n",
            "label": "curl · minimal text embeddings",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Reprezentacje wektorowe",
        "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": "google/gemini-embedding-2-preview",
        "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": "google/gemini-embedding-2-preview",
        "request_model_id": "google/gemini-embedding-2-preview",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini Embedding 2 Preview",
    "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": "Gemini Embedding 2 Preview zamienia tekst, obrazy, dźwięk, wideo i PDF na wektory liczbowe w jednej przestrzeni multimodalnej. Jego osobno udokumentowany profil wersji Preview obsługuje wyszukiwanie i porównywanie między modalnościami, wejście do 8192 tokenów i elastyczną liczbę wymiarów wektorów."
  },
  "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": "Gemini Embedding 2 Preview zamienia tekst, obrazy, dźwięk, wideo i PDF na wektory liczbowe w jednej przestrzeni multimodalnej. Jego osobno udokumentowany profil wersji Preview obsługuje wyszukiwanie i porównywanie między modalnościami, wejście do 8192 tokenów i elastyczną liczbę wymiarów wektorów.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "cb61fb759628257dd4a10ef48b56e78b86a32f3ca0966d16cb014c3cedad46a6",
    "renderer_sha256": "1217dcf19a93e99ac1d6fd7bf974dc19adc12fea4bd4470c2601f04e48f688cb"
  },
  "sourceRevision": "84e9240a7541ad87efeaff6af5d9c80a7f92148c3a2a229c19ce059a6f679f1f"
}
