Google: Gemini 3.5 Flash
Gemini 3.5 Flash združuje multimodalno razumevanje s sklepanjem za programiranje in agentske naloge v več korakih. Sprejema besedilo, slike, video, zvok in PDF ter ustvarja besedilo; njegov dokumentirani profil podpira strukturirane izhode, orodja in vhodno omejitev 1,048,576 žetonov.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgemini-3.5-flash - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgemini-3.5-flash - Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgoogle/gemini-3.5-flash - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgoogle/gemini-3.5-flash
O modelu
Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.
Gemini 3.5 Flash je Googlov multimodalni profil modela Flash za dolgotrajnejše programiranje in agentsko delo. Njegovi dokumentirani vhodi so besedilo, slike, video, zvok in PDF, izhod pa je besedilo. Model se osredotoča na iterativno programiranje, raziskovanje alternativnih rešitev ter daljša zaporedja navodil in uporabe orodij. Izdaja 3.5 zagotavlja dokumentirane nastavitve razmišljanja, multimodalne vhode in delovne postopke z orodji.
Programerska naloga lahko združi pisno zahtevo, ustrezne izvorne datoteke in posnetek zaslona želenega rezultata. Navedite opaženo vedenje, pričakovano vedenje in omejitve, ki morajo ostati nedotaknjene. Ponazoritvena navodila so: »Primerjaj posnetek zaslona z besedilom komponente, prepoznaj neskladje v poteku obrazca in predlagaj en ciljno usmerjen popravek. Pojasni, katere podrobnosti izvorne kode upravičujejo spremembo.« Pri nalogi z dokumentom priložite ustrezne strani in zahtevajte primerjavo z izrecnimi zahtevami ter sklice na vire za vsako ugotovitev.
Izdaja dokumentira ravni razmišljanja minimal, low, medium in high. Privzeta raven je medium, kar je sprememba glede na privzeto raven high pri Gemini 3 Flash Preview. Minimal ustreza preprostim odgovorom in enostavnim odločitvam o orodjih, vendar ne zagotavlja, da je sklepanje povsem izključeno; low je namenjen nalogam z manj koraki; high omogoča poglobljeno sklepanje pri zahtevnih matematičnih, programerskih in agentskih problemih. Google za uravnavanje intenzivnosti priporoča thinking_level in ohranitev privzetih nastavitev vzorčenja, namesto poskusov vsiljevanja sklepanja s spreminjanjem temperature, top-p ali top-k.
Značilno vedenje je ohranjanje konteksta sklepanja med nalogo v več izmenjavah. Googlov postopek Interactions ta kontekst prenaša samodejno; postopek GenerateContent zahteva celotno nespremenjeno zgodovino pogovora, vključno s podpisi razmišljanja. To podpira nadaljevanje odpravljanja napak ali prestrukturiranja kode, pri katerem prejšnje sklepanje usmerja naslednji korak. Ohranite dejansko strukturo pogovora, namesto da bi vsako nadaljnje sporočilo pretvorili v nepovezan poziv, in med napredovanjem dela ohranjajte jasno opredeljen zahtevani končni izdelek.
Dokumentirani nabor orodij vključuje Google Search, utemeljevanje s podatki Google Maps, File Search, Code Execution, URL Context in standardni Function Calling; kombinirana uporaba orodij in Computer Use sta označena kot zmožnosti v predogledu. Structured Outputs lahko zagotovi opredeljen podatkovni zapis. Funkcijam določite jasen namen in definicijo parametrov: model izbere funkcijo, povezana aplikacija pa izvede njeno operacijo in vrne rezultat. Google zahteva, da se rezultati funkcij ujemajo s predhodnimi klici po identiteti, imenu in številu; multimodalni rezultati sodijo v odgovor funkcije.
Natančna preglednica modela API navaja največ 1,048,576 vhodnih žetonov in največ 65,536 izhodnih žetonov. Zgodovina pogovora in priloženo medijsko gradivo prispevata k vhodnemu proračunu. Za ta profil sta dokumentirana predpomnjenje in paketna obdelava, Googlova preglednica pa navaja še možnosti obdelave Flex in Priority. Te omejitve in zmožnosti opisujejo proizvajalčevo izdajo; ne zahtevajo, da odgovor zapolni celotno izhodno okno ali da so pri vsaki nalogi potrebna vsa orodja.
Ta profil ustvarja besedilo namesto slik ali zvoka in ne uporablja Live API. Njegov vodnik za razvijalce izključuje tudi segmentacijo slik. Pri vizualnem vprašanju zahtevajte opis, izluščenje ali razlago priloženega gradiva; pri govornem posnetku zahtevajte besedilni rezultat. Kadar je odgovor odvisen od novejših informacij, lahko dokumentirani postopek utemeljevanja z iskanjem doda vire, ki presegajo učno znanje. Navedite, ali so potrebne zunanje informacije in katere dokaze mora končni odgovor ohraniti.
Za uporabno daljšo nalogo pred prvim korakom opredelite končni rezultat in merilo dokončanja. Naloga analize podpore lahko zahteva preglednico opaženih težav, podpornih odlomkov in predlaganega odgovora; programerska naloga lahko zahteva ciljno usmerjeno spremembo in ustrezen rezultat preverjanja. Priložite pomemben izvorni kontekst, določite dovoljena dejanja orodij in zahtevajte izrecen končni odgovor, ki loči opravljeno delo od vprašanj, za katera so še potrebne informacije. Tako se dolgotrajnejši delovni postopek modela pretvori v konkreten besedilni, kodni ali strukturirani izdelek.
Praktična naloga
Praktična naloga
Tehnični primer v angleščini
Correct a multi-turn form regression
A form change added a required phone field. Prior accepted behavior: email-only contact was allowed. Current source: if (!email || !phone) return 'Missing contact'; submit({email,phone}). New requirement: at least one contact method. Propose a minimal correction, preserve submission fields and explain tests for email only, phone only, both and neither.Pričakovani rezultat
A focused condition change and four expected acceptance/rejection cases.Preverjanje rezultata
Check the correction accepts either contact method independently and rejects only when both are absent.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions gemini-3.5-flash
gemini-3.5-flashgemini-3.5-flashgoogle/gemini-3.5-flash
Začetek
Gemini 3.5 Flash združuje multimodalno razumevanje s sklepanjem za programiranje in agentske naloge v več korakih. Sprejema besedilo, slike, video, zvok in PDF ter ustvarja besedilo; njegov dokumentirani profil podpira strukturirane izhode, orodja in vhodno omejitev 1,048,576 žetonov.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- Besedilo
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Vhod
text- Izhod
text- Izhodni format
- json ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve gemini-3.5-flash | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljemessages[].content | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: Besedilni pogovor | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF8
messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages |
Parametermaterial_types | Specifikacijatext |
Parametermessages | Specifikacijapolje sporočil s strukturo role/content |
Parameterfile_material | Specifikacijadejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje |
Parameteroptional_controls | Specifikacijastream |
Parametercontrol_scope | SpecifikacijaBesedilni pogovor; stream je logična vrednost in je privzeto false. |
Parameteroutput_modalities | Specifikacijatext |
Parameterhosted_operations | Specifikacijafalse |
Parametermultimodal_input_binding | Specifikacijanull |
Druga imena metode: /chat/completions
Življenjski cikel: synchronous_or_streamed
Pošljite natančen ID modela skupaj z messages.
Dolžina konteksta ni zgornja meja izhoda.
Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo.
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
- Raven razmišljanja · visoka
- Standardna tarifa Ko je raven razmišljanja visoka
- Raven razmišljanja · nizka
- Standardna tarifa Ko je raven razmišljanja nizka
- Raven razmišljanja · srednja
- Standardna tarifa Ko je raven razmišljanja srednja
- Raven razmišljanja · minimalna
- Standardna tarifa Ko je raven razmišljanja minimalna
- Cene izrecnega predpomnjenja
- Ni omogočeno Ko je zahtevano eksplicitno predpomnjenje
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.003 / 1K žetonov Izhod · Izhodni žetoni $0.018 / 1K žetonov Vhod · Branje predpomnilnika $0.0003 / 1K žetonov Vhod · Zapis v predpomnilnik $0.0001666666666666666 / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.003 / 1K žetonov Izhod · Izhodni žetoni $0.018 / 1K žetonov Vhod · Branje predpomnilnika $0.0003 / 1K žetonov Vhod · Zapis v predpomnilnik $0.0001666666666666666 / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · OpenAI Chat
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","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
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", 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"))
Prejmi in shrani rezultate
Ailoot Ultra · OpenAI Chat
json ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljechoices[].index | Vrstainteger |
Poljechoices[].message.content | Vrstastring|null |
Poljechoices[].message.tool_calls | Vrstatool_call[] |
Poljechoices[].message.reasoning_content | Vrstastring |
Poljechoices[].message.reasoning_details | Vrstaobject|array |
Poljechoices[].finish_reason | Vrstastring|null |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra gemini-3.5-flash, google/gemini-3.5-flash
Druga imena poti metod
/chat/completions
Povezani ID-ji za klic
Ailoot Ultra · Anthropic Messages POST /v1/messages gemini-3.5-flash
gemini-3.5-flashgemini-3.5-flashgoogle/gemini-3.5-flash
Začetek
Gemini 3.5 Flash združuje multimodalno razumevanje s sklepanjem za programiranje in agentske naloge v več korakih. Sprejema besedilo, slike, video, zvok in PDF ter ustvarja besedilo; njegov dokumentirani profil podpira strukturirane izhode, orodja in vhodno omejitev 1,048,576 žetonov.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- json · sse
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vhod
text- Izhod
json,sse- Izhodni format
- JSON ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve gemini-3.5-flash | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve user, assistant | Privzeto— |
Poljemessages[].content | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemax_tokens | Vrstainteger | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF-8
niz messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages, max_tokens |
Parameteroptional_controls | Specifikacijastream |
Parametermaterial_types | Specifikacijatext |
Parametertext_file_material | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |
Življenjski cikel: synchronous_or_streamed
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
- Raven razmišljanja · visoka
- Standardna tarifa Ko je raven razmišljanja visoka
- Raven razmišljanja · nizka
- Standardna tarifa Ko je raven razmišljanja nizka
- Raven razmišljanja · srednja
- Standardna tarifa Ko je raven razmišljanja srednja
- Raven razmišljanja · minimalna
- Standardna tarifa Ko je raven razmišljanja minimalna
- Cene izrecnega predpomnjenja
- Ni omogočeno Ko je zahtevano eksplicitno predpomnjenje
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.003 / 1K žetonov Izhod · Izhodni žetoni $0.018 / 1K žetonov Vhod · Branje predpomnilnika $0.0003 / 1K žetonov Vhod · Zapis v predpomnilnik $0.0001666666666666666 / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.003 / 1K žetonov Izhod · Izhodni žetoni $0.018 / 1K žetonov Vhod · Branje predpomnilnika $0.0003 / 1K žetonov Vhod · Zapis v predpomnilnik $0.0001666666666666666 / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · Anthropic Messages
{
"model": "gemini-3.5-flash",
"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-3.5-flash', '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-3.5-flash', '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))
Prejmi in shrani rezultate
Ailoot Ultra · Anthropic Messages
JSON ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vse vsebinske bloke, podpise sklepanja in dejanske ID uporabe orodij. Sestavite vse delne spremembe blokov SSE; prvi besedilni blok ni celoten izhod.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeid | Vrstastring |
Poljemodel | Vrstastring |
Poljecontent[] | Vrstatext|thinking|tool_use|other content block |
Poljestop_reason | Vrstastring|null |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra gemini-3.5-flash, google/gemini-3.5-flash
Druga imena poti metod
/chat/completions
Povezani ID-ji za klic
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions google/gemini-3.5-flash
google/gemini-3.5-flashgemini-3.5-flashgoogle/gemini-3.5-flash
Začetek
Gemini 3.5 Flash združuje multimodalno razumevanje s sklepanjem za programiranje in agentske naloge v več korakih. Sprejema besedilo, slike, video, zvok in PDF ter ustvarja besedilo; njegov dokumentirani profil podpira strukturirane izhode, orodja in vhodno omejitev 1,048,576 žetonov.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- Besedilo
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Vhod
text- Izhod
text- Izhodni format
- json ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve google/gemini-3.5-flash | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Primeri: system, user, assistant, tool, function Pogoji: Te vloge so izrecno predstavljene s tipi združljivosti v izvorni kodi; natančen nabor vlog ostaja odvisen od modela. Odvisno od modela | Privzeto— |
Poljemessages[].content | Vrstastring|content_part[]|null | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].tool_calls | Vrstatool_call[] | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].tool_call_id | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: role=tool; uporabite dejansko vrnjeni ID | Privzeto— |
Poljemessages[].name | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].reasoning_content | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: Pošljite nazaj dejansko vrnjeno sklepanje, kadar ga ta model uporablja | Privzeto— |
Poljemessages[].reasoning_details | Vrstaobject|array | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljemax_tokens | Vrstainteger | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
Poljemax_completion_tokens | Vrstainteger | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Poljestream_options.include_usage | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetemperature | Vrstanumber | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetop_p | Vrstanumber | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljestop | Vrstastring|string[] | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetools | Vrstafunction_tool[] | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetools[].type | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve function Odvisno od modela | Privzeto— |
Poljetools[].function.name | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Velja, ko: podano je funkcijsko orodje | Privzeto— |
Poljetools[].function.description | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljetools[].function.parameters | VrstaJSON_schema | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljetool_choice | Vrstastring|object | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeparallel_tool_calls | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeresponse_format | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljereasoning_effort | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljereasoning | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeservice_tier | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeinstructions | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Polje združljivosti | Privzeto— |
Poljefunctions | Vrstafunction[] | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljefunction_call | Vrstastring|object | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeprompt_cache_options | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljemodalities | Vrstastring[] | ZahtevaIzbirno | Vrednosti in omejitve text | Privzeto— |
Poljeprovider | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: provider.options je na tej besedilni poti Ultra zavrnjen | Privzeto— |
Poljecache_control.ttl | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: 1h je zavrnjen na dejanskih mestih za predpomnjenje pozivov | Privzeto— |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF8
messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages |
Parametermaterial_types | Specifikacijatext |
Parametermessages | Specifikacijapolje sporočil s strukturo role/content |
Parameterfile_material | Specifikacijadejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje |
Parameteroptional_controls | Specifikacijastream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Specifikacijaodvisno od modela; uporabniška funkcijska orodja se razlikujejo od orodij, ki jih izvaja storitev |
Parameteroutput_modalities | Specifikacijatext |
Parameterhosted_operations | Specifikacijafalse |
Parametermultimodal_input_binding | Specifikacijanull |
Življenjski cikel: synchronous_or_streamed
Pošljite natančen ID modela skupaj z messages.
Dolžina konteksta ni zgornja meja izhoda.
Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo.
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
- Raven razmišljanja · visoka
- Standardna tarifa Ko je raven razmišljanja visoka
- Raven razmišljanja · nizka
- Standardna tarifa Ko je raven razmišljanja nizka
- Raven razmišljanja · srednja
- Standardna tarifa Ko je raven razmišljanja srednja
- Raven razmišljanja · minimalna
- Standardna tarifa Ko je raven razmišljanja minimalna
- Cene izrecnega predpomnjenja
- Ni omogočeno Ko je zahtevano eksplicitno predpomnjenje
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.003 / 1K žetonov Izhod · Izhodni žetoni $0.018 / 1K žetonov Vhod · Branje predpomnilnika $0.0003 / 1K žetonov Vhod · Zapis v predpomnilnik $0.0001666666666666666 / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.003 / 1K žetonov Izhod · Izhodni žetoni $0.018 / 1K žetonov Vhod · Branje predpomnilnika $0.0003 / 1K žetonov Vhod · Zapis v predpomnilnik $0.0001666666666666666 / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/gemini-3.5-flash", "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='google/gemini-3.5-flash',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='google/gemini-3.5-flash',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")
Prejmi in shrani rezultate
Ailoot Ultra · OpenAI Chat
json ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljechoices[].index | Vrstainteger |
Poljechoices[].message.content | Vrstastring|null |
Poljechoices[].message.tool_calls | Vrstatool_call[] |
Poljechoices[].message.reasoning_content | Vrstastring |
Poljechoices[].message.reasoning_details | Vrstaobject|array |
Poljechoices[].finish_reason | Vrstastring|null |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra gemini-3.5-flash, google/gemini-3.5-flash
Druga imena poti metod
/chat/completions
Povezani ID-ji za klic
Ailoot Ultra · Anthropic Messages POST /v1/messages google/gemini-3.5-flash
google/gemini-3.5-flashgemini-3.5-flashgoogle/gemini-3.5-flash
Začetek
Gemini 3.5 Flash združuje multimodalno razumevanje s sklepanjem za programiranje in agentske naloge v več korakih. Sprejema besedilo, slike, video, zvok in PDF ter ustvarja besedilo; njegov dokumentirani profil podpira strukturirane izhode, orodja in vhodno omejitev 1,048,576 žetonov.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- json · sse
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vhod
text- Izhod
json,sse- Izhodni format
- JSON ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve google/gemini-3.5-flash | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve user, assistant | Privzeto— |
Poljemessages[].content | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemax_tokens | Vrstainteger | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF-8
niz messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages, max_tokens |
Parameteroptional_controls | Specifikacijastream |
Parametermaterial_types | Specifikacijatext |
Parametertext_file_material | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |
Življenjski cikel: synchronous_or_streamed
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
- Raven razmišljanja · visoka
- Standardna tarifa Ko je raven razmišljanja visoka
- Raven razmišljanja · nizka
- Standardna tarifa Ko je raven razmišljanja nizka
- Raven razmišljanja · srednja
- Standardna tarifa Ko je raven razmišljanja srednja
- Raven razmišljanja · minimalna
- Standardna tarifa Ko je raven razmišljanja minimalna
- Cene izrecnega predpomnjenja
- Ni omogočeno Ko je zahtevano eksplicitno predpomnjenje
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.003 / 1K žetonov Izhod · Izhodni žetoni $0.018 / 1K žetonov Vhod · Branje predpomnilnika $0.0003 / 1K žetonov Vhod · Zapis v predpomnilnik $0.0001666666666666666 / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.003 / 1K žetonov Izhod · Izhodni žetoni $0.018 / 1K žetonov Vhod · Branje predpomnilnika $0.0003 / 1K žetonov Vhod · Zapis v predpomnilnik $0.0001666666666666666 / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · Anthropic Messages
{
"model": "google/gemini-3.5-flash",
"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': 'google/gemini-3.5-flash', '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': 'google/gemini-3.5-flash', '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))
Prejmi in shrani rezultate
Ailoot Ultra · Anthropic Messages
JSON ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vse vsebinske bloke, podpise sklepanja in dejanske ID uporabe orodij. Sestavite vse delne spremembe blokov SSE; prvi besedilni blok ni celoten izhod.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeid | Vrstastring |
Poljemodel | Vrstastring |
Poljecontent[] | Vrstatext|thinking|tool_use|other content block |
Poljestop_reason | Vrstastring|null |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra gemini-3.5-flash, google/gemini-3.5-flash
Druga imena poti metod
/chat/completions
Povezani ID-ji za klic
FAQ · Google: Gemini 3.5 Flash
- Kateri vhodi in rezultati so na voljo?
POST /v1/chat/completions·gemini-3.5-flash:text→textPOST /v1/messages·gemini-3.5-flash:text→json,ssePOST /v1/chat/completions·google/gemini-3.5-flash:text→textPOST /v1/messages·google/gemini-3.5-flash:text→json,sse- Katera polja uporablja zahteva?
POST /v1/chat/completions·gemini-3.5-flash:model,messages,streamPOST /v1/messages·gemini-3.5-flash:model,messages,max_tokens,streamPOST /v1/chat/completions·google/gemini-3.5-flash:model,messages,stream,modalities,providerPOST /v1/messages·google/gemini-3.5-flash:model,messages,max_tokens,stream- Katere omejitve veljajo?
POST /v1/chat/completions·gemini-3.5-flash:messages.min_items:1POST /v1/chat/completions·google/gemini-3.5-flash:messages.min_items:1