Source: https://ailoot.ai/models/de-at/mistralai-codestral-2508-u003a-batch/
Canonical: https://ailoot.ai/models/de-at/mistralai-codestral-2508-u003a-batch/
Language: de-at

# Mistral: Codestral 2508 (batch)

[Markdown](https://ailoot.ai/models/de-at/mistralai-codestral-2508-u003a-batch/index.md) · [JSON](https://ailoot.ai/models/de-at/mistralai-codestral-2508-u003a-batch/facts.json)

## [Mistral: Codestral 2508 (batch)](https://ailoot.ai/models/de-at/mistralai-codestral-2508-u003a-batch/)

Codestral 2508 ist das Textmodell von Mistral AI für Codegenerierung und kontextbezogene Vervollständigung. Es ist für häufige Editoraufgaben optimiert, darunter Fill-in-the-Middle und mehrzeilige Änderungen, mit einem vom Hersteller angegebenen Kontext von 128k sowie dokumentierten Funktionen für Chat, strukturierte Ausgaben und Werkzeuge.

- [**Ailoot Ultra · Stapelverarbeitung** `POST /v1/batches` `mistralai/codestral-2508:batch`](https://ailoot.ai/models/de-at/mistralai-codestral-2508-u003a-batch/#method-0)

Ü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.

Codestral 2508 ist das Programmiermodell von Mistral AI für häufige Vervollständigungs- und Generierungsaufgaben mit hohen Anforderungen an geringe Latenz. Es erhält Quellcode und textliche Anforderungen und gibt Text zurück, der eine Implementierung, Ergänzung, Korrektur oder Erklärung enthalten kann. Die benannte Ausgabe 2508 konzentriert sich auf den aktuellen Bearbeitungskontext der entwickelnden Person; sie ist weder ein Embedding-Modell noch für sich allein ein vollständiger Repository-Agent.

Codevervollständigung und das Update 2508

Der Hersteller positioniert Codestral für Fill-in-the-Middle-Vervollständigung und mehrzeilige Bearbeitung. Die Veröffentlichung beschreibt Verbesserungen am Vervollständigungsverhalten, darunter die Verringerung unkontrolliert weiterlaufender Generierung, sowie Verbesserungen beim Befolgen von Anweisungen und bei Codeaufgaben im Chatmodus. Das sind Änderungen an dieser Codestral-Ausgabe; die Such- und autonomen Agentenfunktionen des umgebenden Programmier-Stacks gehören zu gesondert benannten Komponenten.

Halten Sie bei einer Vervollständigungsaufgabe die relevante Funktionssignatur, Deklarationen und den Aufrufkontext zusammen mit der Cursorposition bereit. Geben Sie an, ob das gewünschte Ergebnis nur der fehlende Code oder eine vollständig überarbeitete Funktion ist. Eine editorbezogene Anfrage könnte einen Schleifenrumpf verlangen, der den bestehenden Rückgabetyp beibehält, doppelte Werte bewahrt und die Eingabe des Aufrufers nicht verändert. Damit hat das Ergebnis eine konkrete Einfügestelle und ein definiertes Verhalten.

Vorbereitung für Fill-in-the-Middle

In der FIM-Schnittstelle des Herstellers liefert der Prompt den zu vervollständigenden Text oder Code; ein optionales Suffix liefert das Material nach der Lücke. Sind beide angegeben, füllt das Modell den Zwischenraum. Ohne Suffix setzt es den Prompt fort. Das unterscheidet sich von einer gewöhnlichen Gesprächsanfrage, die eine Codeänderung samt Erklärung verlangt; jede Vorbereitungsform definiert einen anderen Ausgabevertrag.

Eine nützliche Eingabe für die Lückenvervollständigung enthält den Funktionsanfang, den Code, der auf die Einfügung folgen muss, sowie relevante Typ- oder Hilfsdefinitionen. Bewahren Sie Einrückungen und Begrenzungszeichen, damit der zurückgegebene Text in das vorhandene Fragment passt. Benötigt die Aufgabe nur den fehlenden Rumpf, verlangen Sie diesen statt einer Neufassung der ganzen Datei. Eine gesonderte Chatfrage kann erklären lassen, warum das ergänzte Fragment die Anforderung erfüllt.

Die offizielle FIM-Dokumentation erlaubt ein Budget für Ausgabetokens und verlangt, dass der Prompt zusammen mit diesem Budget innerhalb des Modellkontexts bleibt. Sie dokumentiert außerdem Stoppsequenzen und das Streaming erzeugter Inhalte. Wählen Sie einen Vervollständigungsablauf, wenn das Ergebnis in eine Codelücke passen muss, und einen Gesprächsablauf, wenn die Aufgabe Code samt Erklärung verlangt.

Kontext und ergänzende Funktionen

Die Modellseite nennt ein Kontextfenster von 128k. Nutzen Sie den Kontext für die Quellen und Deklarationen, die die beabsichtigte Änderung bestimmen, und formulieren Sie die eigentliche Bearbeitungsaufgabe ausdrücklich. Geben Sie bei einer Fehlerbehebung die betroffene Funktion, eine konkrete fehlschlagende Eingabe, das erwartete Ergebnis und den Fehler oder das beobachtete Verhalten an. Verlangen Sie die vorgeschlagene Korrektur getrennt von Erklärung und Beispielen.

Die Seite nennt neben Chat- und FIM-Fähigkeiten auch strukturierte Ausgaben, Funktionsaufrufe, vorhergesagte Ausgaben, Fragen zu Dokumenten, Antwortpräfixe und Stapelverarbeitung. Definieren Sie für ein strukturiertes Codeprüfergebnis Felder wie das betroffene Symbol, die beobachtete Abweichung, die vorgeschlagene Änderung und die noch zu klärende Annahme. Mistrals Anleitung für strukturierte Ausgaben unterscheidet zwischen JSON-Modus und benutzerdefiniertem Schema; das gewünschte JSON-Format wird im Prompt angegeben.

Vorhergesagte Ausgaben sind für Inhalte gedacht, bei denen große Teile der Antwort bereits bekannt sind. Sie können verwendet werden, wenn ein Dokument oder eine Codedatei mit einer begrenzten Änderung neu erzeugt und der übrige Inhalt bewahrt werden soll. Geben Sie die genaue Änderung und das zu erhaltende Material an. Ein Antwortpräfix liefert dagegen einen bekannten Anfang, von dem aus die Generierung fortgesetzt wird; es unterscheidet sich sowohl von einem bekannten vollständigen Inhalt als auch von einem FIM-Suffix.

Eine Dokumentationsfrage kann den Dokumentverarbeitungsablauf des Herstellers nutzen, um vor der Analyse durch das Sprachmodell Text und Struktur mittels OCR aufzubereiten. Stellen Sie bei bereits als Text vorhandenem Programmiermaterial die relevanten Dokumentationsabschnitte bereit und fragen Sie, welche Bedingung für die Implementierung maßgeblich ist. Ordnen Sie jede extrahierte Anforderung ihrem Quellabschnitt zu, damit der erzeugte Code oder die Erklärung mit der gelieferten Spezifikation verbunden bleibt.

Werkzeuge und praktische Ergebnisse

Bei Funktionsaufrufen stellt die Anwendung beschriebene Operationen und ihre Parameter bereit. Das Modell bereitet einen Aufruf vor, die Anwendung führt ihn aus, und das zurückgegebene Ergebnis wird zum Kontext für die nächste Antwort. Ein Programmierassistent kann über diesen Zyklus ein Abfrage- oder Berechnungsergebnis erhalten; das Kompilieren, Testen oder Anwenden einer vorgeschlagenen Änderung erfordert jedoch weiterhin die umgebende Entwicklungsumgebung.

Definieren Sie für eine praktische Korrektur die öffentliche Schnittstelle, die kompatibel bleiben muss, und verlangen Sie das überarbeitete Fragment, eine knappe Erklärung und Beispieleingaben mit erwarteten Ausgaben. Geben Sie für eine zu generierende Funktion die akzeptierten Typen und Randbedingungen an. Stellen Sie für eine Erklärung die nachzuverfolgende Eingabe bereit, damit die Antwort einen konkreten Ausführungspfad mit dem zurückgegebenen Wert verbindet.

Codestral erzeugt Text. Es übernimmt weder Codesuchvektoren von Codestral Embed noch Repository-Automatisierung von Devstral oder Bilderzeugung von einem visuellen Modell. Die genaue Modellseite für 2508 veröffentlicht weder eine Parameterzahl noch eine unabhängige maximale Antwortlänge, die von einer anderen Veröffentlichung übernommen werden könnte. Bewahren Sie die benannte Ausgabe, den Programmierkontext und das verlangte Artefakt, wenn Sie einen wiederholbaren Editor- oder Chatablauf vorbereiten.

**Ailoot Ultra · Stapelverarbeitung** `POST /v1/batches` `mistralai/codestral-2508:batch`

[`mistralai/codestral-2508:batch`](https://ailoot.ai/models/de-at/#m=mistralai%2Fcodestral-2508%3Abatch&route=Ultra&caller=mistralai%2Fcodestral-2508%3Abatch&fmt=batches)

Mistral /`mistralai/codestral-2508:batch`

### Einstieg

Codestral 2508 ist das Textmodell von Mistral AI für Codegenerierung und kontextbezogene Vervollständigung. Es ist für häufige Editoraufgaben optimiert, darunter Fill-in-the-Middle und mehrzeilige Änderungen, mit einem vom Hersteller angegebenen Kontext von 128k sowie dokumentierten Funktionen für Chat, strukturierte Ausgaben und Werkzeuge.

Zulässige Eingaben

Text

Ergebnisse

Text

### In Ailoot verfügbar · Eingaben und Methoden

**Ailoot Ultra · Stapelverarbeitung** `POST /v1/batches`

Eingabe

`text`

Ausgabe

`text`

Ausgabeformat

eingebettetes JSON unter results\[\].response.body

| Feld | Typ | Anforderung | Werte und Limits | Standard |
| --- | --- | --- | --- | --- |
| Feld`endpoint` | Typ`string` | AnforderungErforderlich | Werte und Limits /v1/chat/completions | Standard— |
| Feld`model` | Typ`string` | AnforderungErforderlich | Werte und Limits mistralai/codestral-2508:batch | Standard— |
| Feld`requests` | Typ`batch_item[]` | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 | Standard— |
| Feld`requests[].custom_id` | Typ`string` | AnforderungErforderlich | Werte und Limits | Standard— |
| Feld`requests[].body.messages` | Typ`message[]` | AnforderungErforderlich | Werte und Limits | Standard— |
| Feld`completion_window` | Typ`string` | AnforderungOptional | Werte und Limits 24h | Standard— |
| Feld`provider` | Typ`object\|null` | AnforderungOptional | Werte und Limits | Standard— |
| Feld`requests[].body.model` | Typ`string` | AnforderungOptional | Werte und Limits mistralai/codestral-2508:batch, mistralai/codestral-2508 | Standard— |
| Feld`provider.only` | Typ`string[]` | AnforderungOptional | Werte und Limits mistral | Standard— |
| Feld`provider.allow_fallbacks` | Typ`boolean\|null` | AnforderungOptional | Werte und Limits false, null | Standard— |

Methodenparameter und Lebenszyklus

| Parameter | Vertrag |
| --- | --- |
| Parameter`content_type` | Vertragapplication/json |
| Parameter`required` | Vertragendpoint, model, requests |
| Parameter`material_types` | Vertragtext |
| Parameter`representation` | Vertrageingebettete requests\[\]; jedes Element enthält custom\_id und body |
| Parameter`request_endpoint_profile` | Vertrag/v1/chat/completions |
| Parameter`file_material` | VertragDer Aufrufer kann tatsächliches UTF-8-JSONL lokal in requests\[\] einlesen. Es werden weder ein Upload-Zweck noch input\_file\_id oder eine Dateireferenz verwendet. Fehlendes oder leeres Kundenmaterial stoppt die Vorbereitung vor POST. |
| Parameter`serialization_order` | Vertragendpoint, model, provider (falls angegeben), completion\_window (falls angegeben), requests als letztes Feld |
| Parameter`optional_controls` | Vertragprovider.only, provider.allow\_fallbacks, completion\_window |
| Parameter`schema_scope` | VertragAnfragekörper für Text Chat Completions in der dokumentierten Inline-Batch-Struktur. |

Lebenszyklus: `asynchronous`

`GET /v1/batches/{operation_id}` · die tatsächliche response.id der ursprünglichen Erstellungsantwort; derselbe Nutzer/Schlüssel/dieselbe Gruppe

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

Preise für explizites Caching

Nicht aktiviert Wenn explizites Caching angefordert wird

#### Ailoot-Tarife

#### Preise nach Konfiguration

Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.

| Konfiguration | Tarifstaffel | Kontexttoken, mehr als | Kontexttoken, bis einschließlich | Gebühr |
| --- | --- | --- | --- | --- |
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken **$0.0003** / 1K Tokens Ausgabe · Ausgabetoken **$0.0009** / 1K Tokens Eingabe · Cache lesen **$0.00003** / 1K Tokens Eingabe · In Cache schreiben **—** / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde **—** / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken **$0.0003** / 1K Tokens Ausgabe · Ausgabetoken **$0.0009** / 1K Tokens Eingabe · Cache lesen **$0.00003** / 1K Tokens Eingabe · In Cache schreiben **—** / 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 →](https://ailoot.ai/docs/de-at/billing/reserve/)

### Beispielanfragen

#### Ailoot Ultra · Stapelverarbeitung

curl · gespeicherte BeispieldatenPython HTTP · tatsächliche JSONL-Daten des KundenPython · jedes fertiggestellte Ergebnis speichern

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"mistralai/codestral-2508:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
```

```python
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['mistralai/codestral-2508:batch', 'mistralai/codestral-2508']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"mistralai/codestral-2508:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
```

```python
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
```

### Ergebnisse abrufen und speichern

#### Ailoot Ultra · Stapelverarbeitung

eingebettetes JSON unter results\[\].response.body

- `GET /v1/batches/{operation_id}`

##### Auftragsstatus prüfen

curl · Status des ursprünglichen Vorgangs

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
```

##### Alle fertiggestellten Ergebnisse aufbewahren

Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.

Das vollständige ursprüngliche Status-JSON, jedes Ergebnis/jede custom\_id und den vollständigen Antwort- oder Fehlerkörper aufbewahren. Abgeschlossene results\[\] ohne Filterung als JSONL speichern.

##### Wenn die ursprüngliche Antwort geprüft werden muss

Die ursprüngliche Vorgangs-ID beibehalten. Bei 503 result\_pending\_check gilt X-Should-Retry:false; einen ursprünglichen Batch mit unbekanntem Ausgang niemals erneut einreichen.

Antwortfelder

| Feld | Typ |
| --- | --- |
| Feld`results[].custom_id` | Typstring |
| Feld`results[].response.body.choices[].message.content` | Typstring\|null |
| Feld`results[].error` | Typobject\|null |
| Feld`usage` | Typobject\|null |
| Feld`id` | Typstring |
| Feld`model` | Typstring |
| Feld`endpoint` | Typstring |
| Feld`status` | Typstring |
| Feld`request_counts` | Typobject |
| Feld`results[].id` | Typstring |
| Feld`results[].response.status_code` | Typinteger |
| Feld`results[].response.request_id` | Typstring |

Fehler und nächste Schritte

| Antwort | Bedingung | Nächster Schritt |
| --- | --- | --- |
| Antwort400 · `invalid_request_error` | BedingungUngültige Struktur der dokumentierten Inline-Einbettung, doppelte Schlüssel, ungültige Identitätsangaben zu einem Element oder ein Konflikt mit den konfigurierten Modellfähigkeiten. | Nächster SchrittDie angegebenen Felder vor jeder neuen Einreichung korrigieren. |
| Antwort401 · `authentication_error` | BedingungUngültiger API-Schlüssel. | Nächster SchrittDen autorisierten Ailoot-Schlüssel verwenden. |
| Antwort403 · `permission_error` | BedingungGruppe für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Berechtigung des Schlüssels bzw. der Gruppe prüfen. |
| Antwort422 · `invalid_request_error` | BedingungStapelverarbeitung wird über das Guthaben abgerechnet; die Erstellung über ein Abonnement wird abgelehnt. | Nächster SchrittDie autorisierte Gruppe mit Guthabenabrechnung verwenden. |
| Antwort422 · `price_unavailable` | BedingungFür die Batch-Eingabe kann kein Preisangebot erstellt werden. | Nächster SchrittAntwort aufbewahren; die dokumentierte Eingabe der API-Familie verwenden. |
| Antwort402 · `billing_error` | BedingungReservierung für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Zulassung klären, bevor eine neue Anfrage gestellt wird. |
| Antwort503 · `price_unavailable` | BedingungMethodenpreis bzw. native Tarife für Stapelverarbeitung nicht verfügbar. | Nächster SchrittAntwort aufbewahren; keine anderen Preise einsetzen. |
| Antwort503 · `api_error` | BedingungDie genaue Anbieterroute ist nicht verfügbar. | Nächster SchrittAntwort zur Reparatur der Route aufbewahren. |
| Antwort503 · `result_pending_check` | BedingungDas ursprüngliche Ergebnis muss geprüft werden; X-Should-Retry:false. | Nächster SchrittDie ursprüngliche operation\_id/id beibehalten und ihren Status lesen; den ursprünglichen POST niemals wiederholen. |
| Antwort404 · `not_found` | BedingungDer Batch-Vorgang, dessen Status abgefragt wird, ist nicht vorhanden oder gehört einer anderen Identität. | Nächster SchrittDie genaue ursprüngliche id und denselben Nutzer/Schlüssel/dieselbe Gruppe verwenden. |

### Aliasnamen

#### Modellaliasnamen

**Ailoot Ultra** [`mistralai/codestral-2508:batch`](https://ailoot.ai/models/de-at/#m=mistralai%2Fcodestral-2508%3Abatch&route=Ultra&caller=mistralai%2Fcodestral-2508%3Abatch&fmt=batches)

#### Aliasnamen für Methodenpfade

Verwenden Sie die oben angezeigten Methodenpfade.

#### Zugehörige Aufrufer-IDs

[`mistralai/codestral-2508:batch`](https://ailoot.ai/models/de-at/#m=mistralai%2Fcodestral-2508%3Abatch&route=Ultra&caller=mistralai%2Fcodestral-2508%3Abatch&fmt=batches)

FAQ · Mistral: Codestral 2508 (batch)

Welche Eingaben und Ergebnisse sind verfügbar?

`POST /v1/batches` · `mistralai/codestral-2508:batch`: `text` → `text`

Welche Felder verwendet die Anfrage?

`POST /v1/batches` · `mistralai/codestral-2508:batch`: `endpoint`, `model`, `requests`, `completion_window`, `provider`

Welche Grenzen gelten?

`POST /v1/batches` · `mistralai/codestral-2508:batch`: `requests.min_items`: `1`

Verbinden Sie Ailoot mit Claude Code, OpenCode, Hermes oder Ihrer eigenen Anwendung.

## Das Unternehmen und sein Projektportfolio

Das Unternehmen und sein Projektportfolio: Millionen von Kunden; monatliche Umsätze in Milliardenhöhe.

## Tokens mit Rabatt kaufen.

Aborabatt für regelmäßige Arbeit. Aktionscodes bieten bis 50% beim Tokenkauf.

Abo

Wählen Sie einen Tarif mit Rabatt für Ihre regelmäßigen Anfragen.

Aktionscode bis 50%

Geben Sie den Code beim Kauf ein. Der Preis wird nach den gültigen Aktionsbedingungen berechnet.

Ausgaben in der Historie

Modell, Tokens und Betrag werden für jede Anfrage gespeichert.

[Abo wählen](https://ailoot.ai/docs/de-at/billing/subscriptions/) · [Modellpreise ansehen](https://ailoot.ai/models/de-at/)

## Verbinden Sie die API mit dem Produkt, das Sie verkaufen.

SaaS, Anwendungen und Bots nach dem offiziellen Angebot und Lizenzvertrag von Ailoot. Fordern Sie für den Weiterverkauf eine Reseller-Lizenz an.

Kommerzielle Anwendung

Integrieren Sie Text-, Bild-, Video- und Audioerzeugung in kostenpflichtige Funktionen Ihres Dienstes.

Reseller-Lizenz

Senden Sie Projektbeschreibung und Zugangsmodell. Fordern Sie schriftliche Nutzungs- und Weiterverkaufsbedingungen an.

Dokumente auf der Website

Offizielles Angebot, Lizenzvertrag und Datenschutzerklärung sind vor der Verbindung zugänglich.

[Reseller-Lizenz anfordern](mailto:support@ailoot.ai) · [Offizielles Angebot und Lizenzvertrag](https://ailoot.ai/legal/offer?lang=de-at)

## Ailoot · Das Unternehmen und sein Projektportfolio





Ailoot baut auf bewährte Betriebserfahrung, einen großen Kundenstamm, stabilen Service und kontinuierliche KPI-Kontrolle.





Das Unternehmen und sein Projektportfolio: Millionen von Kunden; monatliche Umsätze in Milliardenhöhe.





Ailoot nutzt diese Betriebserfahrung für den API-Zugang zu KI-Funktionen in Kundenprodukten, Agenten, Anwendungen und Automatisierungen.
