Source: https://ailoot.ai/models/it/gemini-3-5-flash-thinking/
Canonical: https://ailoot.ai/models/it/gemini-3-5-flash-thinking/
Language: it

# Google: Gemini 3.5 Flash

[Markdown](https://ailoot.ai/models/it/gemini-3-5-flash-thinking/index.md) · [JSON](https://ailoot.ai/models/it/gemini-3-5-flash-thinking/facts.json)

## [Google: Gemini 3.5 Flash](https://ailoot.ai/models/it/gemini-3-5-flash-thinking/)

Gemini 3.5 Flash unisce comprensione multimodale e ragionamento per programmazione e compiti agentici con più passaggi. Accetta testo, immagini, video, audio e PDF e produce testo, con output strutturati, strumenti e un limite di input di 1,048,576 token nel suo profilo documentato.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-3.5-flash-thinking`](https://ailoot.ai/models/it/gemini-3-5-flash-thinking/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-3.5-flash-thinking`](https://ailoot.ai/models/it/gemini-3-5-flash-thinking/#method-1)

Informazioni sul modello

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.

Gemini 3.5 Flash è il profilo di modello Flash multimodale di Google per attività prolungate di programmazione e lavoro agentico. Gli input documentati sono testo, immagini, video, audio e PDF, con output testuale. I compiti su cui si concentra comprendono programmazione iterativa, esplorazione di soluzioni alternative e sequenze più lunghe di istruzioni e uso degli strumenti. L'edizione 3.5 offre controlli di thinking documentati, input multimodali e flussi con strumenti.

Un compito di programmazione può unire un requisito scritto, file sorgente pertinenti e uno screenshot del risultato desiderato. Fornisci il comportamento osservato, quello atteso e i vincoli che devono rimanere integri. Un esempio di brief è: «Confronta lo screenshot con il testo del componente, identifica la discrepanza nel flusso del modulo e proponi una correzione mirata. Spiega quali dettagli della fonte giustificano la modifica». Per un compito documentale, fornisci le pagine pertinenti e chiedi un confronto con requisiti espliciti, con riferimenti alle fonti per ciascun rilievo.

L'edizione documenta i livelli di thinking minimal, low, medium e high. Medium è il predefinito, cambiato rispetto al predefinito high di Gemini 3 Flash Preview. Minimal è adatto a risposte semplici e decisioni immediate sugli strumenti, senza garantire che il ragionamento sia completamente disabilitato; low si rivolge a compiti che richiedono meno passaggi; high offre ragionamento più approfondito per problemi difficili di matematica, programmazione e agenti. Google consiglia di usare thinking\_level per controllare l'impegno e di mantenere le impostazioni di campionamento predefinite, anziché tentare di forzare il ragionamento modificando temperature, top-p o top-k.

Un comportamento caratterizzante è la conservazione del contesto di ragionamento tra più turni di un compito. Il flusso Interactions di Google trasporta quel contesto automaticamente; il flusso GenerateContent richiede la cronologia completa e non modificata della conversazione, comprese le thought signatures. Questo supporta la prosecuzione di un incarico di debug o refactoring in cui il ragionamento precedente informa il passaggio successivo. Conserva la struttura effettiva della conversazione invece di convertire ogni richiesta successiva in un prompt indipendente, e mantieni chiaro il risultato finale richiesto durante l'avanzamento del lavoro.

L'insieme degli strumenti documentati comprende Google Search, grounding tramite Google Maps, File Search, Code Execution, URL Context e Function Calling standard, con uso combinato degli strumenti e Computer Use indicati come funzionalità in anteprima. Structured Outputs può fornire un record di dati definito. Assegna alle funzioni uno scopo chiaro e una definizione dei parametri: il modello sceglie una funzione, mentre l'applicazione collegata esegue la sua operazione e ne restituisce il risultato. Google richiede che i risultati delle funzioni corrispondano alle chiamate precedenti per identità, nome e numero; i risultati multimodali vanno inseriti nella risposta della funzione.

La tabella dell'esatto modello API indica un massimo di input di 1,048,576 token e un massimo di output di 65,536 token. Cronologia della conversazione e contenuti multimediali forniti contribuiscono al budget di input. Caching ed elaborazione batch sono documentati per questo profilo, con ulteriori opzioni di elaborazione Flex e Priority nella tabella di Google. Questi limiti e capacità descrivono l'edizione del produttore; non richiedono che una risposta riempia l'intera finestra di output né rendono necessario ogni strumento per un compito.

Questo profilo genera testo, anziché immagini o audio, e non usa Live API. La sua guida per sviluppatori esclude anche la segmentazione delle immagini. Per una domanda visiva, chiedi una descrizione, estrazione o interpretazione del materiale fornito; per una registrazione parlata, chiedi un risultato testuale. Quando la risposta dipende da informazioni più recenti, il flusso documentato di grounding tramite ricerca può aggiungere fonti oltre alle conoscenze di addestramento. Specifica se sono necessarie informazioni esterne e quali prove debba conservare la risposta finale.

Per un incarico lungo utile, definisci il risultato finale e il criterio di completamento prima del primo passaggio. Un compito di analisi per l'assistenza potrebbe richiedere una tabella dei problemi osservati, dei brani a supporto e di una risposta proposta; un compito di programmazione potrebbe richiedere la modifica mirata e il relativo risultato di convalida. Allega il contesto sorgente rilevante, specifica le azioni consentite agli strumenti e richiedi una risposta finale esplicita che distingua il lavoro completato dalle questioni ancora bisognose di informazioni. Questo trasforma il flusso prolungato del modello in un artefatto concreto testuale, di codice o strutturato.

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-3.5-flash-thinking`

[`gemini-3.5-flash-thinking`](https://ailoot.ai/models/it/#m=gemini-3.5-flash-thinking&route=Ultra&caller=gemini-3.5-flash-thinking&fmt=chat)

Google /`gemini-3.5-flash-thinking`

### Introduzione

Gemini 3.5 Flash unisce comprensione multimodale e ragionamento per programmazione e compiti agentici con più passaggi. Accetta testo, immagini, video, audio e PDF e produce testo, con output strutturati, strumenti e un limite di input di 1,048,576 token nel suo profilo documentato.

Input accettati

Testo

Risultati

Testo

### Disponibile in Ailoot · input e metodi

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Tipi di input

`text`

Tipi di output

`text`

Formato di output

json o SSE

| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObbligatorio | Valori e limiti gemini-3.5-flash-thinking | Predefinito— |
| Campo`messages` | Tipo`message[]` | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
| Campo`messages[].role` | Tipo`string` | RequisitoObbligatorio | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`messages[].content` | Tipo`string` | RequisitoFacoltativo | Valori e limiti Si applica quando: Conversazione testuale | Predefinito— |
| Campo`stream` | Tipo`boolean` | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |

Combinazioni di materiali in input

**Testo** · Testo UTF8

`messages[].content`

Parametri e ciclo di vita del metodo

| Parametro | Contratto |
| --- | --- |
| Parametro`content_type` | Contrattoapplication/json |
| Parametro`required` | Contrattomodel, messages |
| Parametro`material_types` | Contrattotext |
| Parametro`messages` | ContrattoArray di messaggi con struttura role/content |
| Parametro`file_material` | ContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto |
| Parametro`optional_controls` | Contrattostream |
| Parametro`control_scope` | ContrattoConversazione testuale; stream è un booleano e per impostazione predefinita vale false. |
| Parametro`output_modalities` | Contrattotext |
| Parametro`hosted_operations` | Contrattofalse |
| Parametro`multimodal_input_binding` | Contrattonull |

Alias del metodo: `/chat/completions`

Ciclo di vita: `synchronous_or_streamed`

Invia l’ID esatto del modello con messages.

La lunghezza del contesto non è un limite di uscita.

Un file di testo può fornire testo letterale; gli ingressi immagine/audio/oggetto file richiedono un’associazione esatta.

### Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida

Non specificato Quando è selezionata la modalità rapida

Modalità flex

Non specificato Quando è selezionata la modalità flex

Sforzo massimo di ragionamento

Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

Tariffe della cache esplicita

Non abilitato Quando viene richiesta una cache esplicita

#### Tariffe Ailoot

#### Prezzi per configurazione

| Configurazione | Listino delle tariffe | Costo |
| --- | --- | --- |
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Costo Input · Token in input **$0.003** / 1K token Output · Token in output **$0.018** / 1K token Input · Lettura dalla cache **$0** / 1K token Input · Scrittura nella cache **$0** / 1K token Input · Scrittura nella cache, 1 ora **—** / 1K token |

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. [Come funzionano la prenotazione e l’addebito finale →](https://ailoot.ai/docs/it/billing/reserve/)

### Esempi di richieste

#### Ailoot Ultra · OpenAI Chat

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"gemini-3.5-flash-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="gemini-3.5-flash-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

### Ricevi e salva i risultati

#### Ailoot Ultra · OpenAI Chat

json o SSE

##### Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva ogni scelta con contenuto, chiamate agli strumenti e ragionamento. In SSE assembla i delta per indice di scelta e strumento e conserva il motivo finale di completamento e i dati di utilizzo.

##### Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta

| Campo | Tipo |
| --- | --- |
| Campo`choices[].index` | Tipointeger |
| Campo`choices[].message.content` | Tipostring\|null |
| Campo`choices[].message.tool_calls` | Tipotool\_call\[\] |
| Campo`choices[].message.reasoning_content` | Tipostring |
| Campo`choices[].message.reasoning_details` | Tipoobject\|array |
| Campo`choices[].finish_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Errori e passaggi successivi

| Risposta | Condizione | Passaggio successivo |
| --- | --- | --- |
| Risposta400 · `invalid_request_error` | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |

### Alias

#### Alias del modello

**Ailoot Ultra** [`gemini-3.5-flash-thinking`](https://ailoot.ai/models/it/#m=gemini-3.5-flash-thinking&route=Ultra&caller=gemini-3.5-flash-thinking&fmt=chat)

#### Alias dei percorsi dei metodi

`/chat/completions`

#### ID di chiamata correlati

[`gemini-3.5-flash-thinking`](https://ailoot.ai/models/it/#m=gemini-3.5-flash-thinking&route=Ultra&caller=gemini-3.5-flash-thinking&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-3.5-flash-thinking`

[`gemini-3.5-flash-thinking`](https://ailoot.ai/models/it/#m=gemini-3.5-flash-thinking&route=Ultra&caller=gemini-3.5-flash-thinking&fmt=messages)

Google /`gemini-3.5-flash-thinking`

### Introduzione

Gemini 3.5 Flash unisce comprensione multimodale e ragionamento per programmazione e compiti agentici con più passaggi. Accetta testo, immagini, video, audio e PDF e produce testo, con output strutturati, strumenti e un limite di input di 1,048,576 token nel suo profilo documentato.

Input accettati

Testo

Risultati

json · sse

### Disponibile in Ailoot · input e metodi

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Tipi di input

`text`

Tipi di output

`json`, `sse`

Formato di output

JSON o SSE

| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObbligatorio | Valori e limiti gemini-3.5-flash-thinking | Predefinito— |
| Campo`messages` | Tipo`message[]` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`messages[].role` | Tipo`string` | RequisitoObbligatorio | Valori e limiti user, assistant | Predefinito— |
| Campo`messages[].content` | Tipo`string` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`max_tokens` | Tipo`integer` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`stream` | Tipo`boolean` | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |

Combinazioni di materiali in input

**Testo** · Testo UTF-8

`Stringa messages[].content`

Parametri e ciclo di vita del metodo

| Parametro | Contratto |
| --- | --- |
| Parametro`content_type` | Contrattoapplication/json |
| Parametro`required` | Contrattomodel, messages, max\_tokens |
| Parametro`optional_controls` | Contrattostream |
| Parametro`material_types` | Contrattotext |
| Parametro`text_file_material` | ContrattoLeggi il documento UTF-8 effettivo e inserisci il testo nell’ingresso indicato o nella stringa del contenuto del messaggio. |

Ciclo di vita: `synchronous_or_streamed`

### Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida

Non specificato Quando è selezionata la modalità rapida

Modalità flex

Non specificato Quando è selezionata la modalità flex

Sforzo massimo di ragionamento

Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

Tariffe della cache esplicita

Non abilitato Quando viene richiesta una cache esplicita

#### Tariffe Ailoot

#### Prezzi per configurazione

| Configurazione | Listino delle tariffe | Costo |
| --- | --- | --- |
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Costo Input · Token in input **$0.003** / 1K token Output · Token in output **$0.018** / 1K token Input · Lettura dalla cache **$0** / 1K token Input · Scrittura nella cache **$0** / 1K token Input · Scrittura nella cache, 1 ora **—** / 1K token |

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. [Come funzionano la prenotazione e l’addebito finale →](https://ailoot.ai/docs/it/billing/reserve/)

### Esempi di richieste

#### Ailoot Ultra · Anthropic Messages

Corpo JSON minimo completocurl · usa il tuo documento UTF-8Python · salva il risultato completo

```json
{
  "model": "gemini-3.5-flash-thinking",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'gemini-3.5-flash-thinking', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'gemini-3.5-flash-thinking', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Ricevi e salva i risultati

#### Ailoot Ultra · Anthropic Messages

JSON o SSE

##### Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva tutti i blocchi di contenuto, le firme di ragionamento e gli ID effettivi di utilizzo degli strumenti. Assembla tutti i delta dei blocchi SSE; il primo blocco di testo non è l’uscita completa.

##### Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta

| Campo | Tipo |
| --- | --- |
| Campo`id` | Tipostring |
| Campo`model` | Tipostring |
| Campo`content[]` | Tipotext\|thinking\|tool\_use\|other content block |
| Campo`stop_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Errori e passaggi successivi

| Risposta | Condizione | Passaggio successivo |
| --- | --- | --- |
| Risposta400 · `invalid_request_error` | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |

### Alias

#### Alias del modello

**Ailoot Ultra** [`gemini-3.5-flash-thinking`](https://ailoot.ai/models/it/#m=gemini-3.5-flash-thinking&route=Ultra&caller=gemini-3.5-flash-thinking&fmt=messages)

#### Alias dei percorsi dei metodi

`/chat/completions`

#### ID di chiamata correlati

[`gemini-3.5-flash-thinking`](https://ailoot.ai/models/it/#m=gemini-3.5-flash-thinking&route=Ultra&caller=gemini-3.5-flash-thinking&fmt=messages)

FAQ · Google: Gemini 3.5 Flash

Quali input e risultati sono disponibili?

`POST /v1/chat/completions` · `gemini-3.5-flash-thinking`: `text` → `text` `POST /v1/messages` · `gemini-3.5-flash-thinking`: `text` → `json`, `sse`

Quali campi usa la richiesta?

`POST /v1/chat/completions` · `gemini-3.5-flash-thinking`: `model`, `messages`, `stream` `POST /v1/messages` · `gemini-3.5-flash-thinking`: `model`, `messages`, `max_tokens`, `stream`

Quali limiti si applicano?

`POST /v1/chat/completions` · `gemini-3.5-flash-thinking`: `messages.min_items`: `1`

Collega Ailoot a Claude Code, OpenCode, Hermes o alla tua applicazione.

## L’azienda e il suo portafoglio di progetti

L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.

## Acquista token con uno sconto.

Sconto con abbonamento per lavoro regolare. Codici fino al 50% sull’acquisto di token.

Abbonamento

Scegli un piano scontato per richieste regolari.

Codice fino al 50%

Inserisci il codice all’acquisto. Il prezzo si aggiorna secondo la promozione.

Spese nella cronologia

Modello, token e importo sono salvati per ogni richiesta.

[Scegli abbonamento](https://ailoot.ai/docs/it/billing/subscriptions/) · [Consulta prezzi dei modelli](https://ailoot.ai/models/it/)

## Collega l’API al prodotto che vendi.

SaaS, app e bot secondo offerta e accordo di licenza Ailoot. Per rivendere, richiedi una licenza reseller.

Applicazione commerciale

Integra generazione di testo, immagini, video e suono nelle funzioni a pagamento.

Licenza reseller

Invia descrizione del progetto e schema di accesso. Richiedi condizioni scritte per uso e rivendita.

Documenti sul sito

Offerta, accordo di licenza e politica sui dati sono disponibili prima della connessione.

[Richiedi licenza reseller](mailto:support@ailoot.ai) · [Offerta e accordo di licenza](https://ailoot.ai/legal/offer?lang=it)

## Ailoot · L’azienda e il suo portafoglio di progetti





Ailoot si basa su un’esperienza operativa consolidata, un’ampia base di clienti, un servizio stabile e un controllo costante dei KPI.





L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.





Ailoot mette questa esperienza operativa al servizio dell’accesso API alle funzioni AI nei prodotti dei clienti, negli agenti, nelle applicazioni e nelle automazioni.
