Source: https://ailoot.ai/models/fi/gemini-2-5-flash-preview-09-2025/
Canonical: https://ailoot.ai/models/fi/gemini-2-5-flash-preview-09-2025/
Language: fi

# gemini-2.5-flash-preview-09-2025

[Markdown](https://ailoot.ai/models/fi/gemini-2-5-flash-preview-09-2025/index.md) · [JSON](https://ailoot.ai/models/fi/gemini-2-5-flash-preview-09-2025/facts.json)

## [gemini-2.5-flash-preview-09-2025](https://ailoot.ai/models/fi/gemini-2-5-flash-preview-09-2025/)

Gemini 2.5 Flash Preview 09-2025 on Googlen syyskuun versio multimodaaliseen analyysiin ja monivaiheiseen työskentelyyn työkaluilla. Se yhdistää tekstin, kuvan, videon ja äänen ymmärtämisen ajatteluun ja rakenteisiin vastauksiin, ja sen syöteraja on 1 048 576 tokenia. Versiossa on erityisiä parannuksia agenttien työkalukäyttöön.

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

Tietoa mallista

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

Gemini 2.5 Flash Preview 09-2025 on Googlen hybridipäättelymallin syyskuinen esiversio. Sen dokumentoidut syötteet ovat teksti, kuvat, video ja ääni; tuloste on tekstiä. Malli voi yhdistää kysymyksen visuaaliseen tai puhuttuun aineistoon ja tuottaa sitten selityksen, asiakirjan, koodia tai rakenteisen vastauksen. Tämä tarkasti päivätty versio on eri kuin vakaa Gemini 2.5 Flash ja muuttuva latest-alias. Sen tarkoitus on multimodaalinen ymmärtäminen ja työkaluavusteinen työskentely, jonka tulos on kirjallinen.

Google kuvaa tälle julkaisulle kaksi erityistä parannusta: paremman agenttien työkalukäytön ja taloudellisemman vastausten tuottamisen ajattelun ollessa käytössä. Ensimmäinen koskee tehtäviä, joissa tarvitaan useita toisiinsa liittyviä toimintoja, kuten tiedon hankkimista, sen vertaamista pyyntöön ja seuraavan vaiheen valintaa. Toinen koskee hyödyllisten vastausten tuottamista pienemmällä määrällä luotuja tokeneita laadun säilyessä. Anna kehitysavustajalle havaittu toiminta, olennainen koodi ja onnistuneen muutoksen kriteeri. Määritä tutkimusavustajalle kysymys, tarkasteltava aineisto ja johtopäätökseen tarvittava näyttö.

Ajattelu ja suora vastaus ovat osa hybridirakennetta. Ajattelua käyttävä tehtävä voi analysoida riippuvuuksia, matemaattisia ehtoja tai monivaiheista suunnitelmaa ennen lopullisen vastauksen laatimista. Suoraviivaisella tiedonpoiminnalla tai lyhyellä selityksellä voi olla yksinkertaisempi vastaustavoite. Määritä, mitkä rajoitteet ovat pakollisia, mitä malli saa olettaa ja mitä lopullisen tuotoksen on sisällettävä. Valmistajan malliperheen kortti huomauttaa, että ajattelubudjettien noudattaminen voi olla epäjohdonmukaista, joten pyydetty budjetti ei ole todiste tiukasta päättelyn ylärajasta. Tämä kuvaus ei liitä uudemman mallin ajattelutasoja tai oletusasetuksia syyskuun versioon.

Tämän syyskuisen mallin taulukko määrittää enintään 1 048 576 syötetokenia ja 65 536 tulostetokenia. Sen laaja syöteprofiili voi sisältää ohjeet, esimerkit, viitetekstin ja multimediakontekstin yhdessä tehtävässä. Kun vertaat vaatimuksia ehdotettuun ratkaisuun, merkitse molemmat lähteet tunnisteilla ja anna yhteiset kriteerit. Kun käsittelet kuvakaappausta, määritä olennainen tila tai komponentti; nimeä ääni- tai videotehtävälle kysymys tai tapahtuma sen sijaan, että pyytäisit suuntaamatonta kuvausta. Tulos pysyy tekstinä: natiivi kuvien luonti, puheen tuottaminen ja reaaliaikainen puhuttu vuoropuhelu kuuluvat muihin malliprofiileihin.

Google dokumentoi tälle nimenomaiselle esiversiolle funktiokutsut, koodin suorittamisen, hakutuloksiin ankkuroinnin, URL-kontekstin ja tiedostohaun. Funktiokutsu valitsee määritellyn funktion ja valmistelee argumentit; liitetty sovellus suorittaa toiminnon ja palauttaa sen tuloksen. Koodin suorittaminen käyttää luotua Python-koodia laskelmiin tai tekstinkäsittelyyn. Hakutuloksiin ankkurointi toimittaa verkkoaineistoa lähteisiin perustuvaa vastausta varten, kun taas URL-konteksti käyttää määritettyjen, saavutettavien sivujen sisältöä. Tiedostohaku tarjoaa toisen lähdeaineiston hakumahdollisuuden. Anna agentille selkeä tarkoitus kullekin työkalulle ja määritä jokaisesta vaiheesta odotettavat tiedot, jotta työnkulku voi jatkua todellisen palautetun tuloksen pohjalta.

Rakenteisen tulosteen tuki tekee lopullisesta tuotoksesta käyttökelpoisen määriteltyjen kenttien joukkona. Pyydä vertailuun kriteeri, sitä vastaava lähdekohta, havaittu ero ja kysymys, joka yhä tarvitsee selvennystä. Erota kooditehtävässä ehdotettu muutos sen selityksestä ja vielä tarvittavista tarkistuksista. Googlen tämän mallin profiili luettelee myös kontekstivälimuistin ja eräkäsittelyn tuen. Toistuva lähdeaineisto voidaan pitää yhtenäisenä toisiinsa liittyvissä tehtävissä; välimuisti ei itsessään osoita, että jokin tietty pyyntö käytti välimuistissa olevia tokeneita uudelleen. Nämä ominaisuuksien nimet eivät tarkoita uudempia skeemayhdistelmiä, välimuistin kynnysarvoja tai samanaikaisia työkalutiloja.

Malliperheen kortti kuvaa harvan mixture-of-experts-transformerin, jolla on natiivi tekstin, visuaalisen aineiston ja äänen ymmärtämiskyky. Koulutus yhdistää verkkotekstiä, koodia, kuvia, ääntä ja videota; jälkikoulutus sisältää pareittaisia multimodaalisia ohjeita ja vastauksia, ihmisten mieltymyksiä ja työkalujen käyttötietoja. Aineiston valmistelussa poistetaan duplikaatit ja tehdään turvallisuus- ja laatusuodatusta. Tämän päivämäärällä yksilöidyn mallin sivu ilmoittaa tietämyksen katkaisukohdaksi tammikuun 2025. Uudempia tietoja vaativissa kysymyksissä tulee määrittää lähdeaineisto tai sopiva hakuvaihe sen sijaan, että mallin koulutustietoa pidettäisiin reaaliaikaisena tietovirtana.

Olennaisia rajoituksia ovat mahdollinen tosiasioiden keksiminen sekä kausaalisen ymmärtämisen, monimutkaisen loogisen deduktion ja kontrafaktuaalisen päättelyn vaikeudet. Malliperheen kortti huomauttaa myös, että vastauksissa voi joskus olla tarpeettoman luennoiva sävy. Vaadi hyödyllistä tulosta varten mallia erottamaan lähdetosiasiat, oletukset ja ehdotetut toiminnot ja tarkista sitten päätöksen ratkaisevat osat. Täydellinen agenttitehtävän tuotos voisi sisältää havainnot, perustellun seuraavan vaiheen, työkaluista saadut tiedot ja mahdolliset avoimet kysymykset. Syyskuun julkaisun työkalukäytön painotus auttaa määrittämään tämän työnkulun, ja valmistellut syötteet sekä selkeät valmistumiskriteerit pitävät sen sidottuna käyttäjän tehtävään.

Käytännön tehtävä

### Käytännön tehtävä

Tekninen esimerkki englanniksi

```
Review a proposed retention design

Assess this design against the requirement. Requirement R: delete inactive guest records after 30 days; paid accounts are excluded. Design D: a nightly job deletes every account whose last_login is older than 30 days. List mismatches with R/D references, propose a corrected selection rule in plain English, and give boundary cases to test.
```

#### Odotettu tulos

```
A concise requirements review, a corrected guest-only rule and tests for day 30, day 31 and an inactive paid account.
```

#### Tarkista tulos

```
The proposal excludes paid accounts and explicitly resolves what after 30 days means at the boundary.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-2.5-flash-preview-09-2025`

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

Google /`gemini-2.5-flash-preview-09-2025`

### Aloitus

Gemini 2.5 Flash Preview 09-2025 on Googlen syyskuun versio multimodaaliseen analyysiin ja monivaiheiseen työskentelyyn työkaluilla. Se yhdistää tekstin, kuvan, videon ja äänen ymmärtämisen ajatteluun ja rakenteisiin vastauksiin, ja sen syöteraja on 1 048 576 tokenia. Versiossa on erityisiä parannuksia agenttien työkalukäyttöön.

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-2.5-flash-preview-09-2025 | Oletus— |
| Kenttä`messages` | Tyyppi`message[]` | VaatimusPakollinen | Arvot & rajat Kohteiden vähimmäismäärä: 1 | Oletus— |
| Kenttä`messages[].role` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Esimerkit: system, user, assistant, tool, function Ehdot: Nämä roolit esitetään nimenomaisesti lähdekoodin yhteensopivuustyypeissä; mallin täsmällinen roolijoukko pysyy mallikohtaisena. Riippuu mallista | Oletus— |
| Kenttä`messages[].content` | Tyyppi`string\|content_part[]\|null` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`messages[].tool_calls` | Tyyppi`tool_call[]` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`messages[].tool_call_id` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: role=tool; käytä todella palautettua ID:tä | Oletus— |
| Kenttä`messages[].name` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`messages[].reasoning_content` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: Palauta todella saatu päättely takaisin mallille, kun kyseinen malli käyttää sitä | Oletus— |
| Kenttä`messages[].reasoning_details` | Tyyppi`object\|array` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`max_tokens` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Riippuu mallista | Oletus— |
| Kenttä`max_completion_tokens` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Riippuu mallista | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |
| Kenttä`stream_options.include_usage` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`temperature` | Tyyppi`number` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`top_p` | Tyyppi`number` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`stop` | Tyyppi`string\|string[]` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`tools` | Tyyppi`function_tool[]` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`tools[].type` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat function Riippuu mallista | Oletus— |
| Kenttä`tools[].function.name` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Sovelletaan, kun: funktiotyökalu annettu | Oletus— |
| Kenttä`tools[].function.description` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`tools[].function.parameters` | Tyyppi`JSON_schema` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`tool_choice` | Tyyppi`string\|object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`parallel_tool_calls` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`response_format` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`reasoning_effort` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`reasoning` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`service_tier` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`instructions` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Yhteensopivuuskenttä | Oletus— |
| Kenttä`functions` | Tyyppi`function[]` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`function_call` | Tyyppi`string\|object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`prompt_cache_options` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`modalities` | Tyyppi`string[]` | VaatimusValinnainen | Arvot & rajat text | Oletus— |
| Kenttä`provider` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Ehdot: provider.options hylätään tällä Ultran tekstireitillä | Oletus— |
| Kenttä`cache_control.ttl` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Ehdot: 1h hylätään varsinaisissa kehotevälimuistin kohdissa | Oletus— |

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, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametri`control_scope` | Sopimusmallikohtainen; käyttäjän funktiotyökalut eroavat palvelun isännöimistä työkaluista |
| Parametri`output_modalities` | Sopimustext |
| Parametri`hosted_operations` | Sopimusfalse |
| Parametri`multimodal_input_binding` | Sopimusnull |

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.0006** / 1K tokenia Tuloste · Tulostokenit **$0.005** / 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 SDKPython-suoratoisto

```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-2.5-flash-preview-09-2025", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

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-2.5-flash-preview-09-2025',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
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"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

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)
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))

with client.chat.completions.stream(model='gemini-2.5-flash-preview-09-2025',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### 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-2.5-flash-preview-09-2025`](https://ailoot.ai/models/fi/#m=gemini-2.5-flash-preview-09-2025&route=Ultra&caller=gemini-2.5-flash-preview-09-2025&fmt=chat)

#### Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

#### Liittyvät kutsujan ID:t

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

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-2.5-flash-preview-09-2025`

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

Google /`gemini-2.5-flash-preview-09-2025`

### Aloitus

Gemini 2.5 Flash Preview 09-2025 on Googlen syyskuun versio multimodaaliseen analyysiin ja monivaiheiseen työskentelyyn työkaluilla. Se yhdistää tekstin, kuvan, videon ja äänen ymmärtämisen ajatteluun ja rakenteisiin vastauksiin, ja sen syöteraja on 1 048 576 tokenia. Versiossa on erityisiä parannuksia agenttien työkalukäyttöön.

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-2.5-flash-preview-09-2025 | 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.0006** / 1K tokenia Tuloste · Tulostokenit **$0.005** / 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-2.5-flash-preview-09-2025",
  "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-2.5-flash-preview-09-2025', '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-2.5-flash-preview-09-2025', '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-2.5-flash-preview-09-2025`](https://ailoot.ai/models/fi/#m=gemini-2.5-flash-preview-09-2025&route=Ultra&caller=gemini-2.5-flash-preview-09-2025&fmt=messages)

#### Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

#### Liittyvät kutsujan ID:t

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

FAQ · gemini-2.5-flash-preview-09-2025

Mitä syötteitä ja tuloksia on saatavilla?

`POST /v1/chat/completions` · `gemini-2.5-flash-preview-09-2025`: `text` → `text` `POST /v1/messages` · `gemini-2.5-flash-preview-09-2025`: `text` → `json`, `sse`

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

`POST /v1/chat/completions` · `gemini-2.5-flash-preview-09-2025`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `gemini-2.5-flash-preview-09-2025`: `model`, `messages`, `max_tokens`, `stream`

Mitä rajoja sovelletaan?

`POST /v1/chat/completions` · `gemini-2.5-flash-preview-09-2025`: `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.
