{
  "aboutHtml": "<p>Gemini Embedding 2 Preview è l’edizione di anteprima denominata da Google della sua famiglia nativa di embedding multimodale. Trasforma testo, immagini, video, audio e PDF in uno spazio numerico condiviso, con intento semantico rappresentato in oltre 100 lingue. L’output consiste in embedding: vettori usati per confrontare e recuperare materiale correlato. Questa identità di anteprima rimane separata dall’edizione stabile Gemini Embedding 2 e non implica pesi intercambiabili o uno spazio vettoriale identico.</p><p>L’annuncio originale descrive ricerca tra modalità, classificazione, clustering, analisi del sentiment e generazione aumentata dal recupero come applicazioni a valle. Una query testuale può trovare un elemento visivo correlato, mentre un’immagine o una clip possono anche fungere da fonte per la ricerca. Un’applicazione memorizza le rappresentazioni, le confronta e restituisce i record corrispondenti; un modello linguistico separato può usare il materiale di origine recuperato per redigere una risposta. L’embedding stesso non contiene una spiegazione in linguaggio naturale o una trascrizione.</p><p>La sua pagina specifica del modello documenta un limite di input di 8192 token e dimensioni di output da 128 a 3072, con 768, 1536 e 3072 come dimensioni raccomandate. L’annuncio dell’anteprima indica un valore predefinito di 3072 e descrive Matryoshka Representation Learning, che mantiene informazioni utili in prefissi più corti della rappresentazione. Mantieni una dimensione scelta per i vettori da confrontare e conserva l’edizione del modello insieme alla raccolta, anziché unire rappresentazioni soltanto perché le loro lunghezze coincidono.</p><p>L’annuncio dell’anteprima documenta fino a sei immagini PNG o JPEG per richiesta, fino a 120 secondi di video MP4 o MOV e documenti PDF fino a sei pagine. Documenta inoltre embedding diretto dell’audio senza una trascrizione testuale intermedia. Queste specifiche provengono dall’annuncio dell’anteprima stessa, non dalla guida stabile successiva. L’annuncio non stabilisce tutti gli attuali limiti di durata audio, codec o campionamento dei fotogrammi per questo esatto profilo di anteprima.</p><p>L’input multimodale intercalato permette alla rappresentazione di riflettere relazioni tra i media, come un’immagine e la sua didascalia. Per un catalogo di prodotti, fornisci insieme fotografia e descrizione approvata quando descrivono un unico oggetto recuperabile. Per una raccolta documentale, suddividi la fonte in passaggi o pagine mirati e preserva titolo e posizione. Per una libreria multimediale, seleziona una clip corrispondente all’evento che gli utenti devono trovare e mantieni l’intervallo temporale originale insieme al record memorizzato.</p><p>Un’attività di recupero utile rende chiaro il rapporto desiderato. Una domanda che cerca una spiegazione, una ricerca di elementi visivamente simili e il clustering per argomento sono attività differenti anche quando usano la stessa raccolta di fonti. Prepara il contenuto in modo coerente, registra edizione e dimensione e mantieni ogni vettore collegato alla propria fonte. La similarità fornisce candidati da esaminare all’applicazione; non è prova che due record affermino lo stesso fatto o che una fonte recuperata risponda completamente a una domanda.</p><p>Per una ricerca multimediale concreta, rappresenta l’immagine o l’estratto video scelto e confrontalo con la descrizione del contenuto desiderato. Presenta la fonte corrispondente insieme alla didascalia o all’intervallo temporale, affinché un utente possa verificarla. Per un assistente di conoscenze, recupera la pagina o il passaggio pertinente prima di generare la risposta scritta. Il ruolo del modello Preview è la rappresentazione numerica multimodale che supporta queste fasi di selezione, mentre memorizzazione, regole di ordinamento e risposta finale rimangono parti del flusso circostante.</p>",
  "aboutText": "Gemini Embedding 2 Preview è l’edizione di anteprima denominata da Google della sua famiglia nativa di embedding multimodale. Trasforma testo, immagini, video, audio e PDF in uno spazio numerico condiviso, con intento semantico rappresentato in oltre 100 lingue. L’output consiste in embedding: vettori usati per confrontare e recuperare materiale correlato. Questa identità di anteprima rimane separata dall’edizione stabile Gemini Embedding 2 e non implica pesi intercambiabili o uno spazio vettoriale identico.\n\nL’annuncio originale descrive ricerca tra modalità, classificazione, clustering, analisi del sentiment e generazione aumentata dal recupero come applicazioni a valle. Una query testuale può trovare un elemento visivo correlato, mentre un’immagine o una clip possono anche fungere da fonte per la ricerca. Un’applicazione memorizza le rappresentazioni, le confronta e restituisce i record corrispondenti; un modello linguistico separato può usare il materiale di origine recuperato per redigere una risposta. L’embedding stesso non contiene una spiegazione in linguaggio naturale o una trascrizione.\n\nLa sua pagina specifica del modello documenta un limite di input di 8192 token e dimensioni di output da 128 a 3072, con 768, 1536 e 3072 come dimensioni raccomandate. L’annuncio dell’anteprima indica un valore predefinito di 3072 e descrive Matryoshka Representation Learning, che mantiene informazioni utili in prefissi più corti della rappresentazione. Mantieni una dimensione scelta per i vettori da confrontare e conserva l’edizione del modello insieme alla raccolta, anziché unire rappresentazioni soltanto perché le loro lunghezze coincidono.\n\nL’annuncio dell’anteprima documenta fino a sei immagini PNG o JPEG per richiesta, fino a 120 secondi di video MP4 o MOV e documenti PDF fino a sei pagine. Documenta inoltre embedding diretto dell’audio senza una trascrizione testuale intermedia. Queste specifiche provengono dall’annuncio dell’anteprima stessa, non dalla guida stabile successiva. L’annuncio non stabilisce tutti gli attuali limiti di durata audio, codec o campionamento dei fotogrammi per questo esatto profilo di anteprima.\n\nL’input multimodale intercalato permette alla rappresentazione di riflettere relazioni tra i media, come un’immagine e la sua didascalia. Per un catalogo di prodotti, fornisci insieme fotografia e descrizione approvata quando descrivono un unico oggetto recuperabile. Per una raccolta documentale, suddividi la fonte in passaggi o pagine mirati e preserva titolo e posizione. Per una libreria multimediale, seleziona una clip corrispondente all’evento che gli utenti devono trovare e mantieni l’intervallo temporale originale insieme al record memorizzato.\n\nUn’attività di recupero utile rende chiaro il rapporto desiderato. Una domanda che cerca una spiegazione, una ricerca di elementi visivamente simili e il clustering per argomento sono attività differenti anche quando usano la stessa raccolta di fonti. Prepara il contenuto in modo coerente, registra edizione e dimensione e mantieni ogni vettore collegato alla propria fonte. La similarità fornisce candidati da esaminare all’applicazione; non è prova che due record affermino lo stesso fatto o che una fonte recuperata risponda completamente a una domanda.\n\nPer una ricerca multimediale concreta, rappresenta l’immagine o l’estratto video scelto e confrontalo con la descrizione del contenuto desiderato. Presenta la fonte corrispondente insieme alla didascalia o all’intervallo temporale, affinché un utente possa verificarla. Per un assistente di conoscenze, recupera la pagina o il passaggio pertinente prima di generare la risposta scritta. Il ruolo del modello Preview è la rappresentazione numerica multimodale che supporta queste fasi di selezione, mentre memorizzazione, regole di ordinamento e risposta finale rimangono parti del flusso circostante.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "2a55ef00ef2f10ddcade8f2960159dd9aa8139967a99963d4ffcea7bfe065fe4",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "it",
  "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=\"Chiudi\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-embedding-2-preview</code><button type=\"button\" id=\"copy-id\">Copia ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sezioni della scheda del modello\"><button type=\"button\" data-card-jump=\"overview\">Introduzione</button><button type=\"button\" data-card-jump=\"methods\">Input e metodi</button><button type=\"button\" data-card-jump=\"pricing\">Tariffe</button><button type=\"button\" data-card-jump=\"examples\">Esempi</button><button type=\"button\" data-card-jump=\"results\">Risultati</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metodi 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\">Embedding</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\">Introduzione</h3><p class=\"mdesc-full\">Gemini Embedding 2 Preview converte testo, immagini, audio, video e PDF in vettori numerici in un unico spazio multimodale. Il suo profilo di anteprima documentato separatamente supporta recupero e confronto tra modalità, un input di 8192 token e dimensioni vettoriali flessibili.</p><dl class=\"card-io\" data-card-io><div><dt>Input accettati</dt><dd>Testo</dd></div><div><dt>Risultati</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Informazioni sul modello</summary><p class=\"note-s\" data-model-method-boundary>Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.</p><div class=\"mabout\" id=\"m-about\"><p>Gemini Embedding 2 Preview è l’edizione di anteprima denominata da Google della sua famiglia nativa di embedding multimodale. Trasforma testo, immagini, video, audio e PDF in uno spazio numerico condiviso, con intento semantico rappresentato in oltre 100 lingue. L’output consiste in embedding: vettori usati per confrontare e recuperare materiale correlato. Questa identità di anteprima rimane separata dall’edizione stabile Gemini Embedding 2 e non implica pesi intercambiabili o uno spazio vettoriale identico.</p><p>L’annuncio originale descrive ricerca tra modalità, classificazione, clustering, analisi del sentiment e generazione aumentata dal recupero come applicazioni a valle. Una query testuale può trovare un elemento visivo correlato, mentre un’immagine o una clip possono anche fungere da fonte per la ricerca. Un’applicazione memorizza le rappresentazioni, le confronta e restituisce i record corrispondenti; un modello linguistico separato può usare il materiale di origine recuperato per redigere una risposta. L’embedding stesso non contiene una spiegazione in linguaggio naturale o una trascrizione.</p><p>La sua pagina specifica del modello documenta un limite di input di 8192 token e dimensioni di output da 128 a 3072, con 768, 1536 e 3072 come dimensioni raccomandate. L’annuncio dell’anteprima indica un valore predefinito di 3072 e descrive Matryoshka Representation Learning, che mantiene informazioni utili in prefissi più corti della rappresentazione. Mantieni una dimensione scelta per i vettori da confrontare e conserva l’edizione del modello insieme alla raccolta, anziché unire rappresentazioni soltanto perché le loro lunghezze coincidono.</p><p>L’annuncio dell’anteprima documenta fino a sei immagini PNG o JPEG per richiesta, fino a 120 secondi di video MP4 o MOV e documenti PDF fino a sei pagine. Documenta inoltre embedding diretto dell’audio senza una trascrizione testuale intermedia. Queste specifiche provengono dall’annuncio dell’anteprima stessa, non dalla guida stabile successiva. L’annuncio non stabilisce tutti gli attuali limiti di durata audio, codec o campionamento dei fotogrammi per questo esatto profilo di anteprima.</p><p>L’input multimodale intercalato permette alla rappresentazione di riflettere relazioni tra i media, come un’immagine e la sua didascalia. Per un catalogo di prodotti, fornisci insieme fotografia e descrizione approvata quando descrivono un unico oggetto recuperabile. Per una raccolta documentale, suddividi la fonte in passaggi o pagine mirati e preserva titolo e posizione. Per una libreria multimediale, seleziona una clip corrispondente all’evento che gli utenti devono trovare e mantieni l’intervallo temporale originale insieme al record memorizzato.</p><p>Un’attività di recupero utile rende chiaro il rapporto desiderato. Una domanda che cerca una spiegazione, una ricerca di elementi visivamente simili e il clustering per argomento sono attività differenti anche quando usano la stessa raccolta di fonti. Prepara il contenuto in modo coerente, registra edizione e dimensione e mantieni ogni vettore collegato alla propria fonte. La similarità fornisce candidati da esaminare all’applicazione; non è prova che due record affermino lo stesso fatto o che una fonte recuperata risponda completamente a una domanda.</p><p>Per una ricerca multimediale concreta, rappresenta l’immagine o l’estratto video scelto e confrontalo con la descrizione del contenuto desiderato. Presenta la fonte corrispondente insieme alla didascalia o all’intervallo temporale, affinché un utente possa verificarla. Per un assistente di conoscenze, recupera la pagina o il passaggio pertinente prima di generare la risposta scritta. Il ruolo del modello Preview è la rappresentazione numerica multimodale che supporta queste fasi di selezione, mentre memorizzazione, regole di ordinamento e risposta finale rimangono parti del flusso circostante.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponibile in Ailoot · input e metodi</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Embedding</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Tipi di input</dt><dd><code>text</code></dd></div><div><dt>Tipi di output</dt><dd><code>embedding</code></dd></div><div><dt>Contesto</dt><dd>8192 tokens</dd></div><div><dt>Formato di output</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Campo</th><th>Tipo</th><th>Requisito</th><th>Valori e limiti</th><th>Predefinito</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obbligatorio</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>google/gemini-embedding-2-preview</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string|string[]</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obbligatorio</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinazioni di materiali in input</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Parametri e ciclo di vita del metodo</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametro</th><th>Contratto</th></tr></thead><tbody><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>content_type</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>application/json</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>required</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>model, input</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>input_shapes</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>string, string[]</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>material_types</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>text</td></tr></tbody></table></div><p>Ciclo di vita: <code>synchronous_json</code></p><p class=\"note-s\">Conserva ogni vettore e indice restituito.</p><p class=\"note-s\">Da questo profilo testuale minimo non si deduce il supporto per immagini, audio od oggetti file.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tariffe</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.</p><dl data-price-conditions><dt>Modalità rapida</dt><dd>Non specificato <span class=\"note-s\">Quando è selezionata la modalità rapida</span></dd><dt>Modalità flex</dt><dd>Non specificato <span class=\"note-s\">Quando è selezionata la modalità flex</span></dd><dt>Sforzo massimo di ragionamento</dt><dd>Non specificato <span class=\"note-s\">Quando lo sforzo massimo di ragionamento usa l&#39;adeguamento predefinito (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tariffe Ailoot</h4><h4>Prezzi per configurazione</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configurazione</th><th>Listino delle tariffe</th><th>Costo</th></tr></thead><tbody><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>Tariffe di base dei token</th><td data-cell-label=\"Listino delle tariffe\"><span class=\"card-cell-label\">Listino delle tariffe</span>Tariffa base</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Input · Token in input</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Output · Token in output</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Lettura dalla cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Scrittura nella cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Scrittura nella cache, 1 ora</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. <a href=\"/docs/it/billing/reserve/\">Come funzionano la prenotazione e l’addebito finale →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esempi di richieste</h3><h4>Ailoot Ultra · Embedding</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianti di codice\"><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\">Corpo JSON minimo completo</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 · richiesta minima per embedding di testo</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copia il codice\"><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\">Ricevi e salva i risultati</h3><h4>Ailoot Ultra · Embedding</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Conserva tutti i risultati completati</h5><p class=\"note-s\">Conserva ogni risposta, file e parte di contenuto restituiti per intero.</p><p class=\"note-s\">Conserva ogni vettore con il suo indice. Il numero di vettori deve coincidere con il numero di input; le dimensioni devono essere coerenti.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Se occorre verificare la risposta originale</h5><p class=\"note-s\">Non viene introdotto alcun endpoint per i job di embedding.</p></div><details class=\"card-about\" data-output-fields><summary>Campi della risposta</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Campo</th><th>Tipo</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>finite float[]</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Errori e passaggi successivi</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Risposta</th><th>Condizione</th><th>Passaggio successivo</th></tr></thead><tbody><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Modello mancante o JSON malformato.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Correggi i campi indicati.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>413 · <code>invalid_request_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Superato il limite configurato per il corpo della richiesta.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Riduci il materiale effettivo.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>L&#39;input o i controlli violano i criteri specifici attualmente in vigore.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Usa l&#39;input testuale minimo mostrato senza controlli ereditati.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>503 · <code>billing_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Non è possibile associare l&#39;autorizzazione all&#39;utilizzo o il preventivo.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Conserva la risposta; non sostituire i criteri applicabili.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modello</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>Alias dei percorsi dei metodi</h4><p class=\"note-s\">Usa i percorsi dei metodi indicati sopra.</p><h4>ID di chiamata correlati</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": "Modello mancante o JSON malformato.",
                "http_status": 400,
                "recovery": "Correggi i campi indicati.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Superato il limite configurato per il corpo della richiesta.",
                "http_status": 413,
                "recovery": "Riduci il materiale effettivo.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "L'input o i controlli violano i criteri specifici attualmente in vigore.",
                "http_status": 422,
                "recovery": "Usa l'input testuale minimo mostrato senza controlli ereditati.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Non è possibile associare l'autorizzazione all'utilizzo o il preventivo.",
                "http_status": 503,
                "recovery": "Conserva la risposta; non sostituire i criteri applicabili.",
                "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": "Non viene introdotto alcun endpoint per i job di embedding."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Conserva ogni vettore con il suo indice. Il numero di vettori deve coincidere con il numero di input; le dimensioni devono essere coerenti.",
              "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": [
            "Conserva ogni vettore e indice restituito.",
            "Da questo profilo testuale minimo non si deduce il supporto per immagini, audio od oggetti file."
          ],
          "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": "Tariffe di base dei token",
            "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": "Embedding",
        "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": "638450bcec9c2b796dea36e149dd02e6cbe8bfdc298b9a0e04e3d6d3442c7b75",
    "input_html_sha256": "6a6cbaef13b7b0dfa65c04c02d370dd5dac6ec9845f64e8426183a33b13e26dd",
    "private_audit_sha256": "a9d3b3c0377d50cc0e1fcbee353efd9264ddd02eafca95c85c2a46fc2447a769",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/it/google-gemini-embedding-2-preview/",
    "description": "Gemini Embedding 2 Preview converte testo, immagini, audio, video e PDF in vettori numerici in un unico spazio multimodale. Il suo profilo di anteprima documentato separatamente supporta recupero e confronto tra modalità, un input di 8192 token e dimensioni vettoriali flessibili.",
    "locale": "it",
    "md_url": "https://ailoot.ai/models/it/google-gemini-embedding-2-preview/index.md",
    "title": "Google: Gemini Embedding 2 Preview — Ailoot",
    "url": "https://ailoot.ai/models/it/google-gemini-embedding-2-preview/"
  },
  "rawModel": {
    "about": "Gemini Embedding 2 Preview è l’edizione di anteprima denominata da Google della sua famiglia nativa di embedding multimodale. Trasforma testo, immagini, video, audio e PDF in uno spazio numerico condiviso, con intento semantico rappresentato in oltre 100 lingue. L’output consiste in embedding: vettori usati per confrontare e recuperare materiale correlato. Questa identità di anteprima rimane separata dall’edizione stabile Gemini Embedding 2 e non implica pesi intercambiabili o uno spazio vettoriale identico.\n\nL’annuncio originale descrive ricerca tra modalità, classificazione, clustering, analisi del sentiment e generazione aumentata dal recupero come applicazioni a valle. Una query testuale può trovare un elemento visivo correlato, mentre un’immagine o una clip possono anche fungere da fonte per la ricerca. Un’applicazione memorizza le rappresentazioni, le confronta e restituisce i record corrispondenti; un modello linguistico separato può usare il materiale di origine recuperato per redigere una risposta. L’embedding stesso non contiene una spiegazione in linguaggio naturale o una trascrizione.\n\nLa sua pagina specifica del modello documenta un limite di input di 8192 token e dimensioni di output da 128 a 3072, con 768, 1536 e 3072 come dimensioni raccomandate. L’annuncio dell’anteprima indica un valore predefinito di 3072 e descrive Matryoshka Representation Learning, che mantiene informazioni utili in prefissi più corti della rappresentazione. Mantieni una dimensione scelta per i vettori da confrontare e conserva l’edizione del modello insieme alla raccolta, anziché unire rappresentazioni soltanto perché le loro lunghezze coincidono.\n\nL’annuncio dell’anteprima documenta fino a sei immagini PNG o JPEG per richiesta, fino a 120 secondi di video MP4 o MOV e documenti PDF fino a sei pagine. Documenta inoltre embedding diretto dell’audio senza una trascrizione testuale intermedia. Queste specifiche provengono dall’annuncio dell’anteprima stessa, non dalla guida stabile successiva. L’annuncio non stabilisce tutti gli attuali limiti di durata audio, codec o campionamento dei fotogrammi per questo esatto profilo di anteprima.\n\nL’input multimodale intercalato permette alla rappresentazione di riflettere relazioni tra i media, come un’immagine e la sua didascalia. Per un catalogo di prodotti, fornisci insieme fotografia e descrizione approvata quando descrivono un unico oggetto recuperabile. Per una raccolta documentale, suddividi la fonte in passaggi o pagine mirati e preserva titolo e posizione. Per una libreria multimediale, seleziona una clip corrispondente all’evento che gli utenti devono trovare e mantieni l’intervallo temporale originale insieme al record memorizzato.\n\nUn’attività di recupero utile rende chiaro il rapporto desiderato. Una domanda che cerca una spiegazione, una ricerca di elementi visivamente simili e il clustering per argomento sono attività differenti anche quando usano la stessa raccolta di fonti. Prepara il contenuto in modo coerente, registra edizione e dimensione e mantieni ogni vettore collegato alla propria fonte. La similarità fornisce candidati da esaminare all’applicazione; non è prova che due record affermino lo stesso fatto o che una fonte recuperata risponda completamente a una domanda.\n\nPer una ricerca multimediale concreta, rappresenta l’immagine o l’estratto video scelto e confrontalo con la descrizione del contenuto desiderato. Presenta la fonte corrispondente insieme alla didascalia o all’intervallo temporale, affinché un utente possa verificarla. Per un assistente di conoscenze, recupera la pagina o il passaggio pertinente prima di generare la risposta scritta. Il ruolo del modello Preview è la rappresentazione numerica multimodale che supporta queste fasi di selezione, mentre memorizzazione, regole di ordinamento e risposta finale rimangono parti del flusso circostante.",
    "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": "Tutte le tariffe della configurazione sono riportate nei dettagli."
      }
    ],
    "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": "Modello mancante o JSON malformato.",
                "http_status": 400,
                "recovery": "Correggi i campi indicati.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Superato il limite configurato per il corpo della richiesta.",
                "http_status": 413,
                "recovery": "Riduci il materiale effettivo.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "L'input o i controlli violano i criteri specifici attualmente in vigore.",
                "http_status": 422,
                "recovery": "Usa l'input testuale minimo mostrato senza controlli ereditati.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Non è possibile associare l'autorizzazione all'utilizzo o il preventivo.",
                "http_status": 503,
                "recovery": "Conserva la risposta; non sostituire i criteri applicabili.",
                "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": "Non viene introdotto alcun endpoint per i job di embedding."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Conserva ogni vettore con il suo indice. Il numero di vettori deve coincidere con il numero di input; le dimensioni devono essere coerenti.",
              "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": [
            "Conserva ogni vettore e indice restituito.",
            "Da questo profilo testuale minimo non si deduce il supporto per immagini, audio od oggetti file."
          ],
          "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": "Tariffe di base dei token",
            "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": "Embedding",
        "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 converte testo, immagini, audio, video e PDF in vettori numerici in un unico spazio multimodale. Il suo profilo di anteprima documentato separatamente supporta recupero e confronto tra modalità, un input di 8192 token e dimensioni vettoriali flessibili."
  },
  "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 converte testo, immagini, audio, video e PDF in vettori numerici in un unico spazio multimodale. Il suo profilo di anteprima documentato separatamente supporta recupero e confronto tra modalità, un input di 8192 token e dimensioni vettoriali flessibili.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "2ac6896664cdf07b23d67c1f3ddb3564208ea42515976e1e5e1b89ef8d85e4a0",
    "renderer_sha256": "3be1a96012c3c76b38a7b9bea6a57c0def38c56103737bee6a5e77aaa75e488a"
  },
  "sourceRevision": "42497845493b667d8a759dc7f02ca386de15677a2223269e7290a50968263aba"
}
