SpaceXAI: Grok 4.20 Multi-Agent
Grok 4.20 Multi-Agent koordiniert parallel arbeitende Rechercheagenten und liefert die vom leitenden Agenten zusammengeführte Antwort. Der Hersteller dokumentiert Konfigurationen mit vier und sechzehn Agenten, Text- und Bildeingaben sowie einen Kontext mit 1.000.000 Token.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgrok-4.20-multi-agent-beta-0309 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgrok-4.20-multi-agent-beta-0309
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Grok 4.20 Multi-Agent ist die Variante des Herstellers für gemeinsame Recherchen. Mehrere Agenten bringen Perspektiven und Erkenntnisse ein; ein leitender Agent führt sie zur endgültigen Antwort zusammen. Die Modellkarte nennt Text- und Bildeingaben, Textausgabe und einen Kontext mit 1.000.000 Token. Diese Variante unterscheidet sich von den gewöhnlichen Grok-4.20-Auswahlmöglichkeiten mit und ohne Reasoning.
Der Rechercheablauf des Herstellers sammelt Informationen, gleicht Erkenntnisse miteinander ab und passt die Untersuchung an, sobald Zwischenergebnisse vorliegen. Die dokumentierten Konfigurationen verwenden vier oder sechzehn Agenten. Low oder medium wählt vier Agenten aus, high oder xhigh sechzehn. In dieser Variante bestimmt der Aufwand die Anzahl der Mitwirkenden und nicht die Reasoning-Tiefe eines einzelnen Agenten.
Das für Nutzer sichtbare Ergebnis enthält die Werkzeugaufrufe und die abschließende Antwort des leitenden Agenten. Der Zustand der Unteragenten wird im Herstellerablauf als verschlüsselter Kontext behandelt und nur über die vom Hersteller vorgesehene Option für verschlüsselte Inhalte einbezogen. Ein Abschlussbericht bildet daher die Zusammenführung durch den leitenden Agenten ab und ist kein Transkript der internen Arbeit jedes einzelnen Agenten.
Die spezielle Anleitung unterstützt eingebaute Herstellerwerkzeuge und entfernte Werkzeuganbindungen; eigene clientseitige Funktionswerkzeuge schließt sie für diese Variante aus. Ohne eingebaute Werkzeuge können die Agenten mit ihrem Wissen und Reasoning zusammenarbeiten. Die für eine Aufgabe aktivierten Werkzeuge bestimmen, ob der Ablauf suchen oder Code ausführen kann; die Bezeichnung Multi-Agent allein belegt nicht, dass solche Aktionen stattgefunden haben.
Bereiten Sie einen Rechercheauftrag mit den zu vergleichenden Dimensionen, den benötigten Belegen und der Berichtstiefe vor. Eine gezielte Frage passt zur kleineren Konfiguration, während eine vielschichtige Untersuchung in der Herstellerumgebung die größere nutzen kann. Fordern Sie ein geordnetes Ergebnis an, etwa Erkenntnisse, stützende Belege und ungeklärte Fragen. Folgeanfragen können anschließend eine Bedingung eingrenzen oder die Untersuchung unter Beibehaltung des bisherigen Kontexts erweitern.
Die spezielle Herstelleranleitung verwendet den Responses-Ablauf und erklärt, dass das ältere Chat Completions und der Parameter max_tokens für diese Variante nicht unterstützt werden. Die Kennzeichnung für Funktionsaufrufe in der Modellkarte ist somit in der konkreten Multi-Agent-Anleitung enger gefasst. Bewahren Sie diese Integrationsunterscheidung bei der Aufgabenvorbereitung und beurteilen Sie die Fertigstellung anhand des fertigen Artefakts und seiner Belege statt anhand des Umfangs paralleler Aktivitäten.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions grok-4.20-multi-agent-beta-0309
grok-4.20-multi-agent-beta-0309
grok-4.20-multi-agent-beta-0309Einstieg
Grok 4.20 Multi-Agent koordiniert parallel arbeitende Rechercheagenten und liefert die vom leitenden Agenten zusammengeführte Antwort. Der Hersteller dokumentiert Konfigurationen mit vier und sechzehn Agenten, Text- und Bildeingaben sowie einen Kontext mit 1.000.000 Token.
- Zulässige Eingaben
- Text
- Ergebnisse
- Text
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Eingabe
text- Ausgabe
text- Ausgabeformat
- json oder SSE
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits grok-4.20-multi-agent-beta-0309 | Standard— |
Feldmessages | Typmessage[] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 | Standard— |
Feldmessages[].role | Typstring | AnforderungErforderlich | Werte und Limits Modellabhängig | Standard— |
Feldmessages[].content | Typstring | AnforderungOptional | Werte und Limits Gilt, wenn: Textgespräch | Standard— |
Feldstream | Typboolean | AnforderungOptional | Werte und Limits | Standardfalse |
Kombinationen von Eingabematerialien
Text · UTF8-Text
messages[].content
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, messages |
Parametermaterial_types | Vertragtext |
Parametermessages | VertragNachrichtenarray mit role/content-Struktur |
Parameterfile_material | VertragTatsächliches UTF-8-Dokument als wörtlicher Text eingefügt; keine Datei-ID abgeleitet |
Parameteroptional_controls | Vertragstream |
Parametercontrol_scope | VertragTextgespräch; stream ist ein boolescher Wert und standardmäßig false. |
Parameteroutput_modalities | Vertragtext |
Parameterhosted_operations | Vertragfalse |
Parametermultimodal_input_binding | Vertragnull |
Methodenaliasnamen: /chat/completions
Lebenszyklus: synchronous_or_streamed
Die genaue Modell-ID zusammen mit messages senden.
Die Kontextlänge ist keine Ausgabeobergrenze.
Eine Textdatei kann wörtlichen Text liefern; Bild-, Audio- und Dateiobjekteingaben benötigen eine exakte Zuordnung.
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.004 / 1K Tokens Ausgabe · Ausgabetoken $0.012 / 1K Tokens Eingabe · Cache lesen $0 / 1K Tokens Eingabe · In Cache schreiben $0 / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
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":"grok-4.20-multi-agent-beta-0309","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="grok-4.20-multi-agent-beta-0309", 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"))
Ergebnisse abrufen und speichern
Ailoot Ultra · OpenAI Chat
json oder SSE
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Alle Antwortvarianten mit ihren Inhalten, Werkzeugaufrufen und Reasoning-Daten beibehalten. In SSE die Deltas nach Varianten- und Werkzeugindex zusammensetzen; endgültigen Beendigungsgrund und Verbrauchsdaten beibehalten.
Wenn die ursprüngliche Antwort geprüft werden muss
Anfrage- und Antwort-IDs sowie Header beibehalten. Eine allgemeine URL zum Abrufen von Textaufträgen wird nicht angegeben.
Antwortfelder
| Feld | Typ |
|---|---|
Feldchoices[].index | Typinteger |
Feldchoices[].message.content | Typstring|null |
Feldchoices[].message.tool_calls | Typtool_call[] |
Feldchoices[].message.reasoning_content | Typstring |
Feldchoices[].message.reasoning_details | Typobject|array |
Feldchoices[].finish_reason | Typstring|null |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra grok-4.20-multi-agent-beta-0309
Aliasnamen für Methodenpfade
/chat/completions
Zugehörige Aufrufer-IDs
Ailoot Ultra · Anthropic Messages POST /v1/messages grok-4.20-multi-agent-beta-0309
grok-4.20-multi-agent-beta-0309
grok-4.20-multi-agent-beta-0309Einstieg
Grok 4.20 Multi-Agent koordiniert parallel arbeitende Rechercheagenten und liefert die vom leitenden Agenten zusammengeführte Antwort. Der Hersteller dokumentiert Konfigurationen mit vier und sechzehn Agenten, Text- und Bildeingaben sowie einen Kontext mit 1.000.000 Token.
- Zulässige Eingaben
- Text
- Ergebnisse
- json · sse
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Eingabe
text- Ausgabe
json,sse- Ausgabeformat
- JSON oder SSE
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits grok-4.20-multi-agent-beta-0309 | Standard— |
Feldmessages | Typmessage[] | AnforderungErforderlich | Werte und Limits | Standard— |
Feldmessages[].role | Typstring | AnforderungErforderlich | Werte und Limits user, assistant | Standard— |
Feldmessages[].content | Typstring | AnforderungErforderlich | Werte und Limits | Standard— |
Feldmax_tokens | Typinteger | AnforderungErforderlich | Werte und Limits | Standard— |
Feldstream | Typboolean | AnforderungOptional | Werte und Limits | Standardfalse |
Kombinationen von Eingabematerialien
Text · UTF-8-Text
Zeichenfolge messages[].content
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, messages, max_tokens |
Parameteroptional_controls | Vertragstream |
Parametermaterial_types | Vertragtext |
Parametertext_file_material | VertragDas tatsächliche UTF-8-Dokument lesen und seinen Text in die angegebene Zeichenfolge für Eingabe oder Nachrichteninhalt einfügen. |
Lebenszyklus: synchronous_or_streamed
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.004 / 1K Tokens Ausgabe · Ausgabetoken $0.012 / 1K Tokens Eingabe · Cache lesen $0 / 1K Tokens Eingabe · In Cache schreiben $0 / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Anthropic Messages
{
"model": "grok-4.20-multi-agent-beta-0309",
"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': 'grok-4.20-multi-agent-beta-0309', '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': 'grok-4.20-multi-agent-beta-0309', '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))
Ergebnisse abrufen und speichern
Ailoot Ultra · Anthropic Messages
JSON oder SSE
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Alle Inhaltsblöcke, Thinking-Signaturen und tatsächlichen Werkzeugaufruf-IDs beibehalten. Alle SSE-Blockdeltas zusammensetzen; der erste Textblock ist nicht die vollständige Ausgabe.
Wenn die ursprüngliche Antwort geprüft werden muss
Anfrage- und Antwort-IDs sowie Header beibehalten. Eine allgemeine URL zum Abrufen von Textaufträgen wird nicht angegeben.
Antwortfelder
| Feld | Typ |
|---|---|
Feldid | Typstring |
Feldmodel | Typstring |
Feldcontent[] | Typtext|thinking|tool_use|other content block |
Feldstop_reason | Typstring|null |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra grok-4.20-multi-agent-beta-0309
Aliasnamen für Methodenpfade
/chat/completions
Zugehörige Aufrufer-IDs
FAQ · SpaceXAI: Grok 4.20 Multi-Agent
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/chat/completions·grok-4.20-multi-agent-beta-0309:text→textPOST /v1/messages·grok-4.20-multi-agent-beta-0309:text→json,sse- Welche Felder verwendet die Anfrage?
POST /v1/chat/completions·grok-4.20-multi-agent-beta-0309:model,messages,streamPOST /v1/messages·grok-4.20-multi-agent-beta-0309:model,messages,max_tokens,stream- Welche Grenzen gelten?
POST /v1/chat/completions·grok-4.20-multi-agent-beta-0309:messages.min_items:1