NSIG_

Was ein Modell außer Text noch liest

Vom Themen KI · Modelle · Hardware · Homelab

„Multimodal“ klingt nach einer Eigenschaft, die ein Modell hat oder nicht hat. In den Anleitungen der Anbieter ist es etwas anderes: eine Rechnung. Bild, Ton und Video werden in dieselbe Währung übersetzt wie Text, nämlich in Token, und die Token sind das, was den Kontext füllt und was bezahlt wird.

Was ein Modell außer Text noch aufnimmt, steht bei jedem Anbieter an einer anderen Stelle und in einer anderen Einheit, und das macht den Vergleich mühsam. Hier stehen die Gebiete nebeneinander, aus den Anleitungen der Anbieter selbst, und jedes Mal die Zahl, an der man merkt, was es wirklich kostet.

Ein Bild ist eine Kachelrechnung

Claude sieht Bilder nicht in Pixeln, sondern in Kacheln. Eine Kachel ist ein Block von 28 mal 28 Pixeln und heißt visueller Token. Daraus wird die Rechnung für jedes Bild: aufgerundet Breite geteilt durch 28, mal aufgerundet Höhe geteilt durch 28.

Darüber liegen zwei Stufen, und welche gilt, hängt am Modell:

Stufe Modelle längste Kante visuelle Token
Hochauflösend Claude 4.7 und später 2576 px 4784
Standard alle anderen 1568 px 1568

Was größer ist, wird vorher verkleinert, unter Beibehaltung des Seitenverhältnisses. Ein Bild mit 1000 mal 1000 Pixeln bleibt in beiden Stufen unangetastet und kostet 1296 Token. Ein 4K-Bild mit 3840 mal 2160 landet in der Standardstufe bei 1456 mal 819 Pixeln und 1560 Token, in der hohen Stufe bei 2576 mal 1449 und 4784. Dieselbe Datei, dreimal so viele Token.

Eine Ausnahme von dieser Regel steht in derselben Anleitung, und sie trifft genau den, der einen Agenten baut: Bildschirmfotos, die als tool_result an die Werkzeuge computer use und browser use zurückgehen, werden nicht verkleinert. Was dort zu groß ist, wird mit einem Validierungsfehler abgelehnt, und das Verkleinern muss vorher im eigenen Programm passieren.

In Geld heißt das nach derselben Seite: Das Bild mit 1000 mal 1000 kostet bei Claude Opus 5 und dessen 5 US-Dollar je Million Eingabetoken rund 6,48 US-Dollar je tausend Bilder, das 4K-Bild rund 23,92.

Die Grenzen daneben sind hart und stehen selten in der Überschrift:

  • Höchstens 8000 mal 8000 Pixel je Bild
  • 10 MB je Bild base64-kodiert über die Claude-API und auf claude.ai, 5 MB über Amazon Bedrock und Google Cloud
  • 600 Bilder je Anfrage, bei Modellen mit 200k-Kontextfenster nur 100, und auf claude.ai 20 je Nachricht
  • Enthält eine Anfrage mehr als 20 Bilder, gilt für jedes Bild darin eine strengere Grenze der Abmessungen. Wer sicher darunter bleiben will, verkleinert alle auf höchstens 2000 Pixel je Kante. Mitgezählt wird jeder Bildblock der Anfrage, auch die Bilder aus früheren Runden, die erneut mitgeschickt werden, und die, die in einem tool_result stecken, etwa Bildschirmfotos für das computer-use-Werkzeug. Auf Amazon Bedrock und Google Cloud zählen auch Dokumentblöcke wie PDFs mit. Man rutscht also über die Schwelle, ohne je mehr als eine Handvoll Bilder auf einmal geschickt zu haben
  • Die Anfrage selbst darf 32 MB groß sein, das gilt für die Standardendpunkte, bei einigen von Partnern betriebenen Plattformen ist es weniger. Diese Grenze kann vor den 600 Bildern erreicht sein
  • JPEG, PNG, GIF und WebP. Von Animationen wird nur das erste Einzelbild benutzt

Ein Bild kommt auf drei Wegen in die Anfrage: base64-kodiert im Text der Anfrage, als Verweis auf eine Bildadresse im Netz, oder als file_id nach einem Upload über die Files API. Daraus folgen zwei Sätze, die praktischer sind als die ganze Tabelle. Erstens: Bilder vor den Text stellen, nicht dahinter. Zweitens: Wer dasselbe Bild mehrfach braucht, lädt es besser einmal hoch und verweist danach auf die file_id. In einem mehrstufigen Gespräch wird die gesamte Historie bei jeder Anfrage erneut mitgeschickt, und base64-Bilder darin gehen jedes Mal vollständig neu über die Leitung. Auf zwei Plattformen fällt dieser Weg allerdings weg: Über Amazon Bedrock und Google Cloud sind derzeit nur base64-kodierte Quellen möglich, also weder die Adresse noch die file_id.

Und die Gegenrichtung, die in derselben Anleitung steht: Verkleinern hat eine Untergrenze. Als Fälle, in denen Claude sich irren oder halluzinieren kann, nennt sie schlechte Qualität, gedrehte Bilder und sehr kleine Bilder unter 200 Pixeln. Dazu die Warnung vor Kompression: Artefakte schaden der Leistung, besonders wenn mehrfach komprimiert wurde, und starke JPEG-Kompression kann Text schwer lesbar machen. Ist Text im Bild wichtig, sagt die Anleitung, muss er lesbar bleiben und nicht zu klein sein. Wer also nur auf die Tokenrechnung sieht und die Kante immer weiter herunterdreht, bekommt keine Fehlermeldung, sondern eine flüssige falsche Antwort.

Die Anleitung führt außerdem sieben Grenzen der Fähigkeit selbst auf. Vier davon sind hier die wichtigsten: Claude benennt keine Personen auf Bildern und weigert sich, es zu tun. Es kann nicht feststellen, ob ein Bild von einer KI erzeugt wurde. Zählen liefert Näherungen, besonders bei vielen kleinen Objekten. Und Angaben zu Koordinaten und Bildorten sind ungefähr. Nicht in dieser Liste, sondern in den Fragen darunter, steht der Satz, dass Claude Bilder nur liest und keine erzeugt.

Video ist Bild mal Bildrate, und genau da entsteht die Rechnung

Der übliche Weg zerlegt ein Video in Einzelbilder, mit fester Rate. Bei Gemini ist die Vorgabe ein Bild je Sekunde, über die API einstellbar. Bei einer neunzigminütigen Vorlesung ist damit klar, wohin die Token gehen.

Google hat am 01.09.2026 einen anderen Weg dafür veröffentlicht. Statt fester Rate darf das Modell selbst entscheiden, welchen Abschnitt es ansieht, in welchem Tempo, und über welchen Kanal: Einzelbilder, Ton oder Transkript. Es ruft dafür intern ein Werkzeug auf, das den gebrauchten Teil der Datei nachlädt.

Die Zahlen dazu sind Googles eigene Messung an Googles eigenen Modellen, über gängige Vergleichsläufe zur Videoauswertung hinweg: bis zu 88 Prozent weniger Token, bis zu 66 Prozent weniger Kosten, bis zu 7 Prozent mehr Genauigkeit. Es läuft auf Gemini 3.7 Flash, 3.6 Flash und 3.5 Flash-Lite, kostet keine gesonderte Gebühr und wird eingeschaltet, indem in der Konfiguration processing auf agentic gesetzt wird.

Wo das gilt, gehört dazu, sonst sucht man den Fehler bei sich: zu haben ist es über die Gemini-API in Google AI Studio und in der Gemini Enterprise Agent Platform, für hochgeladene Videos und für YouTube-Videos. In die Gemini-App soll es laut derselben Ankündigung erst noch kommen.

Was daran über Google hinaus zählt, ist der Grund für den Sprung: Nicht das Modell ist besser geworden, es liest weniger. Wer bei einem langen Video die Bildrate senkt, spart genauso Token, verliert aber die schnellen Stellen. Hier sucht das Modell sie selbst und schaut nur dort genauer hin.

Ton hat eine Obergrenze in Megabyte, nicht in Minuten

Bei OpenAI geht eine fertige Aufnahme an /v1/audio/transcriptions. Die Grenze ist 25 MB je Datei, und sie ist die erste, an die man stößt. Erlaubt sind mp3, mp4, mpeg, mpga, m4a, wav und webm. Für längere Aufnahmen bleibt komprimieren oder in Stücke unter 25 MB schneiden, und die Anleitung sagt dazu den nützlichen Satz: nicht mitten im Satz trennen, das kostet Zusammenhang und Genauigkeit.

Empfohlen ist gpt-transcribe, und drei Angaben helfen ihm auf die Sprünge: prompt für den Zusammenhang der Aufnahme, keywords für Wörter, die wörtlich vorkommen werden, languages für die erwarteten Sprachen. Bei diesem Modell ersetzt languages das einzelne Feld language, und beide zusammen zu senden ist ein Fehler.

Zwei Fallen stecken in keywords, und die erste kostet nicht Genauigkeit, sondern die ganze Anfrage. Jedes Stichwort gehört auf eine Zeile, und <, >, Wagenrücklauf und Zeilenvorschub dürfen nicht vorkommen. Trifft die API eines davon an, oder ist prompt zu lang, lehnt sie die gesamte Anfrage ab. Wer seine Begriffsliste aus einer Datei zieht, hat die Zeilenumbrüche schon drin. Die zweite: Stichwörter sind Hinweise und keine Vorgabe für die Ausgabe. Die Anleitung rät ausdrücklich, nur einschlägige Begriffe aufzunehmen und zu prüfen, ob sie die Genauigkeit wirklich verbessern, ohne dass ungesagte Begriffe auftauchen.

Für vier Sachen nennt die Anleitung ein Sondermodell:

  • Wer wann spricht: gpt-4o-transcribe-diarize mit dem Antwortformat diarized_json. Bei Aufnahmen über 30 Sekunden muss chunking_strategy gesetzt sein, entweder auf auto oder auf eine Konfiguration zur Sprachaktivitätserkennung. Bis zu vier bekannte Sprecher lassen sich mit Hörproben zuordnen, jede zwischen 2 und 10 Sekunden lang
  • Zeitstempel je Wort oder Abschnitt: whisper-1 mit verbose_json und timestamp_granularities[]
  • Untertitelformate: ebenfalls whisper-1
  • Übersetzung ins Englische: /v1/audio/translations, ebenfalls mit whisper-1

Ein Detail zu Whisper, das erklärt, warum Begriffslisten dort so schnell aufhören zu wirken: Es folgt keinen Anweisungen wie ein Sprachmodell, und sein prompt fasst höchstens 224 Token. Für längere Namenslisten empfiehlt die Anleitung, den fertigen Text hinterher von einem Textmodell aufräumen zu lassen, mit der Warnung, das Ergebnis gegen die Aufnahme zu prüfen, damit nicht umgeschrieben wird, was jemand gesagt hat.

Werkzeuge kosten Token, bevor eines benutzt wird

Werkzeuggebrauch heißt bei Anthropic tool use und anderswo function calling. Der Ablauf ist derselbe: Das Modell antwortet mit stop_reason: "tool_use" und einem tool_use-Block, dein Programm führt die Sache aus und schickt das Ergebnis als tool_result zurück. Der Unterschied liegt darin, wo der Code läuft. Client tools laufen bei dir, Server tools wie Websuche oder Codeausführung laufen bei Anthropic, und deren Ergebnis steht ohne dein Zutun in der Antwort. Mit einer Ausnahme, die die Anleitung gleich anhängt: Ruft Claude ein Server tool in derselben Gruppe paralleler Aufrufe auf wie eines deiner eigenen Werkzeuge, läuft es eben doch nicht ohne dein Zutun.

Der Teil, den man beim Bauen übersieht: Werkzeuge einzuschalten kostet Token, auch wenn keines aufgerufen wird. Die API legt dafür einen eigenen Systemzusatz an. Die Anleitung führt seine Größe für 13 Modelle auf, hier vier davon:

Modell auto oder none any oder tool
Claude Opus 5 286 406
Claude Sonnet 5 354 474
Claude Haiku 4.5 496 588
Claude Opus 4.7 675 804

Zweierlei fällt daran auf. Erstens hängt der Zusatz nicht an der Größe des Modells: Haiku 4.5 braucht mit 496 Token mehr als Opus 5 mit 286. In der vollen Tabelle steht allerdings auch Haiku 3.5 mit 264, also unter beiden; geordnet ist das Feld also nicht. Zweitens liegt Opus 4.7 mit 675 über allen anderen, und der Schritt nach unten passierte schon bei Opus 4.8 mit 290, nicht erst bei Opus 5.

Dazu kommen die Beschreibungen der Werkzeuge selbst. Namen, Erklärungen und Schemata stehen im tools-Parameter jeder Anfrage, und die tool_use- und tool_result-Blöcke stehen danach in der Unterhaltung. Wer zwanzig Werkzeuge gut dokumentiert, bezahlt diese Dokumentation bei jeder einzelnen Runde.

Und hier ist die eine Stelle, an der die Rechnung nicht in Token aufgeht: Server tools werden zusätzlich nach Gebrauch abgerechnet. Die Anleitung nennt als Beispiel die Websuche, die je durchgeführter Suche kostet. Client tools kosten dagegen so viel wie jede andere Anfrage auch.

Für die Zuverlässigkeit gibt es einen Schalter: strict: true in der Werkzeugdefinition erzwingt, dass die Aufrufe genau zum Schema passen.

Was davon auf der eigenen Karte läuft

Hier wird es konkret, denn llama.cpp kann Bild, Ton und Video, über einen gemeinsamen Unterbau namens libmtmd. Unterstützt wird es von llama-cli, von llama-server mit einer OpenAI-kompatiblen Schnittstelle unter /chat/completions, und von llama-mtmd-cli zum Ausprobieren. (Die Anleitung kündigt an dieser Stelle zwei Werkzeuge an und zählt dann diese drei auf.)

Das eigentlich Wichtige ist eine zweite Datei. Neben den Gewichten steht ein multimodaler Projektor, und ohne ihn ist das Modell wieder ein reines Textmodell:

# alles in einem, ueber die Modellablage
llama-mtmd-cli -hf ggml-org/gemma-3-4b-it-GGUF

# lokale Dateien, Gewichte und Projektor getrennt
llama-server -m gemma-3-4b-it-Q4_K_M.gguf --mmproj mmproj-gemma-3-4b-it-Q4_K_M.gguf

Drei Schalter entscheiden über den Grafikspeicher, und der erste ist der, den man kennen sollte:

  • --no-mmproj-offload. Der Projektor wird nämlich standardmäßig auf die GPU gelegt. Wer knapp bei Speicher ist, holt ihn damit wieder herunter
  • --no-mmproj lädt ein Modell ohne seinen multimodalen Teil, also bewusst nur als Textmodell
  • --mmproj eigene_datei.gguf setzt einen anderen Projektor ein als den mitgelieferten

Dazu ein Hinweis aus der Anleitung, der zur Rechnung von oben passt: Manche dieser Modelle brauchen ein großes Kontextfenster, genannt wird -c 8192. Ein Bild ist eben kein Anhang, es steht als Token im Kontext.

Die fertigen Pakete liegen meist in der Stufe Q4_K_M vor. Ein Auszug aus der Liste, sortiert danach, was welches Gebiet abdeckt:

Gebiet Modelle
Bild Gemma 3 in 4B, 12B und 27B, SmolVLM, Qwen2.5-VL von 3B bis 72B, Pixtral 12B, InternVL 2.5 und 3, Gemma 4
Ton Ultravox 0.5, Voxtral-Mini-3B, Qwen3-ASR in 0.6B und 1.7B
beides Qwen2.5-Omni in 3B und 7B, Qwen3-Omni-30B-A3B, Gemma 4 in E2B und E4B

Bei den Namen in der letzten Zeile lohnt der Blick in die Notiz über die Dateiliste: Ein Name mit zwei Parameterzahlen sagt nichts über den Speicherbedarf, und die Zahl, auf die es ankommt, steht erst in der Dateiliste des Pakets.

Ein eigener Hinweis steht bei den OCR-Modellen: Sie sind auf eine bestimmte Eingabeform und einen bestimmten Prompt trainiert, und die Anleitung verweist für jedes einzelne auf die zugehörige Diskussion, statt eine allgemeine Regel zu geben.

Und der Fall, in dem gar kein Sprachmodell gebraucht wird

Am 03.09.2026 hat Hcompany NeoMME veröffentlicht, und daran lässt sich die Gegenrichtung zeigen. Es ist kein Sprachmodell, sondern ein Encoder in zwei Größen, 260M und 800M, unter Apache 2.0.

Der Unterschied im Bau: kein separater vortrainierter Bildturm, kein kausaler Decoder. Ein einziger bidirektionaler Transformer verarbeitet Texttoken und rohe Bildkacheln von 32 mal 32 Pixeln auf demselben Weg. Die Begründung ist schlicht: Suchen und Einordnen erzeugen keinen Text, brauchen also auch keinen Decoder, der Text erzeugen kann. Das Kontextfenster beträgt 16.384 Token, nach Angabe der Autoren genug für bis zu zwei 4K-Bilder mit 3840 mal 2160.

Für Dokumentensuche wurde daraus NeoMME-Retriever, der Seiten als Bild behandelt statt den Text vorher herauszulösen. Layout, Tabellen und Diagramme bleiben dabei erhalten. Die Messwerte sind die der Autoren selbst, und ihre Tabelle trennt fremde Werte von eigenen:

  • ViDoRe v3, nDCG@10: 0,523 bei 260M und 0,556 bei 800M
  • Durchsatz: rund 51 Seiten je Sekunde bei einer Eingabegröße von 2048 mal 2048 auf einer NVIDIA L40S, gegenüber rund 26 bei ColModernVBERT
  • Index je Seite: rund 1,5 MB, mit Bündelung und int8 auf 39 kB gedrückt (39-fach kleiner, über 99 Prozent der Güte), im schärfsten Fall auf 6 kB (255-fach kleiner, über 95 Prozent)

Die Durchsatzzahl gilt unter den Bedingungen der Autoren, auf einer NVIDIA L40S. Aussagekräftiger ist die Größe: In derselben Tabelle steht ColQwen2.5-v0.2 mit 3,75 Milliarden Parametern bei 0,524 und NeoMME-260M mit 260 Millionen bei 0,523. Die Autoren fassen das so, dass ihr Modell höchstens 0,002 darunter liege und dabei rund vierzehnmal weniger Parameter brauche.

Die eine Frage, die durch alle sechs Anleitungen geht

Sie lautet nicht, ob ein Modell Bilder, Ton oder Video kann. Das können sie inzwischen alle. Sie lautet: Wie viele Token macht es daraus, und wo landen die?

Daran hängt alles Übrige. Ein 4K-Bild kostet dreimal so viel wie sein verkleinertes Abbild, ohne mehr zu sagen. Ein Video bei fester Bildrate kostet ein Vielfaches derselben Aufnahme, bei der nur die richtigen Stellen gelesen werden. Zwanzig gut dokumentierte Werkzeuge kosten bei jeder Runde erneut. Und lokal kostet der multimodale Teil eine zweite Datei, die standardmäßig auf der Karte landet.

Deshalb sind es vier Handgriffe, die vor allem anderen kommen: vorher verkleinern statt verkleinern lassen, wiederkehrende Bilder hochladen statt mitschicken, beim Video die Auswahl dem Modell überlassen, wo es geht, und lokal wissen, wo der Projektor liegt.

Der erste davon hat eine Grenze, und die ist die unangenehmste im ganzen Text, weil sie sich nicht als Fehler meldet: Unter 200 Pixeln und nach mehrfacher Kompression kann das Modell sich irren. Die Rechnung stimmt dann, die Antwort nicht. Und beim Geld gibt es eine Ausnahme von der Tokenrechnung: Server tools kosten je Gebrauch, zusätzlich zu den Token.


Gegenstand sind sechs Anleitungen der Anbieter selbst, alle am 03.09.2026 abgerufen und alle primär: Claude Vision, Claude Tool use, OpenAI File transcription, llama.cpp multimodal, Google DeepMind zu agentischem Video und Hcompany zu NeoMME. Die letzten beiden sind zugleich Belege von Meldungen im Ticker. Die Prozentwerte zum Video und die Messwerte zu NeoMME stammen von den Anbietern selbst und sind hier nicht nachgemessen.

← Alle Notizen