models

Anthropic: Claude Opus 4.7

Markdown · JSON

Anthropic: Claude Opus 4.7

A Claude Opus 4.7 összetett mérnöki munkára, valamint dokumentumok és apró részleteket tartalmazó képek elemzésére készült. Kiemelt figyelmet fordít az utasítások pontos követésére és az eredmény ellenőrzésére.

A modellről

Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.

Alapos mérnöki munka

Az Anthropic a Claude Opus 4.7 modellt összetett, hosszan tartó fejlesztési feladatokra készíti. Bemutatásában a munka következetes elvégzésére, az utasítások gondos követésére és a saját eredmény végső üzenet előtti ellenőrzési módjainak keresésére helyezi a hangsúlyt. A modell nehéz kódproblémák vizsgálatához és olyan szakmai anyagok készítéséhez alkalmas, amelyekhez technikai megoldás és világos megjelenítés egyaránt szükséges.

Az Opus 4.7 szó szerint követi a megfogalmazást. A feladatot érdemes kifejezett határokkal megadni: mely részek módosítandók, mi ellenőrizendő, és milyen legyen az eredmény. Ha egy feltétel a munka minden részére vonatkozik, ezt így kell leírni. A gyártó hosszú feladatokhoz a fájlalapú memóriában tárolt jegyzetek használatát is kiemeli, de e jegyzetek olvasásához és mentéséhez az alkalmazás eszközei szükségesek.

Sűrű ábrák és interfészképek értelmezése

A modell szöveget és képeket fogad, és szöveget ad ki. A vizuális bemenetnél legfeljebb 2576 pixeles hosszabb oldal, körülbelül 3,75 megapixel támogatott. Ez részletgazdag képernyőképekhez, összetett diagramokból történő információkinyeréshez és részletes vizuális mintát használó feladatokhoz hasznos.

A gyártónál a szokásos vizuális bemenet formátumai: JPEG/PNG/GIF/WebP, animációnál az első képkocka. Natív elemzésnél a hosszabb oldal 2576 pixel, a vizuális tokenek száma 4784; a nagy képek elemzés előtt kicsinyítésre kerülnek. A fájlok és paraméterek támogatását az alkalmazás metódusa határozza meg.

A nagy felbontás segít megőrizni a részleteket, de nem teszi hibátlanná a vizuális megértést. Kimenetként magyarázat, adatszerkezet vagy kód kapható; magának a képnek az elkészítése és szerkesztése nem a modell kimeneti képessége. Az interfészvezérléshez olyan eszközök szükségesek, amelyek megmutatják a modellnek a képernyőt, és műveleteket hajtanak végre az alkalmazásban.

Mélység és feladatméret

A kontextus 1 millió token, szokásos módban a maximális válasz 128 ezer token. Az adaptív gondolkodás támogatott; a budget_tokens paraméterrel működő kézi extended thinking ennél a verziónál nincs. Az effort szokásos szintje high; elérhető a low, a medium, az xhigh és a max is. Az xhigh külön beállítást ad a high és a max között a hosszan tartó mérnöki és ügynökmunkához.

Alacsony ráfordítási szinteken a modell különösen szigorúan a kért munkára korlátozódik. Összetett kutatáshoz a gyártó elegendő hely biztosítását ajánlja a gondolkodásnak és a válasznak. E verzió szöveg-tokenizálási módja megújult, ezért azonos szövegmennyiség tokenhossza nem mindig egyezik a korábbi verzióknál megszokottal.

Munkafeltételek

A beépített ismeretek megbízható határdátuma 2026. január. Aktuális kutatáshoz, dokumentummunkához és kódfuttatáshoz az alkalmazás által biztosított anyagok és eszközök használatosak. Az Opus 4.7 védelmi mechanizmusai blokkolhatják a tiltott vagy nagy kockázatú kiberbiztonsági kéréseket. Az eredmény ellenőrzésére fordított figyelme hasznos, de a végső módosításokat és következtetéseket továbbra is a konkrét környezetben kell ellenőrizni.

Gyakorlati feladat

Gyakorlati feladat

Technikai példa angolul

Review a narrowly scoped parser fix

Review this parser specification: trim outer whitespace, accept a signed base-10 integer, and reject decimals or trailing text. The current implementation uses parseInt(value, 10), so '12cats' passes. Provide a minimal JavaScript replacement and tests. Change only validation and parsing; preserve the surrounding interface and error message 'Invalid integer'.

Várt eredmény

A focused replacement function and test cases for signed integers, whitespace, decimals, trailing text and empty input.

Az eredmény ellenőrzése

12cats and 1.5 fail while ' -12 ' succeeds, and the requested error message is unchanged.
Ailoot · Anthropic Messages POST /v1/messages claude-opus-4-7

claude-opus-4-7

Anthropic /claude-opus-4-7

Kezdő lépések

A Claude Opus 4.7 összetett mérnöki munkára, valamint dokumentumok és apró részleteket tartalmazó képek elemzésére készült. Kiemelt figyelmet fordít az utasítások pontos követésére és az eredmény ellenőrzésére.

Elfogadott bemenetek
Szöveg · Képek
Eredmények
Szöveg

Elérhető az Ailootban · bemenetek és metódusok

Ailoot · Anthropic Messages POST /v1/messages
Bemenet
text, image
Kimenet
text
Kontextus
1 000 000 tokens
Maximális kimenet
131 072 tokens
Kimeneti formátum
json vagy SSE
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
claude-opus-4-7
Alapértelmezett—
MezőmessagesTípusmessage[]KövetelményKötelezőÉrtékek és korlátok
Minimális elemszám: 1
Alapértelmezett—
Mezőmessages[].roleTípusstringKövetelményKötelezőÉrtékek és korlátok
user, assistant
Alapértelmezett—
Mezőmessages[].contentTípusstring|content_block[]KövetelményKötelezőÉrtékek és korlátokAlapértelmezett—
MezősystemTípusstring|content_block[]KövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmax_tokensTípusintegerKövetelményKötelezőÉrtékek és korlátok
Minimum: 1
A korlát erre vonatkozik: a kiválasztott modell/kártya pontos felső korlátja
Alapértelmezett—
MezőstreamTípusbooleanKövetelményOpcionálisÉrtékek és korlátokAlapértelmezettfalse
MezőtemperatureTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtop_pTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőstop_sequencesTípusstring[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőtoolsTípustool[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtools[].nameTípusstringKövetelményOpcionálisÉrtékek és korlátok
Akkor alkalmazandó, ha: Eszköz megadva
Alapértelmezett—
Mezőtools[].descriptionTípusstringKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőtools[].input_schemaTípusJSON_schemaKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőtool_choiceTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőthinking.typeTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőthinking.budget_tokensTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőoutput_config.effortTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőmetadataTípusobjectKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőcache_controlTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Bemeneti anyagok kombinációi

Szöveg · UTF8 szöveg

messages[].content vagy type=text blokk

Szöveg + kép

{type:image,source:{type:base64,media_type,data}} vagy type=url típusú forrás

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétermaterial_typesSzerződéstext, image
ParaméterrequiredSzerződésmodel, messages, max_tokens
Paraméteroptional_controlsSzerződésnull
Paramétercontent_typeSzerződésapplication/json
Paramétertext_file_materialSzerződésa tényleges UTF-8 tartalom szövegként beillesztve; a fájlazonosítók/URLs külön, pontos támogatást igényelnek

Életciklus: exact retained published method

A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.

Díjcsomagok

Ailoot-metódusok díjai

Ailoot Anthropic MessagesPOST /v1/messages
Bemenet
0,005 USD / 1K
Kimenet
0,025 USD / 1K
Gyorsítótár olvasása
0,0005 USD / 1K
Írás a gyorsítótárba
0,00625 USD / 1K
Írás a gyorsítótárba, 5 perc
0,00625 USD / 1K tokens
Írás a gyorsítótárba, 1 óra
0,01 USD / 1K tokens
web_search_call
0,01 USD hívásonként
Max. hívásszám: web_search_call
8

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

A referencia-díjszabás részletei

A modellszintű referenciatáblázatok nem módosítják a metódusválasztást, az árajánlatokat vagy a díjakat. A tényleges díjak a kiválasztott Ailoot-metódus díjtételeit használják.

Modell referenciatáblázatai

Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

BeállításDíjtáblázatKontextustokenek, több mintKontextustokenek, legfeljebbDíj
BeállításOpenAI Chat · Alap tokendíjakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításOpenAI Chat · Kéréshossz szerinti 1. díjsávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításAnthropic Messages · Alap tokendíjakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításAnthropic Messages · Kéréshossz szerinti 1. díjsávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token

Példakérések

Ailoot · Anthropic Messages

Szöveges példaBemenet, képPython SDKNode.js SDKPython-adatfolyam
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "claude-opus-4-7", "max_tokens": 1024, "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+text}]
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/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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "claude-opus-4-7", "max_tokens": 1024, "messages": [{"role": "user", "content": [{"type": "text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["messages"][0]["content"].append({"type":"image","source":{"type":"base64","media_type":mime,"data":b64}})
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/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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
import anthropic
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client = anthropic.Anthropic(base_url="https://api.ailoot.ai", api_key=os.environ["AILOOT_API_KEY"], max_retries=0)
msg = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis 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(msg.to_dict(mode="json"))
import Anthropic from "@anthropic-ai/sdk";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new Anthropic({ baseURL: "https://api.ailoot.ai", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const msg = await client.messages.create({
  model: "claude-opus-4-7",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(msg);
import anthropic,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=anthropic.Anthropic(base_url="https://api.ailoot.ai",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.messages.stream(model='claude-opus-4-7',max_tokens=1024,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_message()
    save_result(final.to_dict(mode="json"),"stream-result")

Eredmények fogadása és mentése

Ailoot · Anthropic Messages

json vagy SSE

Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes tartalomblokkot, a gondolkodási tartalom aláírásait és a tényleges eszközhasználati ID-kat. Állítsa össze az összes SSE-blokk részleges frissítését; az első szövegblokk nem a teljes kimenet.

Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők
MezőTípus
MezőidTípusstring
MezőmodelTípusstring
Mezőcontent[]Típustext|thinking|tool_use|other content block
Mezőstop_reasonTípusstring|null
MezőusageTípusobject
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.

Álnevek

Modell álnevei

Ailoot claude-opus-4-7
Ailoot Ultra anthropic/claude-opus-4.7

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

anthropic/claude-opus-4.7, claude-opus-4-7

Ailoot · OpenAI Responses POST /v1/responses claude-opus-4-7

claude-opus-4-7

Anthropic /claude-opus-4-7

Kezdő lépések

A Claude Opus 4.7 összetett mérnöki munkára, valamint dokumentumok és apró részleteket tartalmazó képek elemzésére készült. Kiemelt figyelmet fordít az utasítások pontos követésére és az eredmény ellenőrzésére.

Elfogadott bemenetek
Szöveg · Képek
Eredmények
Szöveg

Elérhető az Ailootban · bemenetek és metódusok

Ailoot · OpenAI Responses POST /v1/responses
Bemenet
text, image
Kimenet
text
Kontextus
1 000 000 tokens
Maximális kimenet
131 072 tokens
Kimeneti formátum
json vagy SSE
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
claude-opus-4-7
Alapértelmezett—
MezőinputTípusstring|input_item[]KövetelményKötelezőÉrtékek és korlátokAlapértelmezett—
MezőinstructionsTípusstringKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőinput[].typeTípusstringKövetelményOpcionálisÉrtékek és korlátok
message, reasoning, function_call, function_call_output
Alapértelmezett—
Mezőinput[].contentTípusstring|content_part[]KövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőinput[].call_idTípusstringKövetelményOpcionálisÉrtékek és korlátok
Akkor alkalmazandó, ha: function_call_output; őrizze meg a ténylegesen visszaadott call_id értéket
Alapértelmezett—
Mezőinput[].outputTípusstring|content_part[]KövetelményOpcionálisÉrtékek és korlátok
Akkor alkalmazandó, ha: function_call_output
Alapértelmezett—
Mezőmax_output_tokensTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 1
Modelltől függ
Alapértelmezett—
MezőstreamTípusbooleanKövetelményOpcionálisÉrtékek és korlátokAlapértelmezettfalse
MezőtemperatureTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtop_pTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőtoolsTípustool[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtool_choiceTípusstring|objectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőparallel_tool_callsTípusbooleanKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőreasoning.effortTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőreasoning.summaryTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtext.formatTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtext.verbosityTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőincludeTípusstring[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőstoreTípusbooleanKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőprevious_response_idTípusstringKövetelményOpcionálisÉrtékek és korlátok
ID-követelmény: Csak támogatott folytatásból származó tényleges válaszazonosító
Modelltől függ
Alapértelmezett—
Mezőservice_tierTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőprompt_cache_keyTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőprompt_cache_optionsTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Bemeneti anyagok kombinációi

Szöveg · UTF8 szöveg

bemeneti szöveg vagy input_text rész

Szöveg + kép

{type:input_image,image_url}

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétermaterial_typesSzerződéstext, image
ParaméterrequiredSzerződésmodel, input
Paraméteroptional_controlsSzerződésnull
Paramétercontent_typeSzerződésapplication/json
Paramétertext_file_materialSzerződésa tényleges UTF-8 tartalom szövegként beillesztve; a fájlazonosítók/URLs külön, pontos támogatást igényelnek

Életciklus: exact retained published method

A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.

Díjcsomagok

Ailoot-metódusok díjai

Ailoot OpenAI ResponsesPOST /v1/responses
Bemenet
0,005 USD / 1K
Kimenet
0,025 USD / 1K
Gyorsítótár olvasása
0,0005 USD / 1K
Írás a gyorsítótárba
0,00625 USD / 1K
Írás a gyorsítótárba, 5 perc
0,00625 USD / 1K tokens
Írás a gyorsítótárba, 1 óra
0,01 USD / 1K tokens
web_search_call
0,01 USD hívásonként
Max. hívásszám: web_search_call
8

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

A referencia-díjszabás részletei

A modellszintű referenciatáblázatok nem módosítják a metódusválasztást, az árajánlatokat vagy a díjakat. A tényleges díjak a kiválasztott Ailoot-metódus díjtételeit használják.

Modell referenciatáblázatai

Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

BeállításDíjtáblázatKontextustokenek, több mintKontextustokenek, legfeljebbDíj
BeállításOpenAI Chat · Alap tokendíjakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításOpenAI Chat · Kéréshossz szerinti 1. díjsávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításAnthropic Messages · Alap tokendíjakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításAnthropic Messages · Kéréshossz szerinti 1. díjsávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token

Példakérések

Ailoot · OpenAI Responses

Szöveges példaBemenet, képPython SDKNode.js SDKPython-adatfolyam
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "claude-opus-4-7", "input": ""}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["input"]="Summarize this material and quote supporting source passages.\n\n"+text
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/responses \
  -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 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(json.loads(Path("result.json").read_text(encoding="utf-8")))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "claude-opus-4-7", "input": [{"role": "user", "content": [{"type": "input_text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["input"][0]["content"].append({"type":"input_image","image_url":"data:"+mime+";base64,"+b64})
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/responses \
  -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 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(json.loads(Path("result.json").read_text(encoding="utf-8")))
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)
resp = client.responses.create(model="claude-opus-4-7", input="Explain the difference between an observation and a hypothesis 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(resp.to_dict(mode="json"))
import OpenAI from "openai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.responses.create({ model: "claude-opus-4-7", input: "Explain the difference between an observation and a hypothesis in three sentences." });
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(resp);
from openai import OpenAI
import os
from pathlib import Path
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))

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)
with client.responses.stream(model="claude-opus-4-7", input="Explain the difference between an observation and a hypothesis 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_response()
    save_result(final.to_dict(mode="json"),"stream-result")

Eredmények fogadása és mentése

Ailoot · OpenAI Responses

json vagy SSE

Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizzen meg minden kimeneti elemet és tartalomrészt, a tényleges függvényhívási call_id értéket, a titkosított gondolkodási tartalmat és a használati adatokat. Folyamatos átvitelkor őrizze meg az események és elemek összes azonosítóadatát.

Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők
MezőTípus
MezőidTípusstring
MezőstatusTípusstring
Mezőoutput[]Típusmessage|reasoning|function_call|other item
Mezőoutput[].content[]Típuscontent part
MezőusageTípusobject
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.

Álnevek

Modell álnevei

Ailoot claude-opus-4-7
Ailoot Ultra anthropic/claude-opus-4.7

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

anthropic/claude-opus-4.7, claude-opus-4-7

Ailoot · OpenAI Chat POST /v1/chat/completions claude-opus-4-7

claude-opus-4-7

Anthropic /claude-opus-4-7

Kezdő lépések

A Claude Opus 4.7 összetett mérnöki munkára, valamint dokumentumok és apró részleteket tartalmazó képek elemzésére készült. Kiemelt figyelmet fordít az utasítások pontos követésére és az eredmény ellenőrzésére.

Elfogadott bemenetek
Szöveg · Képek
Eredmények
Szöveg

Elérhető az Ailootban · bemenetek és metódusok

Ailoot · OpenAI Chat POST /v1/chat/completions
Bemenet
text, image
Kimenet
text
Kontextus
1 000 000 tokens
Maximális kimenet
131 072 tokens
Kimeneti formátum
json vagy SSE
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
claude-opus-4-7
Alapértelmezett—
MezőmessagesTípusmessage[]KövetelményKötelezőÉrtékek és korlátok
Minimális elemszám: 1
Alapértelmezett—
Mezőmessages[].roleTípusstringKövetelményKötelezőÉrtékek és korlátok
Példák: system, user, assistant, tool, function
Feltételek: Ezeket a szerepeket a forráskód kompatibilitási típusai kifejezetten reprezentálják; a pontos szerepkészlet továbbra is modellspecifikus.
Modelltől függ
Alapértelmezett—
Mezőmessages[].contentTípusstring|content_part[]|nullKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].tool_callsTípustool_call[]KövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].tool_call_idTípusstringKövetelményOpcionálisÉrtékek és korlátok
Akkor alkalmazandó, ha: role=tool; használja a ténylegesen visszaadott ID-t
Alapértelmezett—
Mezőmessages[].nameTípusstringKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].reasoning_contentTípusstringKövetelményOpcionálisÉrtékek és korlátok
Akkor alkalmazandó, ha: Küldje vissza a ténylegesen visszaadott gondolkodási tartalmat, ha ez a modell használja
Alapértelmezett—
Mezőmessages[].reasoning_detailsTípusobject|arrayKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőmax_tokensTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 1
Modelltől függ
Alapértelmezett—
Mezőmax_completion_tokensTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 1
Modelltől függ
Alapértelmezett—
MezőstreamTípusbooleanKövetelményOpcionálisÉrtékek és korlátokAlapértelmezettfalse
Mezőstream_options.include_usageTípusbooleanKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőtemperatureTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtop_pTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőstopTípusstring|string[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőtoolsTípusfunction_tool[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtools[].typeTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtools[].function.nameTípusstringKövetelményKötelezőÉrtékek és korlátok
Akkor alkalmazandó, ha: Függvényeszköz megadva
Alapértelmezett—
Mezőtools[].function.descriptionTípusstringKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőtools[].function.parametersTípusJSON_schemaKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőtool_choiceTípusstring|objectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőparallel_tool_callsTípusbooleanKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőresponse_formatTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőreasoning_effortTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőreasoningTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőservice_tierTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőinstructionsTípusstringKövetelményOpcionálisÉrtékek és korlátok
Kompatibilitási mező
Alapértelmezett—
MezőfunctionsTípusfunction[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőfunction_callTípusstring|objectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőprompt_cache_optionsTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Bemeneti anyagok kombinációi

Szöveg · UTF8 szöveg

messages[].content

Szöveg + kép

{type:image_url,image_url:{url,detail}}

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétermaterial_typesSzerződéstext, image
ParaméterrequiredSzerződésmodel, messages
Paraméteroptional_controlsSzerződésnull
Paramétercontent_typeSzerződésapplication/json
Paramétertext_file_materialSzerződésa tényleges UTF-8 tartalom szövegként beillesztve; a fájlazonosítók/URLs külön, pontos támogatást igényelnek

Életciklus: exact retained published method

A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.

Díjcsomagok

Ailoot-metódusok díjai

Ailoot OpenAI ChatPOST /v1/chat/completions
Bemenet
0,005 USD / 1K
Kimenet
0,025 USD / 1K
Gyorsítótár olvasása
0,0005 USD / 1K
Írás a gyorsítótárba
0,00625 USD / 1K
Írás a gyorsítótárba, 5 perc
0,00625 USD / 1K tokens
Írás a gyorsítótárba, 1 óra
0,01 USD / 1K tokens
web_search_call
0,01 USD hívásonként
Max. hívásszám: web_search_call
8

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

A referencia-díjszabás részletei

A modellszintű referenciatáblázatok nem módosítják a metódusválasztást, az árajánlatokat vagy a díjakat. A tényleges díjak a kiválasztott Ailoot-metódus díjtételeit használják.

Modell referenciatáblázatai

Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

BeállításDíjtáblázatKontextustokenek, több mintKontextustokenek, legfeljebbDíj
BeállításOpenAI Chat · Alap tokendíjakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításOpenAI Chat · Kéréshossz szerinti 1. díjsávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításAnthropic Messages · Alap tokendíjakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításAnthropic Messages · Kéréshossz szerinti 1. díjsávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token

Példakérések

Ailoot · OpenAI Chat

Szöveges példaBemenet, képPython SDKNode.js SDKPython-adatfolyam
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "claude-opus-4-7", "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+text}]
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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "claude-opus-4-7", "messages": [{"role": "user", "content": [{"type": "text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["messages"][0]["content"].append({"type":"image_url","image_url":{"url":"data:"+mime+";base64,"+b64}})
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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
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)
resp = client.chat.completions.create(
    model="claude-opus-4-7",
    messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis 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(resp.to_dict(mode="json"))
import OpenAI from "openai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.chat.completions.create({
  model: "claude-opus-4-7",
  messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(resp);
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='claude-opus-4-7',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")

Eredmények fogadása és mentése

Ailoot · OpenAI Chat

json vagy SSE

Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes válaszváltozatot és azok tartalmát/eszközhívásait/gondolkodási tartalmát. SSE esetén válaszváltozat- és eszközindex szerint állítsa össze a részleges frissítéseket, és tartsa meg a végső befejezési okot és a használati adatokat.

Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők
MezőTípus
Mezőchoices[].indexTípusinteger
Mezőchoices[].message.contentTípusstring|null
Mezőchoices[].message.tool_callsTípustool_call[]
Mezőchoices[].message.reasoning_contentTípusstring
Mezőchoices[].message.reasoning_detailsTípusobject|array
Mezőchoices[].finish_reasonTípusstring|null
MezőusageTípusobject
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.

Álnevek

Modell álnevei

Ailoot claude-opus-4-7
Ailoot Ultra anthropic/claude-opus-4.7

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

anthropic/claude-opus-4.7, claude-opus-4-7

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions anthropic/claude-opus-4.7

anthropic/claude-opus-4.7

Anthropic /anthropic/claude-opus-4.7

Kezdő lépések

A Claude Opus 4.7 összetett mérnöki munkára, valamint dokumentumok és apró részleteket tartalmazó képek elemzésére készült. Kiemelt figyelmet fordít az utasítások pontos követésére és az eredmény ellenőrzésére.

Elfogadott bemenetek
Szöveg
Eredmények
Szöveg

Elérhető az Ailootban · bemenetek és metódusok

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Bemenet
text
Kimenet
text
Kimeneti formátum
json vagy SSE
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
anthropic/claude-opus-4.7
Alapértelmezett—
MezőmessagesTípusmessage[]KövetelményKötelezőÉrtékek és korlátok
Minimális elemszám: 1
Alapértelmezett—
Mezőmessages[].roleTípusstringKövetelményKötelezőÉrtékek és korlátok
Példák: system, user, assistant, tool, function
Feltételek: Ezeket a szerepeket a forráskód kompatibilitási típusai kifejezetten reprezentálják; a pontos szerepkészlet továbbra is modellspecifikus.
Modelltől függ
Alapértelmezett—
Mezőmessages[].contentTípusstring|content_part[]|nullKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].tool_callsTípustool_call[]KövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].tool_call_idTípusstringKövetelményOpcionálisÉrtékek és korlátok
Akkor alkalmazandó, ha: role=tool; használja a ténylegesen visszaadott ID-t
Alapértelmezett—
Mezőmessages[].nameTípusstringKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].reasoning_contentTípusstringKövetelményOpcionálisÉrtékek és korlátok
Akkor alkalmazandó, ha: Küldje vissza a ténylegesen visszaadott gondolkodási tartalmat, ha ez a modell használja
Alapértelmezett—
Mezőmessages[].reasoning_detailsTípusobject|arrayKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőmax_tokensTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 1
Modelltől függ
Alapértelmezett—
Mezőmax_completion_tokensTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 1
Modelltől függ
Alapértelmezett—
MezőstreamTípusbooleanKövetelményOpcionálisÉrtékek és korlátokAlapértelmezettfalse
Mezőstream_options.include_usageTípusbooleanKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőtemperatureTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtop_pTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőstopTípusstring|string[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőtoolsTípusfunction_tool[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtools[].typeTípusstringKövetelményOpcionálisÉrtékek és korlátok
function
Modelltől függ
Alapértelmezett—
Mezőtools[].function.nameTípusstringKövetelményKötelezőÉrtékek és korlátok
Akkor alkalmazandó, ha: Függvényeszköz megadva
Alapértelmezett—
Mezőtools[].function.descriptionTípusstringKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőtools[].function.parametersTípusJSON_schemaKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőtool_choiceTípusstring|objectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőparallel_tool_callsTípusbooleanKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőresponse_formatTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőreasoning_effortTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőreasoningTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőservice_tierTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőinstructionsTípusstringKövetelményOpcionálisÉrtékek és korlátok
Kompatibilitási mező
Alapértelmezett—
MezőfunctionsTípusfunction[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőfunction_callTípusstring|objectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőprompt_cache_optionsTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőmodalitiesTípusstring[]KövetelményOpcionálisÉrtékek és korlátok
text
Alapértelmezett—
MezőproviderTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Feltételek: A provider.options elutasításra kerül ezen az Ultra szöveges útvonalon
Alapértelmezett—
Mezőcache_control.ttlTípusstringKövetelményOpcionálisÉrtékek és korlátok
Feltételek: Az 1h elutasításra kerül a tényleges prompt-gyorsítótárazási helyeken
Alapértelmezett—
Bemeneti anyagok kombinációi

Szöveg · UTF8 szöveg

messages[].content

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétercontent_typeSzerződésapplication/json
ParaméterrequiredSzerződésmodel, messages
Paramétermaterial_typesSzerződéstext
ParamétermessagesSzerződésüzenettömb role/content szerkezettel
Paraméterfile_materialSzerződésa tényleges UTF-8 dokumentum szó szerinti szövegként beillesztve; nincs kikövetkeztetett fájlazonosító
Paraméteroptional_controlsSzerződésstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Paramétercontrol_scopeSzerződésmodellspecifikus; a felhasználói függvényeszközök eltérnek a hosztolt eszközöktől
Paraméteroutput_modalitiesSzerződéstext
Paraméterhosted_operationsSzerződésfalse
Paramétermultimodal_input_bindingSzerződésnull

Életciklus: synchronous_or_streamed

Küldje el a pontos modellazonosítót a messages mellett.

A kontextushossz nem kimeneti felső korlát.

Egy szövegfájl szó szerinti szöveget adhat meg; a kép-/hang-/fájlobjektum-bemenetek pontos hozzárendelést igényelnek.

Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód
Normál díjszabás Ha a gyors mód van kiválasztva
Flex mód
Normál díjszabás Ha a flex mód van kiválasztva
Maximális gondolkodási ráfordítás
Normál díjszabás Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Gondolkodási ráfordítás · high
Normál díjszabás Ha a gondolkodási ráfordítás értéke high
Gondolkodási ráfordítás · low
Normál díjszabás Ha a gondolkodási ráfordítás értéke low
Gondolkodási ráfordítás · max
Normál díjszabás Ha a gondolkodási ráfordítás értéke max
Gondolkodási ráfordítás · medium
Normál díjszabás Ha a gondolkodási ráfordítás értéke medium
Gondolkodási ráfordítás · xhigh
Normál díjszabás Ha a gondolkodási ráfordítás értéke xhigh

Ailoot-díjak

Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

BeállításDíjtáblázatKontextustokenek, több mintKontextustokenek, legfeljebbDíj
BeállításTokenenkénti alapárakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításA kéréshossz szerinti 1. ársávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

Példakérések

Ailoot Ultra · OpenAI Chat

curlPython SDKPython-adatfolyam
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "anthropic/claude-opus-4.7", "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='anthropic/claude-opus-4.7',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='anthropic/claude-opus-4.7',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")

Eredmények fogadása és mentése

Ailoot Ultra · OpenAI Chat

json vagy SSE

Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes válaszváltozatot és azok tartalmát/eszközhívásait/gondolkodási tartalmát. SSE esetén válaszváltozat- és eszközindex szerint állítsa össze a részleges frissítéseket, és tartsa meg a végső befejezési okot és a használati adatokat.

Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők
MezőTípus
Mezőchoices[].indexTípusinteger
Mezőchoices[].message.contentTípusstring|null
Mezőchoices[].message.tool_callsTípustool_call[]
Mezőchoices[].message.reasoning_contentTípusstring
Mezőchoices[].message.reasoning_detailsTípusobject|array
Mezőchoices[].finish_reasonTípusstring|null
MezőusageTípusobject
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.

Álnevek

Modell álnevei

Ailoot claude-opus-4-7
Ailoot Ultra anthropic/claude-opus-4.7

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

anthropic/claude-opus-4.7, claude-opus-4-7

Ailoot Ultra · Anthropic Messages POST /v1/messages anthropic/claude-opus-4.7

anthropic/claude-opus-4.7

Anthropic /anthropic/claude-opus-4.7

Kezdő lépések

A Claude Opus 4.7 összetett mérnöki munkára, valamint dokumentumok és apró részleteket tartalmazó képek elemzésére készült. Kiemelt figyelmet fordít az utasítások pontos követésére és az eredmény ellenőrzésére.

Elfogadott bemenetek
Szöveg
Eredmények
json · sse

Elérhető az Ailootban · bemenetek és metódusok

Ailoot Ultra · Anthropic Messages POST /v1/messages
Bemenet
text
Kimenet
json, sse
Kimeneti formátum
JSON vagy SSE
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
anthropic/claude-opus-4.7
Alapértelmezett—
MezőmessagesTípusmessage[]KövetelményKötelezőÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].roleTípusstringKövetelményKötelezőÉrtékek és korlátok
user, assistant
Alapértelmezett—
Mezőmessages[].contentTípusstringKövetelményKötelezőÉrtékek és korlátokAlapértelmezett—
Mezőmax_tokensTípusintegerKövetelményKötelezőÉrtékek és korlátokAlapértelmezett—
MezőstreamTípusbooleanKövetelményOpcionálisÉrtékek és korlátokAlapértelmezettfalse
Bemeneti anyagok kombinációi

Szöveg · UTF-8 szöveg

messages[].content karakterlánc

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétercontent_typeSzerződésapplication/json
ParaméterrequiredSzerződésmodel, messages, max_tokens
Paraméteroptional_controlsSzerződésstream
Paramétermaterial_typesSzerződéstext
Paramétertext_file_materialSzerződésOlvassa el a tényleges UTF-8 dokumentumot, és tegye a szövegét a jelzett bemeneti karakterláncba vagy az üzenettartalom karakterláncába.

Életciklus: synchronous_or_streamed

Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód
Normál díjszabás Ha a gyors mód van kiválasztva
Flex mód
Normál díjszabás Ha a flex mód van kiválasztva
Maximális gondolkodási ráfordítás
Normál díjszabás Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Gondolkodási ráfordítás · high
Normál díjszabás Ha a gondolkodási ráfordítás értéke high
Gondolkodási ráfordítás · low
Normál díjszabás Ha a gondolkodási ráfordítás értéke low
Gondolkodási ráfordítás · max
Normál díjszabás Ha a gondolkodási ráfordítás értéke max
Gondolkodási ráfordítás · medium
Normál díjszabás Ha a gondolkodási ráfordítás értéke medium
Gondolkodási ráfordítás · xhigh
Normál díjszabás Ha a gondolkodási ráfordítás értéke xhigh

Ailoot-díjak

Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

BeállításDíjtáblázatKontextustokenek, több mintKontextustokenek, legfeljebbDíj
BeállításTokenenkénti alapárakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token
BeállításA kéréshossz szerinti 1. ársávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.01 / 1K token
Kimenet · Kimeneti tokenek $0.05 / 1K token
Bemenet · Gyorsítótár olvasása $0.001 / 1K token
Bemenet · Írás a gyorsítótárba $0.0125 / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra $0.02 / 1K token

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

Példakérések

Ailoot Ultra · Anthropic Messages

Teljes, minimális JSON-törzscurl · használd a saját UTF-8-dokumentumodatPython · mentsd el a teljes eredményt
{
  "model": "anthropic/claude-opus-4.7",
  "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': 'anthropic/claude-opus-4.7', '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': 'anthropic/claude-opus-4.7', '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))

Eredmények fogadása és mentése

Ailoot Ultra · Anthropic Messages

JSON vagy SSE

Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes tartalomblokkot, a gondolkodási tartalom aláírásait és a tényleges eszközhasználati ID-kat. Állítsa össze az összes SSE-blokk részleges frissítését; az első szövegblokk nem a teljes kimenet.

Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők
MezőTípus
MezőidTípusstring
MezőmodelTípusstring
Mezőcontent[]Típustext|thinking|tool_use|other content block
Mezőstop_reasonTípusstring|null
MezőusageTípusobject
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.

Álnevek

Modell álnevei

Ailoot claude-opus-4-7
Ailoot Ultra anthropic/claude-opus-4.7

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

anthropic/claude-opus-4.7, claude-opus-4-7

FAQ · Anthropic: Claude Opus 4.7
Milyen bemenetek és eredmények érhetők el?

POST /v1/messages · claude-opus-4-7: text, image → text

POST /v1/responses · claude-opus-4-7: text, image → text

POST /v1/chat/completions · claude-opus-4-7: text, image → text

POST /v1/chat/completions · anthropic/claude-opus-4.7: text → text

POST /v1/messages · anthropic/claude-opus-4.7: text → json, sse

Mely mezőket használja a kérés?

POST /v1/messages · claude-opus-4-7: model, messages, system, max_tokens, stream, metadata

POST /v1/responses · claude-opus-4-7: model, input, instructions, stream

POST /v1/chat/completions · claude-opus-4-7: model, messages, stream

POST /v1/chat/completions · anthropic/claude-opus-4.7: model, messages, stream, modalities, provider

POST /v1/messages · anthropic/claude-opus-4.7: model, messages, max_tokens, stream

Milyen korlátok érvényesek?

POST /v1/messages · claude-opus-4-7: ctx: 1000000; max_out: 131072; messages.min_items: 1; max_tokens.minimum: 1

POST /v1/responses · claude-opus-4-7: ctx: 1000000; max_out: 131072

POST /v1/chat/completions · claude-opus-4-7: ctx: 1000000; max_out: 131072; messages.min_items: 1

POST /v1/chat/completions · anthropic/claude-opus-4.7: messages.min_items: 1

További részletek

Csatlakoztassa az Ailootot a Claude Code-hoz, OpenCode-hoz, Hermeshez vagy saját alkalmazásához.

A vállalat és projektportfóliója

A vállalat és projektportfóliója: ügyfelek milliói; havi értékesítés milliárdos nagyságrendben.

Vásároljon tokeneket kedvezménnyel.

Előfizetési kedvezmény rendszeres munkához. Promókódok — akár 50% tokenvásárlási kedvezmény.

Előfizetés
Válasszon kedvezményes tarifát a rendszeres kéréseihez.
Promókód akár 50%-ig
Vásárláskor adja meg a kódot. Az ár az érvényes akció szerint újraszámolódik.
Költségek az előzményekben
Minden kéréshez megmarad a modell, a tokenek és az összeg.

Előfizetés kiválasztása · Modellárak megtekintése

Csatlakoztassa az API-t az értékesített termékéhez.

SaaS, alkalmazások és botok — az Ailoot ajánlati feltételei és licencszerződése alapján. Viszonteladáshoz kérjen viszonteladói licencet.

Kereskedelmi alkalmazás
Építsen szöveg-, kép-, videó- és hanggenerálást szolgáltatása fizetős funkcióiba.
Viszonteladói licenc
Küldje el a projekt leírását és a hozzáférés módját. Kérjen írásos használati és viszonteladási feltételeket.
Dokumentumok a weboldalon
Az ajánlati feltételek, licencszerződés és adatkezelési szabályzat már a csatlakoztatás előtt elérhető.

Viszonteladói licenc kérése · Ajánlati feltételek és licencszerződés