modeller

gemini-2.5-flash-preview-09-2025

Markdown · JSON

gemini-2.5-flash-preview-09-2025

Gemini 2.5 Flash Preview 09-2025 er Googles septemberudgave til multimodal analyse og arbejde med værktøjer i flere trin. Den kombinerer forståelse af tekst, billeder, video og lyd med ræsonnement, strukturerede svar og en inputgrænse på 1.048.576 tokens samt specifikke forbedringer af agenters brug af værktøjer.

Om modellen

Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.

Gemini 2.5 Flash Preview 09-2025 er septemberudgaven i preview af Googles hybride ræsonnementsmodel. Dens dokumenterede input er tekst, billeder, video og lyd; outputtet er tekst. Modellen kan kombinere spørgsmålet med visuelt eller talt materiale og derefter udarbejde en forklaring, et dokument, kode eller et struktureret svar. Denne præcise daterede udgave er forskellig fra den stabile Gemini 2.5 Flash og fra et løbende opdateret latest-alias. Dens formål er multimodal forståelse og værktøjsassisteret arbejde med et skriftligt resultat.

Google beskriver to specifikke forbedringer i denne udgivelse: bedre værktøjsbrug i agentopgaver og mere økonomisk generering af svar, når ræsonnement er aktiveret. Den første vedrører opgaver, der kræver flere sammenhængende handlinger, såsom at indhente oplysninger, sammenholde dem med anmodningen og vælge næste trin. Den anden vedrører udarbejdelse af nyttige svar med færre genererede tokens, samtidig med at kvaliteten bevares. Til en udviklingsassistent skal du angive den observerede adfærd, relevant kode og kriteriet for en vellykket ændring. Til en researchassistent skal du definere spørgsmålet, det materiale, der skal undersøges, og den dokumentation, der kræves for konklusionen.

Ræsonnement og direkte svar indgår i det hybride design. En ræsonnementsopgave kan analysere afhængigheder, matematiske betingelser eller en plan med flere trin, før det endelige svar udarbejdes. En enkel udtrækning eller kort forklaring kan have et enklere mål for svaret. Angiv, hvilke begrænsninger der er obligatoriske, hvad modellen må antage, og hvad slutresultatet skal indeholde. Producentens modelkort for familien bemærker, at overholdelsen af ræsonnementsbudgetter kan være inkonsekvent, så et ønsket budget dokumenterer ikke en streng øvre grænse for ræsonnement. Denne beskrivelse tillægger ikke septemberudgaven en nyere models ræsonnementsniveauer eller standardindstillinger.

Modeltabellen for netop septemberudgaven angiver op til 1.048.576 inputtokens og 65.536 outputtokens. Dens store inputkapacitet kan rumme instruktioner, eksempler, referencetekst og multimediekontekst i én opgave. Hvis du vil sammenligne krav med en foreslået løsning, skal du mærke de to kilder og angive et fælles sæt kriterier. Hvis du vil drøfte et skærmbillede, skal du identificere den relevante tilstand eller komponent; til en lyd- eller videoopgave skal du angive spørgsmålet eller hændelsen frem for at bede om en beskrivelse uden et bestemt fokus. Resultatet er fortsat tekst: indbygget billedgenerering, stemmegenerering og talt dialog i realtid hører til andre modelprofiler.

Google dokumenterer funktionskald, kodekørsel, søgeforankring, URL-kontekst og filsøgning for netop denne previewudgave. Funktionskald vælger en deklareret funktion og forbereder argumenter; den tilsluttede applikation udfører handlingen og returnerer resultatet. Kodekørsel bruger genereret Python til beregninger eller tekstbehandling. Søgeforankring leverer webmateriale til et kildebaseret svar, mens URL-kontekst arbejder med indholdet af bestemte tilgængelige sider. Filsøgning giver endnu en mulighed for at hente kildemateriale. Giv en agent et tydeligt formål med hvert værktøj, og angiv de forventede oplysninger fra hvert trin, så arbejdsgangen kan fortsætte ud fra det faktisk returnerede resultat.

Understøttelse af struktureret output gør slutresultatet anvendeligt som et sæt definerede felter. Til en sammenligning skal du bede om et kriterium, den tilsvarende kildepassage, den observerede forskel og det spørgsmål, der stadig kræver afklaring. Til en kodeopgave skal du adskille den foreslåede ændring fra forklaringen og de kontroller, der stadig er nødvendige. Googles præcise modelprofil angiver også understøttelse af kontekstcaching og batchbehandling. Gentaget kildemateriale kan holdes ensartet på tværs af beslægtede opgaver; caching dokumenterer ikke i sig selv, at en bestemt anmodning genbrugte cachede tokens. Disse funktionsnavne indebærer ingen nyere skemakombinationer, cachetærskler eller samtidige værktøjstilstande.

Modelkortet for familien beskriver en sparsom mixture-of-experts-transformer med indbygget forståelse af tekst, visuelt materiale og lyd. Træningen kombinerer webtekst, kode, billeder, lyd og video; eftertræningen omfatter parrede multimodale instruktioner og svar, menneskelige præferencer og data om værktøjsbrug. Dataforberedelsen anvender deduplikering samt sikkerheds- og kvalitetsfiltrering. Modelsiden for den præcise daterede udgave angiver januar 2025 som vidensgrænse. Spørgsmål, der kræver nyere oplysninger, bør angive deres kildemateriale eller et passende hentetrin frem for at behandle modellens træningsviden som en løbende informationskilde.

Væsentlige begrænsninger omfatter muligheden for opdigtede fakta og vanskeligheder med årsagsforståelse, kompleks logisk deduktion og kontrafaktisk ræsonnement. Familiekortet bemærker også, at svar undertiden kan have en unødigt belærende tone. For at få et nyttigt resultat skal du kræve, at modellen skelner mellem kildefakta, antagelser og foreslåede handlinger, og derefter gennemgå de dele, der er afgørende for beslutningen. Et fuldstændigt resultat fra en agentopgave kan indeholde fund, et begrundet næste trin, oplysninger hentet fra værktøjer og eventuelle uafklarede spørgsmål. Septemberudgavens fokus på værktøjsbrug er med til at definere denne arbejdsgang, mens de forberedte input og udtrykkelige kriterier for færdiggørelse holder den knyttet til brugerens opgave.

Praktisk opgave

Praktisk opgave

Teknisk eksempel på engelsk

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.

Forventet resultat

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

Kontrollér resultatet

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

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

Start

Gemini 2.5 Flash Preview 09-2025 er Googles septemberudgave til multimodal analyse og arbejde med værktøjer i flere trin. Den kombinerer forståelse af tekst, billeder, video og lyd med ræsonnement, strukturerede svar og en inputgrænse på 1.048.576 tokens samt specifikke forbedringer af agenters brug af værktøjer.

Accepterede input
Tekst
Resultater
Tekst

Tilgængelig i Ailoot · input og metoder

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Inputtyper
text
Outputtyper
text
Outputformat
json eller SSE
FeltTypeKravVærdier og grænserStandard
FeltmodelTypestringKravPåkrævetVærdier og grænser
gemini-2.5-flash-preview-09-2025
Standard—
FeltmessagesTypemessage[]KravPåkrævetVærdier og grænser
Minimumsantal elementer: 1
Standard—
Feltmessages[].roleTypestringKravPåkrævetVærdier og grænser
Eksempler: system, user, assistant, tool, function
Betingelser: Disse roller er eksplicit repræsenteret i kildekodens kompatibilitetstyper; modellens præcise rollesæt er fortsat modelspecifikt.
Afhænger af modellen
Standard—
Feltmessages[].contentTypestring|content_part[]|nullKravValgfritVærdier og grænserStandard—
Feltmessages[].tool_callsTypetool_call[]KravValgfritVærdier og grænserStandard—
Feltmessages[].tool_call_idTypestringKravValgfritVærdier og grænser
Gælder når: role=tool; brug det faktisk returnerede ID
Standard—
Feltmessages[].nameTypestringKravValgfritVærdier og grænserStandard—
Feltmessages[].reasoning_contentTypestringKravValgfritVærdier og grænser
Gælder når: Send det faktisk returnerede ræsonnement tilbage, når modellen bruger det
Standard—
Feltmessages[].reasoning_detailsTypeobject|arrayKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
Feltmax_tokensTypeintegerKravValgfritVærdier og grænser
Minimum: 1
Afhænger af modellen
Standard—
Feltmax_completion_tokensTypeintegerKravValgfritVærdier og grænser
Minimum: 1
Afhænger af modellen
Standard—
FeltstreamTypebooleanKravValgfritVærdier og grænserStandardfalse
Feltstream_options.include_usageTypebooleanKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
FelttemperatureTypenumberKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
Felttop_pTypenumberKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
FeltstopTypestring|string[]KravValgfritVærdier og grænser
Afhænger af modellen
Standard—
FelttoolsTypefunction_tool[]KravValgfritVærdier og grænser
Afhænger af modellen
Standard—
Felttools[].typeTypestringKravValgfritVærdier og grænser
function
Afhænger af modellen
Standard—
Felttools[].function.nameTypestringKravPåkrævetVærdier og grænser
Gælder når: funktionsværktøj angivet
Standard—
Felttools[].function.descriptionTypestringKravValgfritVærdier og grænserStandard—
Felttools[].function.parametersTypeJSON_schemaKravValgfritVærdier og grænserStandard—
Felttool_choiceTypestring|objectKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
Feltparallel_tool_callsTypebooleanKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
Feltresponse_formatTypeobjectKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
Feltreasoning_effortTypestringKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
FeltreasoningTypeobjectKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
Feltservice_tierTypestringKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
FeltinstructionsTypestringKravValgfritVærdier og grænser
Kompatibilitetsfelt
Standard—
FeltfunctionsTypefunction[]KravValgfritVærdier og grænser
Afhænger af modellen
Standard—
Feltfunction_callTypestring|objectKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
Feltprompt_cache_optionsTypeobjectKravValgfritVærdier og grænser
Afhænger af modellen
Standard—
FeltmodalitiesTypestring[]KravValgfritVærdier og grænser
text
Standard—
FeltproviderTypeobjectKravValgfritVærdier og grænser
Betingelser: provider.options afvises på denne Ultra-tekstrute
Standard—
Feltcache_control.ttlTypestringKravValgfritVærdier og grænser
Betingelser: 1h afvises på de faktiske placeringer for promptcaching
Standard—
Kombinationer af inputmaterialer

Tekst · UTF8-tekst

messages[].content

Metodeparametre og livscyklus
ParameterKontrakt
Parametercontent_typeKontraktapplication/json
ParameterrequiredKontraktmodel, messages
Parametermaterial_typesKontrakttext
ParametermessagesKontraktbeskedarray med strukturen role/content
Parameterfile_materialKontraktfaktisk UTF-8-dokument indsat som bogstavelig tekst; intet fil-ID udledes
Parameteroptional_controlsKontraktstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametercontrol_scopeKontraktmodelspecifikt; brugerens funktionsværktøjer er forskellige fra hostede værktøjer
Parameteroutput_modalitiesKontrakttext
Parameterhosted_operationsKontraktfalse
Parametermultimodal_input_bindingKontraktnull

Livscyklus: synchronous_or_streamed

Send det præcise model-ID med messages.

Kontekstlængde er ikke et outputloft.

En tekstfil kan levere bogstavelig tekst; billed-, lyd- og filobjektinput kræver en præcis binding.

Priser

Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.

Hurtig tilstand
Ikke angivet Når hurtig tilstand er valgt
flex-tilstand
Ikke angivet Når flex-tilstanden er valgt
Maksimal ræsonneringsindsats
Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Priser for eksplicit caching
Ikke aktiveret Når der anmodes om eksplicit caching

Ailoot-takster

Priser efter konfiguration

KonfigurationTakstplanBeløb
KonfigurationGrundtakster for tokensTakstplanGrundtakstBeløb
Input · Inputtokens $0.0006 / 1K tokens
Output · Outputtokens $0.005 / 1K tokens
Input · Cachelæsning $0 / 1K tokens
Input · Cacheskrivning $0 / 1K tokens
Input · Cacheskrivning, 1 time — / 1K tokens

Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →

Eksempelanmodninger

Ailoot Ultra · OpenAI Chat

curlPython SDKPython-stream
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
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"))
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")

Hent og gem resultater

Ailoot Ultra · OpenAI Chat

json eller SSE

Behold alle færdige resultater

Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.

Bevar hvert valg og dets indhold, værktøjskald og ræsonnement. Saml i SSE deltaer efter valg-/værktøjsindeks, og bevar den endelige afslutningsårsag og forbrugsoplysningerne.

Hvis det oprindelige svar skal kontrolleres

Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.

Svarfelter
FeltType
Feltchoices[].indexTypeinteger
Feltchoices[].message.contentTypestring|null
Feltchoices[].message.tool_callsTypetool_call[]
Feltchoices[].message.reasoning_contentTypestring
Feltchoices[].message.reasoning_detailsTypeobject|array
Feltchoices[].finish_reasonTypestring|null
FeltusageTypeobject
Fejl og næste trin
SvarBetingelseNæste trin
Svar400 · invalid_request_errorBetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdiNæste trinRet de angivne felter før en ny oprettelsesanmodning.

Aliaser

Modelaliaser

Ailoot Ultra gemini-2.5-flash-preview-09-2025

Aliaser for metodestier

Brug metodestierne vist ovenfor.

Relaterede kalder-ID’er

gemini-2.5-flash-preview-09-2025

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

gemini-2.5-flash-preview-09-2025

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

Start

Gemini 2.5 Flash Preview 09-2025 er Googles septemberudgave til multimodal analyse og arbejde med værktøjer i flere trin. Den kombinerer forståelse af tekst, billeder, video og lyd med ræsonnement, strukturerede svar og en inputgrænse på 1.048.576 tokens samt specifikke forbedringer af agenters brug af værktøjer.

Accepterede input
Tekst
Resultater
json · sse

Tilgængelig i Ailoot · input og metoder

Ailoot Ultra · Anthropic Messages POST /v1/messages
Inputtyper
text
Outputtyper
json, sse
Outputformat
JSON eller SSE
FeltTypeKravVærdier og grænserStandard
FeltmodelTypestringKravPåkrævetVærdier og grænser
gemini-2.5-flash-preview-09-2025
Standard—
FeltmessagesTypemessage[]KravPåkrævetVærdier og grænserStandard—
Feltmessages[].roleTypestringKravPåkrævetVærdier og grænser
user, assistant
Standard—
Feltmessages[].contentTypestringKravPåkrævetVærdier og grænserStandard—
Feltmax_tokensTypeintegerKravPåkrævetVærdier og grænserStandard—
FeltstreamTypebooleanKravValgfritVærdier og grænserStandardfalse
Kombinationer af inputmaterialer

Tekst · UTF-8-tekst

messages[].content som streng

Metodeparametre og livscyklus
ParameterKontrakt
Parametercontent_typeKontraktapplication/json
ParameterrequiredKontraktmodel, messages, max_tokens
Parameteroptional_controlsKontraktstream
Parametermaterial_typesKontrakttext
Parametertext_file_materialKontraktLæs det faktiske UTF-8-dokument, og indsæt teksten i det angivne input eller beskedens indholdsstreng.

Livscyklus: synchronous_or_streamed

Priser

Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.

Hurtig tilstand
Ikke angivet Når hurtig tilstand er valgt
flex-tilstand
Ikke angivet Når flex-tilstanden er valgt
Maksimal ræsonneringsindsats
Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Priser for eksplicit caching
Ikke aktiveret Når der anmodes om eksplicit caching

Ailoot-takster

Priser efter konfiguration

KonfigurationTakstplanBeløb
KonfigurationGrundtakster for tokensTakstplanGrundtakstBeløb
Input · Inputtokens $0.0006 / 1K tokens
Output · Outputtokens $0.005 / 1K tokens
Input · Cachelæsning $0 / 1K tokens
Input · Cacheskrivning $0 / 1K tokens
Input · Cacheskrivning, 1 time — / 1K tokens

Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →

Eksempelanmodninger

Ailoot Ultra · Anthropic Messages

Komplet minimalt requestbody i JSONcurl · brug dit UTF-8-dokumentPython · gem hele resultatet
{
  "model": "gemini-2.5-flash-preview-09-2025",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
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
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))

Hent og gem resultater

Ailoot Ultra · Anthropic Messages

JSON eller SSE

Behold alle færdige resultater

Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.

Bevar alle indholdsblokke, ræsonnementssignaturer og faktiske værktøjsbrugs-ID’er. Saml alle SSE-blokdeltaer; den første tekstblok er ikke hele outputtet.

Hvis det oprindelige svar skal kontrolleres

Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.

Svarfelter
FeltType
FeltidTypestring
FeltmodelTypestring
Feltcontent[]Typetext|thinking|tool_use|other content block
Feltstop_reasonTypestring|null
FeltusageTypeobject
Fejl og næste trin
SvarBetingelseNæste trin
Svar400 · invalid_request_errorBetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdiNæste trinRet de angivne felter før en ny oprettelsesanmodning.

Aliaser

Modelaliaser

Ailoot Ultra gemini-2.5-flash-preview-09-2025

Aliaser for metodestier

Brug metodestierne vist ovenfor.

Relaterede kalder-ID’er

gemini-2.5-flash-preview-09-2025

FAQ · gemini-2.5-flash-preview-09-2025
Hvilke input og resultater er tilgængelige?

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

Hvilke felter bruger anmodningen?

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

Hvilke grænser gælder?

POST /v1/chat/completions · gemini-2.5-flash-preview-09-2025: messages.min_items: 1

Flere oplysninger

Tilslut Ailoot til Claude Code, OpenCode, Hermes eller din egen applikation.

Virksomheden og dens projektportefølje

Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.

Køb tokens med rabat.

Abonnementsrabat til regelmæssigt arbejde. Rabatkoder giver op til 50% på tokenkøb.

Abonnement
Vælg et abonnement med rabat til dine regelmæssige anmodninger.
Rabatkode på op til 50%
Indtast koden ved købet. Prisen genberegnes efter den aktuelle kampagne.
Udgifter i historikken
Model, tokens og beløb gemmes for hver anmodning.

Vælg abonnement · Se modelpriser

Tilslut API’et til produktet, du sælger.

SaaS, apps og bots efter Ailoots tilbudsvilkår og licensaftale. Anmod om en forhandlerlicens til videresalg.

Kommerciel applikation
Byg generering af tekst, billeder, video og lyd ind i tjenestens betalte funktioner.
Licens til forhandlere
Send projektbeskrivelse og adgangsmodel. Bed om skriftlige vilkår for anvendelse og videresalg.
Dokumenter på websitet
Tilbudsvilkår, licensaftale og politik for behandling af data kan læses før tilslutning.

Anmod om forhandlerlicens · Tilbudsvilkår og licensaftale