Die Doubao-API wird über Volcano Ark bereitgestellt. Die Rechnung ist keine feste Gebühr pro Aufruf, sondern ergibt sich aus Eingabe-Tokens, Ausgabe-Tokens, Cache, Inferenzart und reservierten Ressourcen. Viele Teams kalkulieren mit einem einzigen Stückpreis und stellen nach dem Start fest, dass die Kosten höher liegen. Die Ursache ist dann meist keine Preiserhöhung des Modells, sondern eine andere Eingabestruktur, Cache-Trefferquote oder Aufrufart als bei der Schätzung.

Dieser Artikel zerlegt die Abrechnung der Doubao-API in einzeln prüfbare Positionen und gibt eine Reihenfolge für Schätzung und Kostensenkung. Konkrete Stückpreise entnehmen Sie der Seite Modellpreise und der Preisliste von Volcano Ark; Preise und Regeln können sich ändern.

Hinweis: Doubao (豆包), Volcano Ark (火山方舟) und Volcano Engine sind Marken der jeweiligen Rechteinhaber. Dieser Artikel dient ausschließlich der technischen Erläuterung und begründet keine Geschäftsbeziehung. Abrechnungs- und Rechnungsregeln richten sich nach den Anbieterseiten.

1. Woraus die Rechnung besteht

Die Online-Inferenz von Volcano Ark wird nach Tokens im Nachhinein abgerechnet, die vollständige Rechnung kann jedoch auch Cache-Speicher, Batch-Inferenz, Kapazitätspakete und Fine-Tuning umfassen.

Abrechnungsposition Entsteht wann Einheit Hinweis
Eingabe (Cache-Miss) Prompt gelangt erstmals in den Kontext Token entspricht prompt_tokens
Eingabe (Cache-Treffer) Ein zuvor gecachtes Präfix wird wiederverwendet Token entspricht cached_tokens, Preis meist niedriger
Cache-Speicher Nach Aktivierung des Context-Cache Token × Stunde Abrechnung nach maximalem Speicherstand je Kalenderstunde
Ausgabe Modell erzeugt Text oder strukturierte Ergebnisse Token entspricht completion_tokens
Batch-Inferenz Offline-Stapelverarbeitung Token eigener Preis, meist keine Anrechnung auf Freikontingente
TPM-Kapazitätspaket Reservierter Durchsatz pro Minute Kaufdauer wird auch ohne Aufrufe berechnet
Modelleinheit Exklusive Rechenkapazität Kaufdauer wird auch ohne Aufrufe berechnet
Fine-Tuning Trainingsphase Token × Epochen oder Rechenleistung getrennt von Inferenzkosten

Wer zuerst zwischen „pay as you go“ und „gekauft und trotzdem fällig“ unterscheidet, übersieht im Budget keine Position. Erstere schwankt mit dem Verkehr, letztere ist ein Fixkostenblock.

2. Wie Eingabe und Ausgabe berechnet werden

Die Eingabe umfasst alles, was in einer Anfrage in den Kontext gelangt: System-Prompt, Gesprächsverlauf, Tool-Definitionen, abgerufene Dokumente sowie multimodale Inhalte wie Bilder. All das wird in Tokens umgerechnet und zum Eingabepreis berechnet. Die Ausgabe ist der tatsächlich erzeugte Inhalt und wird zum Ausgabepreis berechnet, der meist höher liegt.

Einige leicht übersehene Details:

  • Wird bei mehrstufigen Dialogen jedes Mal der vollständige Verlauf mitgesendet, summieren sich die Eingabe-Tokens über die Runden, statt nur den letzten Satz zu zählen.
  • Auch Schema und Funktionsbeschreibungen von Tool-Aufrufen belegen Eingabe-Tokens; je mehr Tools, desto größer der Fixaufwand.
  • Multimodale Eingaben wie Bilder und Audio werden nach Regeln umgerechnet und lassen sich nicht allein anhand der Textlänge schätzen.
  • Bei Reasoning-Modellen zählt der erzeugte Denkinhalt üblicherweise zur Ausgabe; maßgeblich ist die Abrechnungsdokumentation des Anbieters.

Für das Budget reicht daher nicht die Frage „Was kostet Eingabe, was Ausgabe?“, sondern es braucht auch die Frage „Wie viel Eingabe und Ausgabe stecken in meinen Anfragen?“. Ein Kundenservice-Bot hat viel Eingabe und kurze Ausgabe, die Langtextgenerierung ist umgekehrt; die Kostenstrukturen unterscheiden sich grundlegend.

3. Context-Cache: spart Geld, kann aber selbst kosten

Die Logik des Context-Cache ist die Wiederverwendung eines stabilen Präfixes. Sind die Anfänge zweier Anfragen identisch, wird der Treffer zum niedrigeren Cache-Preis berechnet und nur der neue Inhalt zum normalen Eingabepreis. Kostenlos ist das jedoch nicht:

  1. Cache-Treffer werden über cached_tokens abgerechnet; der Preis liegt unter dem normalen Eingabepreis, aber nicht bei null.
  2. Der Cache-Speicher wird pro Stunde berechnet, üblicherweise nach der maximal gespeicherten Token-Menge je Kalenderstunde.
  3. Caching ist eine Best-Effort-Funktion ohne Zusage auf einen Treffer; bei niedriger Trefferquote können die Speicherkosten die eingesparten Eingabekosten übersteigen.

Damit Caching wirklich spart, gehören stabile Inhalte an den Anfang der Anfrage: fester System-Prompt, feste Tool-Definitionen, festes Wissenspräfix. Zeitstempel, Zufalls-IDs, Nutzernamen und dynamische Suchergebnisse gehören ans Ende. Wenn sich jede Anfrage fachlich vollständig unterscheidet, sollte man den Cache zunächst deaktivieren und erst nach Beobachtung der Rechnung entscheiden.

4. Online, Batch und Kapazitätspaket richtig wählen

Volcano Ark bietet mehrere Inferenzarten mit unterschiedlichen Preisen und Einsatzbereichen:

  • Online-Inferenz nach Tokens, Nachzahlung: geeignet für schwankenden Verkehr und normale Latenzanforderungen; ohne Aufruf keine Kosten, neue Nutzer erhalten meist ein anrechenbares Freikontingent.
  • Batch-Inferenz: geeignet für Offline-Kennzeichnung, Inhaltsprüfung und Massenzusammenfassungen ohne Echtzeitbedarf; der Preis ist meist niedriger, eine Anrechnung auf Freikontingente ist jedoch nicht möglich.
  • TPM-Kapazitätspaket: geeignet für Produktionslast mit planbarem Verkehr und stabilem Durchsatz; wird tage- oder stundenweise gekauft und auch ohne Aufrufe berechnet.
  • Modelleinheit: bietet exklusive Rechenkapazität für feinabgestimmte Modelle oder besondere Parallelitätsanforderungen und ist ein Fixkostenblock.

Beim Vergleich nicht nur den Stückpreis ansehen. Batch ist günstig, liefert Ergebnisse aber verzögert; ein Kapazitätspaket ist stabil, kostet aber auch in ruhigen Zeiten. Wer das Geschäft nach „Echtzeit/Offline“ und „planbarer Verkehr“ in zwei Klassen teilt und dann die Abrechnungsart zuordnet, kommt meist weiter als mit einem reinen Modellwechsel.

5. Eine echte Schätzung mit dem usage-Feld

Raten Sie Tokens nicht anhand der Zeichenzahl. Zeichnen Sie nach jedem Aufruf das usage-Feld der Antwort auf; nach einer Woche sehen Sie die tatsächliche Struktur Ihres Geschäfts.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ARK_API_KEY"],
    base_url="https://ark.cn-beijing.volces.com/api/v3",
)

resp = client.chat.completions.create(
    model=os.environ["ARK_ENDPOINT_ID"],  # ID des Inferenz-Endpunkts oder Modell-ID laut Konsole
    messages=[
        {"role": "system", "content": "Du bist ein Kundenservice-Assistent. Antworte in höchstens drei Sätzen."},
        {"role": "user", "content": "Kann ich die Lieferadresse nach dem Versand noch ändern?"},
    ],
)

print(resp.usage)  # Eingabe-, Ausgabe- und Cache-Felder protokollieren

Die Schätzung erfolgt in dieser Reihenfolge:

  1. Einheitlich erfassen: Zeit, Projekt, Modell, Eingabe-Tokens, Ausgabe-Tokens, Cache-Treffer, Streaming ja/nein, Retry-Anzahl.
  2. Eine Woche lang Stichproben nehmen und je Szenario durchschnittliche Eingabe und Ausgabe berechnen, nicht den Gesamtdurchschnitt der Anwendung verwenden.
  3. Kosten pro Aufruf als „Eingabe × Eingabepreis + Ausgabe × Ausgabepreis“ berechnen; Cache-Treffer separat zum niedrigeren Preis.
  4. Mit der täglichen Aufrufzahl und anschließend mit 30 multiplizieren, um die monatlichen Inferenzkosten zu erhalten.
  5. Fixpositionen wie Cache-Speicher, Batch-Aufgaben, Kapazitätspaket oder Modelleinheit addieren.
  6. Eine Pufferreserve für Retries, Spitzen und Preisänderungen einplanen.
  7. Monatlich anhand der Rechnung gegenrechnen und das Schätzmodell korrigieren.

Falls die Antwort keine aufgeschlüsselten Cache-Felder enthält, Eingabe und Ausgabe insgesamt erfassen und über Rechnung oder Verbrauchsseite zurückrechnen. Entscheidend ist eine einheitliche Definition; Daten aus verschiedenen Zugängen oder Zeiträumen sollten nicht direkt miteinander verglichen werden.

6. Die Reihenfolge der Kostenkontrolle nicht umdrehen

  1. Zuerst messen: Je Projekt, Modell und Szenario die echte Token-Struktur herausarbeiten und die drei teuersten Aufrufe identifizieren.
  2. Dann Cache-Treffer erhöhen: Stabile Präfixe an den Anfang, dynamische Inhalte reduzieren, Veränderung der Trefferquote beobachten.
  3. Dann Eingabe reduzieren: Nur relevante Passagen abrufen, Verlauf zusammenfassen, von Tool-Ergebnissen nur notwendige Felder behalten.
  4. Ausgabe begrenzen: Sinnvolle max_tokens setzen, JSON oder feste Felder verlangen, wiederholte Erklärungen vermeiden.
  5. Modelle aufteilen: Klassifikation, Extraktion und Umschreiben mit leichten Modellen, komplexes Schlussfolgern erst bei Bedarf hochstufen.
  6. Offline-Aufgaben in Batch verlagern: Aufgaben ohne Echtzeitbedarf in die Batch-Inferenz geben und Spitzenzeiten meiden.
  7. Erst zuletzt über den Stückpreis verhandeln: Solange Eingabe ungeordnet und der Cache ohne Treffer ist, senkt auch ein billigeres Modell die Kosten nicht.

7. Budget und Rechnung verwalten

  • Ein Projekt, ein Key; Test und Produktion trennen, damit sie sich nicht gegenseitig Kontingente wegnehmen.
  • Für jeden Key Ausgabenlimits und Guthabenwarnungen setzen, um bei anomalen Aufrufen frühzeitig zu bremsen.
  • Wöchentlich nach „Projekt, Modell, Szenario“ abstimmen und die am schnellsten wachsenden Aufrufe finden.
  • Einsparungen durch Cache, Batch und Modellaufteilung separat festhalten; sonst lässt sich der Erfolg der Optimierung nicht belegen.
  • Teams, die in Yuan zahlen und einheitliche Rechnungen sowie Belege benötigen, können die OpenAI-kompatible ZSQH AI Gateway nutzen; Preise und Abrechnungsgrundlage richten sich nach Modellpreise.

Häufige Fragen

Gibt es bei der Doubao-API ein Freikontingent?

Für die Online-Inferenz gibt es üblicherweise ein Freikontingent für neue Nutzer, das auf die Token-Nachzahlung angerechnet wird; Batch-Inferenz und Fine-Tuning lassen sich in der Regel nicht darauf anrechnen. Umfang und Gültigkeit richten sich nach der Volcano-Ark-Konsole.

Warum kostet Cache-Speicher zusätzlich?

Der Cache belegt Speicherressourcen auf den Servern. Neben den Token-Kosten für Cache-Treffer wird daher auch Speichermenge und -dauer berechnet. Bei niedriger Trefferquote zuerst die Präfixstruktur optimieren und den Cache bei Bedarf abschalten.

Ist Batch-Inferenz immer günstiger?

Der Token-Preis der Batch-Inferenz ist meist niedriger, aber Ergebnisse kommen nicht in Echtzeit, und Freikontingente gelten nicht. Sie eignet sich für Offline-Aufgaben, nicht für Online-Kundenservice mit niedriger Latenzanforderung.

Werden Retry-Anfragen berechnet?

Sobald der Server die Inferenz abgeschlossen und Tokens erzeugt hat, wird üblicherweise berechnet, auch wenn der Client wegen eines Timeouts kein Ergebnis erhalten hat. Ob eine fehlgeschlagene Anfrage berechnet wird, richtet sich nach Rechnung und Anbieterdokumentation; die Retry-Logik braucht Backoff und eine Obergrenze.

Warum weichen eigene Schätzung und Rechnung voneinander ab?

Häufig vergessene Positionen sind Gesprächsverlauf, Tool-Definitionen, multimodale Umrechnung, Cache-Speicher, Retry-Anfragen und Fixkosten für Kapazitätspakete. Nur der Abgleich von Request-IDs mit den Verbrauchs-Logs zeigt, wo die Differenz liegt.

Nächste Schritte

Erstellen Sie zuerst in der ZSQH AI Gateway einen Test-Key, lassen Sie ihn eine Woche mit echten Aufgaben laufen und protokollieren Sie Eingabe, Ausgabe und Cache-Treffer. Rechnen Sie anschließend mit den Preisen auf der Seite Modellpreise das Budget hoch. Verfügbarkeit und Preise der Modelle richten sich nach der Preisliste.

Verwandte Artikel: