Source: https://ailoot.ai/models/fi/gemini-3-pro-preview/
Canonical: https://ailoot.ai/models/fi/gemini-3-pro-preview/
Language: fi

# gemini-3-pro-preview

[Markdown](https://ailoot.ai/models/fi/gemini-3-pro-preview/index.md) · [JSON](https://ailoot.ai/models/fi/gemini-3-pro-preview/facts.json)

## [gemini-3-pro-preview](https://ailoot.ai/models/fi/gemini-3-pro-preview/)

Gemini 3 Pro Preview on Googlen multimodaalinen päättelymalli tekstin, kuvien, äänen, videon ja PDF-tiedostojen käsittelyyn; tulos on tekstiä. Sen suuri syötekapasiteetti, ohjelmointikyvyt ja tuetut työkalutyönkulut sopivat yksityiskohtaiseen analyysiin, asiakirjojen vertailuun ja näyttöön perustuvaan tehtävien suorittamiseen.

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

Tietoa mallista

Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.

Gemini 3 Pro Preview on Googlen nimetty Gemini 3 Pro -esikatseluversio multimodaaliseen päättelyyn ja tekstintuotantoon. Se voi käsitellä tekstiä, kuvia, ääntä, videota ja PDF-asiakirjoja sekä palauttaa kirjallisen tuloksen. Käyttötarkoituksiin kuuluvat monimutkainen analyysi, vaativa ohjelmointi, algoritmien kehitys ja tehtävät, jotka yhdistävät laajan lähdeaineiston tiettyyn kysymykseen.

#### Malli ja syötteen rakenne

Gemini 3 Pro on transformer-pohjainen harva asiantuntijasekoitusmalli, joka tukee natiivisti multimodaalisia syötteitä. Sen arkkitehtuuri reitittää jokaisen tokenin valitun asiantuntijaosajoukon kautta. Kyse on mallin rakenteellisesta ominaisuudesta, ei käyttäjän säätimestä tietyn asiantuntijan valintaan tai palvelukokoonpanon lukitsemiseen.

Valmistele syötteet tehtävän tietotarpeen ympärille. Asiakirja, kuvakaappaus ja äänitallenne voivat kukin tarjota erilaista näyttöä. Kerro, mitä kukin aineisto sisältää ja miten sen tulee tukea vastausta. Tuloste pysyy tekstinä; kuvallisen tai puhutun aineiston ymmärtäminen ei tee tästä esikatseluversiosta kuvan-, puheen- tai videogeneraattoria.

#### Multimodaalinen analyysi

Käytä kuvia näkyvää sisältöä koskeviin kysymyksiin, ääntä puhuttuun tai akustiseen tietoon ja videota tapahtumasarjaan, jonka muutokset ajan mittaan ovat olennaisia. Liitä varsinainen aineisto kysymykseen sen sijaan, että kuvailisit sitä vain muistista. Kun vertailet useita aineistoja, nimeä ne selkeästi, jotta vastaus voi viitata oikeaan lähteeseen.

Tuoteanalyysin toimeksianto voi esimerkiksi yhdistää kirjallisen määrittelyn, käyttöliittymän kuvakaappauksen ja tallennetun esittelyn. Pyydä vertailua, joka erottaa määrittelyn lupaukset toimitetussa aineistossa näkyvästä tai kuuluvasta. Määritä toivotuksi tulokseksi havainnot, niitä tukevat huomiot ja avoimet kysymykset.

Toimita PDF-tehtävässä asiakirja ja yksilöi tutkittavat osiot tai väitteet. Hyödyllinen kysymys pyytää lähteeseen sidottua vertailua, poimintaa tai selitystä pelkän suuren tiedoston yleistiivistelmän sijaan.

#### Pitkä konteksti ja tulosteen enimmäismäärä

Tämän esikatseluversion tarkka määrittely ilmoittaa syöterajaksi 1 048 576 tokenia ja tulosterajaksi 65 536 tokenia. Valmistaja ilmoittaa tietojen katkaisukohdaksi tammikuun 2025; toimita tuoreempaa näyttöä, kun kysymys riippuu myöhemmistä tapahtumista tai tiedoista. Nämä ovat erilliset rajat. Laajaa lähdeaineistoa voi lukea kohdennettua vastausta varten ilman vaatimusta toistaa jokaista syötteen osaa.

Järjestä pitkä aineisto rakenteeltaan selkeäksi: asiakirjojen otsikot, osiorajat, koodipolut ja kysymys, johon tulosteen pitää vastata. Pidä olennaiset poikkeukset ja määritelmät lähellä sisältöä, jota ne rajaavat. Jos tehtävä tarvitsee pitkän raportin, määritä raportin osiot ja kussakin odotettu näyttö.

Suuri konteksti-ikkuna ei takaa, että jokaiseen yksityiskohtaan kiinnitetään yhtä paljon huomiota tai että jokainen päätelmä on oikea. Google tunnistaa myös mahdollisen laadun heikkenemisen monivuoroisissa keskusteluissa; tarkista tärkeät lähdetiedot ja uudelleen käytetty konteksti keskustelun edetessä. Vertaa vastausta niihin kohtiin tai aineistoihin, jotka tukevat sen keskeisiä väitteitä.

#### Ohjelmointi ja algoritmien kehitys

Valmistajan käyttötarkoituksiin kuuluvat vaativa ohjelmointi ja algoritmityö. Toimita olennainen lähdekoodi, ympäristöoletukset, havaittu virhe ja odotettu toiminta. Määritä algoritmitehtävässä syöte, tavoiteltu tulos ja ehdot kuten järjestys, kaksoiskappaleet tai virheellinen data.

Hyödyllinen virheenjäljitystoimeksianto yhdistää virheellisen syötteen ja virheen pienimpään olennaiseen lähdekoodialueeseen. Pyydä diagnoosi ja kohdennettu muutos, ja tutki sitten, korjaako ehdotettu muutos raportoidun toiminnan. Generoitu koodi ja väite sen toimivuudesta eroavat toteutuksesta, joka on ajettu ja tarkistettu.

Laajemmassa koodivarastokysymyksessä käytä syötekapasiteettia tarvittavien tiedostojen toimittamiseen selkein polkumerkinnöin. Kerro, onko tavoiteltu tuotettava aineisto selitys, muutosehdotus vai vaihtoehtojen analyysi, jotta tuloksella on konkreettinen tarkoitus.

#### Työkalut, lähteet ja rakenteiset tulokset

Esikatseluversion valmistajamäärittely tukee funktiokutsuja, koodin suorittamista, tiedostohakua, hakutuloksiin ankkurointia ja URL-kontekstia. Näillä on eri tehtävät. Funktiokutsu kuvaa sovelluksen suoritettavan operaation; työkalun tulos tarjoaa näyttöä seuraavalle mallivaiheelle. Koodin suorittaminen on työkalutyönkulku, ei takuu siitä, että mikä tahansa generoitu sovelluskoodi olisi jo testattu.

Hakutuloksiin ankkurointi ja URL-konteksti tarjoavat lähdepainotteisia työnkulkuja, kun taas tiedostohaku käyttää valmisteltua tiedostokokoelmaa. Säilytä työkalutulokset ja lähdeyhteydet vastauksen mukana, jotta päätelmää voi tarkastella. Määrittelyn mukaan tämä malliversio ei tue tietokoneen käyttöä eikä Maps-ankkurointia.

Rakenteisen tulosteen tuki voi ilmaista tuloksen määritellyn skeeman mukaan. Määritä kentät ja niiden merkitys ennen generointia ja tarkista sekä sisältö että muoto. Kelvollinen rakenteinen objekti tarvitsee edelleen tosiasioiden ja tehtäväkohtaisen sisällön tarkistuksen.

#### Päättely, uudelleenkäyttö ja versiorajat

Tämä esikatseluversio tukee ajattelua. Käytä selkeää tehtävää, olennaista näyttöä ja nimenomaisia ehtoja työssä, joka vaatii useita päättelyvaiheita. Tuloksen tulee selittää oletukset ja hyödyllinen päätelmä; piilotettu päättely tai ajattelutilan olemassaolo ei itsessään ole varmennus.

Valmistaja luettelee myös välimuistin ja eräkäsittelyn tuen. Nämä ovat mallin sisältökyvyistä erillisiä käsittelyominaisuuksia, eikä niiden olemassaolo osoita tietyn pyynnön käyttäneen välimuistia tai erätuloksen olevan oikea.

Pidä Gemini 3 Pro Preview erillään Gemini 3.1 Pro Preview-, Gemini 3 Pro Image-, audio- ja Live-versioista. Tämän esikatseluversion tuloste on tekstiä, eikä sen määrittely sisällä kuvien generointia, äänen generointia tai Live-toimintaa. Arvioi palautettu vastaus, koodi tai rakenteinen tulos toimitettua lähdeaineistoa ja tavoiteltua tehtävää vasten.

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-3-pro-preview`

[`gemini-3-pro-preview`](https://ailoot.ai/models/fi/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=chat)

Muu /`gemini-3-pro-preview`

### Aloitus

Gemini 3 Pro Preview on Googlen multimodaalinen päättelymalli tekstin, kuvien, äänen, videon ja PDF-tiedostojen käsittelyyn; tulos on tekstiä. Sen suuri syötekapasiteetti, ohjelmointikyvyt ja tuetut työkalutyönkulut sopivat yksityiskohtaiseen analyysiin, asiakirjojen vertailuun ja näyttöön perustuvaan tehtävien suorittamiseen.

Hyväksytyt syötteet

Teksti

Tulokset

Teksti

### Saatavilla Ailootissa · syötteet & menetelmät

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

Syötetyypit

`text`

Tulostyypit

`text`

Tulosteen muoto

json tai SSE

| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
| --- | --- | --- | --- | --- |
| Kenttä`model` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat gemini-3-pro-preview | Oletus— |
| Kenttä`messages` | Tyyppi`message[]` | VaatimusPakollinen | Arvot & rajat Kohteiden vähimmäismäärä: 1 | Oletus— |
| Kenttä`messages[].role` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`messages[].content` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: Tekstikeskustelu | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |

Syöteaineistojen yhdistelmät

**Teksti** · UTF8-teksti

`messages[].content`

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusmodel, messages |
| Parametri`material_types` | Sopimustext |
| Parametri`messages` | Sopimusviestitaulukko role/content-rakenteella |
| Parametri`file_material` | Sopimusvarsinainen UTF-8-asiakirja lisätään sellaisenaan tekstinä; tiedoston ID:tä ei päätellä |
| Parametri`optional_controls` | Sopimusstream |
| Parametri`control_scope` | SopimusTekstikeskustelu; stream on totuusarvo, jonka oletus on false. |
| Parametri`output_modalities` | Sopimustext |
| Parametri`hosted_operations` | Sopimusfalse |
| Parametri`multimodal_input_binding` | Sopimusnull |

Menetelmien aliakset: `/chat/completions`

Elinkaari: `synchronous_or_streamed`

Lähetä mallin täsmällinen ID yhdessä messages-kentän kanssa.

Kontekstin pituus ei ole tuloksen yläraja.

Tekstitiedosto voi antaa tekstiä sellaisenaan; kuva-, ääni- ja tiedosto-objektisyötteet tarvitsevat täsmällisen sidonnan.

### Hinnoittelu

Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.

Nopea tila

Ei määritetty Kun nopea tila on valittu

Flex-tila

Ei määritetty Kun flex-tila on valittu

Päättelyn enimmäisteho

Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

Eksplisiittisen välimuistin hinnoittelu

Ei käytössä Kun eksplisiittistä välimuistia pyydetään

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

| Asetukset | Hinnasto | Veloitus |
| --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Veloitus Syöte · Syötetokenit **$0.004** / 1K tokenia Tuloste · Tulostokenit **$0.024** / 1K tokenia Syöte · Välimuistin luku **$0** / 1K tokenia Syöte · Välimuistiin kirjoitus **$0** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. [Varauksen ja lopullisen veloituksen toiminta →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### 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-pro-preview","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-pro-preview", 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"))
```

### Vastaanota ja tallenna tulokset

#### Ailoot Ultra · OpenAI Chat

json tai SSE

##### Säilytä kaikki valmistuneet tulokset

Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.

Säilytä jokainen vastausvaihtoehto sisältöineen, työkalukutsuineen ja päättelyineen. Kokoa SSE:ssä muutokset vastausvaihtoehdon ja työkalun indeksin mukaan ja säilytä lopullinen päättymissyy sekä käyttötiedot.

##### Jos alkuperäinen vastaus on tarkistettava

Säilytä pyyntöjen/vastausten ID:t ja otsakkeet. Yleistä tekstityön haku-URL:ää ei anneta.

Vastauksen kentät

| Kenttä | Tyyppi |
| --- | --- |
| Kenttä`choices[].index` | Tyyppiinteger |
| Kenttä`choices[].message.content` | Tyyppistring\|null |
| Kenttä`choices[].message.tool_calls` | Tyyppitool\_call\[\] |
| Kenttä`choices[].message.reasoning_content` | Tyyppistring |
| Kenttä`choices[].message.reasoning_details` | Tyyppiobject\|array |
| Kenttä`choices[].finish_reason` | Tyyppistring\|null |
| Kenttä`usage` | Tyyppiobject |

Virheet ja seuraavat vaiheet

| Vastaus | Ehto | Seuraava vaihe |
| --- | --- | --- |
| Vastaus400 · `invalid_request_error` | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |

### Aliakset

#### Mallin aliakset

**Ailoot Ultra** [`gemini-3-pro-preview`](https://ailoot.ai/models/fi/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=chat)

#### Menetelmäpolkujen aliakset

`/chat/completions`

#### Liittyvät kutsujan ID:t

[`gemini-3-pro-preview`](https://ailoot.ai/models/fi/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-3-pro-preview`

[`gemini-3-pro-preview`](https://ailoot.ai/models/fi/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=messages)

Muu /`gemini-3-pro-preview`

### Aloitus

Gemini 3 Pro Preview on Googlen multimodaalinen päättelymalli tekstin, kuvien, äänen, videon ja PDF-tiedostojen käsittelyyn; tulos on tekstiä. Sen suuri syötekapasiteetti, ohjelmointikyvyt ja tuetut työkalutyönkulut sopivat yksityiskohtaiseen analyysiin, asiakirjojen vertailuun ja näyttöön perustuvaan tehtävien suorittamiseen.

Hyväksytyt syötteet

Teksti

Tulokset

json · sse

### Saatavilla Ailootissa · syötteet & menetelmät

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

Syötetyypit

`text`

Tulostyypit

`json`, `sse`

Tulosteen muoto

JSON tai SSE

| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
| --- | --- | --- | --- | --- |
| Kenttä`model` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat gemini-3-pro-preview | Oletus— |
| Kenttä`messages` | Tyyppi`message[]` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`messages[].role` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat user, assistant | Oletus— |
| Kenttä`messages[].content` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`max_tokens` | Tyyppi`integer` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |

Syöteaineistojen yhdistelmät

**Teksti** · UTF-8-teksti

`messages[].content-merkkijono`

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusmodel, messages, max\_tokens |
| Parametri`optional_controls` | Sopimusstream |
| Parametri`material_types` | Sopimustext |
| Parametri`text_file_material` | SopimusLue varsinainen UTF-8-asiakirja ja sijoita sen teksti ilmoitettuun syöte- tai viestisisällön merkkijonoon. |

Elinkaari: `synchronous_or_streamed`

### Hinnoittelu

Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.

Nopea tila

Ei määritetty Kun nopea tila on valittu

Flex-tila

Ei määritetty Kun flex-tila on valittu

Päättelyn enimmäisteho

Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

Eksplisiittisen välimuistin hinnoittelu

Ei käytössä Kun eksplisiittistä välimuistia pyydetään

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

| Asetukset | Hinnasto | Veloitus |
| --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Veloitus Syöte · Syötetokenit **$0.004** / 1K tokenia Tuloste · Tulostokenit **$0.024** / 1K tokenia Syöte · Välimuistin luku **$0** / 1K tokenia Syöte · Välimuistiin kirjoitus **$0** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. [Varauksen ja lopullisen veloituksen toiminta →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot Ultra · Anthropic Messages

Täydellinen minimaalinen JSON-runkocurl · käytä omaa UTF-8-dokumenttiasiPython · tallenna koko tulos

```json
{
  "model": "gemini-3-pro-preview",
  "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-pro-preview', '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-pro-preview', '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))
```

### Vastaanota ja tallenna tulokset

#### Ailoot Ultra · Anthropic Messages

JSON tai SSE

##### Säilytä kaikki valmistuneet tulokset

Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.

Säilytä kaikki sisältölohkot, päättelyallekirjoitukset ja todelliset työkalukäytön ID:t. Kokoa kaikki SSE-lohkomuutokset; ensimmäinen tekstilohko ei ole koko tulos.

##### Jos alkuperäinen vastaus on tarkistettava

Säilytä pyyntöjen/vastausten ID:t ja otsakkeet. Yleistä tekstityön haku-URL:ää ei anneta.

Vastauksen kentät

| Kenttä | Tyyppi |
| --- | --- |
| Kenttä`id` | Tyyppistring |
| Kenttä`model` | Tyyppistring |
| Kenttä`content[]` | Tyyppitext\|thinking\|tool\_use\|other content block |
| Kenttä`stop_reason` | Tyyppistring\|null |
| Kenttä`usage` | Tyyppiobject |

Virheet ja seuraavat vaiheet

| Vastaus | Ehto | Seuraava vaihe |
| --- | --- | --- |
| Vastaus400 · `invalid_request_error` | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |

### Aliakset

#### Mallin aliakset

**Ailoot Ultra** [`gemini-3-pro-preview`](https://ailoot.ai/models/fi/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=messages)

#### Menetelmäpolkujen aliakset

`/chat/completions`

#### Liittyvät kutsujan ID:t

[`gemini-3-pro-preview`](https://ailoot.ai/models/fi/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=messages)

FAQ · gemini-3-pro-preview

Mitä syötteitä ja tuloksia on saatavilla?

`POST /v1/chat/completions` · `gemini-3-pro-preview`: `text` → `text` `POST /v1/messages` · `gemini-3-pro-preview`: `text` → `json`, `sse`

Mitä kenttiä pyyntö käyttää?

`POST /v1/chat/completions` · `gemini-3-pro-preview`: `model`, `messages`, `stream` `POST /v1/messages` · `gemini-3-pro-preview`: `model`, `messages`, `max_tokens`, `stream`

Mitä rajoja sovelletaan?

`POST /v1/chat/completions` · `gemini-3-pro-preview`: `messages.min_items`: `1`

Yhdistä Ailoot Claude Codeen, OpenCodeen, Hermesiin tai omaan sovellukseesi.

## Yritys ja sen projektisalkku

Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.

## Osta tokenit alennuksella.

Tilausalennus säännölliseen käyttöön. Kampanjakoodit — jopa 50% tokeniostoista.

Tilaus

Valitse alennushintainen paketti säännöllisiä pyyntöjäsi varten.

Kampanjakoodi jopa 50%

Syötä koodi oston yhteydessä. Hinta lasketaan uudelleen voimassa olevan kampanjan mukaan.

Kulut historiassa

Malli, tokenit ja summa tallennetaan jokaiselle pyynnölle.

[Valitse tilaus](https://ailoot.ai/docs/fi/billing/subscriptions/) · [Katso mallihinnat](https://ailoot.ai/models/fi/)

## Yhdistä API tuotteeseen, jonka myyt.

SaaS, sovellukset ja botit Ailootin palveluehtojen ja lisenssisopimuksen mukaisesti. Pyydä edelleenmyyntiin jälleenmyyjälisenssi.

Kaupallinen sovellus

Lisää tekstin, kuvien, videoiden ja äänen luonti palvelusi maksullisiin ominaisuuksiin.

Jälleenmyyjälisenssi

Lähetä projektikuvaus ja pääsyn toteutustapa. Pyydä kirjalliset käyttö- ja jälleenmyyntiehdot.

Asiakirjat verkkosivustolla

Palveluehdot, lisenssisopimus ja tietojenkäsittelykäytäntö ovat saatavilla ennen yhdistämistä.

[Pyydä jälleenmyyjälisenssi](mailto:support@ailoot.ai) · [Palveluehdot ja lisenssisopimus](https://ailoot.ai/legal/offer?lang=fi)

## Ailoot · Yritys ja sen projektisalkku





Ailoot perustuu kertyneeseen toimintakokemukseen, laajaan asiakaskuntaan, vakaaseen palveluun ja jatkuvaan KPI-seurantaan.





Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.





Ailoot hyödyntää tätä toimintakokemusta tarjotessaan API-yhteyden tekoälytoimintoihin asiakkaiden tuotteissa, agenteissa, sovelluksissa ja automaatioissa.
