Glossar

Wie das Threads-API-Zeichenlimit von 500 Zeichen topic_tag behandelt

Taras Shynkarenko
Taras Shynkarenko
•Aktualisiert: •7 Min. Lesezeit
Wie das Threads-API-Zeichenlimit von 500 Zeichen topic_tag behandeltWie das Threads-API-Zeichenlimit von 500 Zeichen topic_tag behandelt

TL;DR, Kurze Antwort

7 Min. Lesezeit

Meta begrenzt Threads-Textbeiträge auf 500 Zeichen und zählt Emojis als UTF-8-Bytes. Ein Thema lässt sich auf zwei Wegen anhängen: über den Parameter topic_tag, der außerhalb des Felds text sitzt und auf 1 bis 50 Zeichen begrenzt ist, oder über ein Tag im Text, das mit einer Raute beginnt, in text liegt und damit die 500 verbraucht. Meta sagt nicht, ob ein Wert in topic_tag gegen das Beitragslimit zählt.

Wofür gilt das Threads-API-Zeichenlimit von 500 Zeichen?

Meta bezieht das Threads-API-Zeichenlimit von 500 Zeichen auf den Parameter text eines Medien-Containers und behält topic_tag als eigenen Parameter mit eigener Obergrenze von 50 Zeichen. Das Limit erscheint als einzeiliger Punkt unter Limitations im Abschnitt Single Thread Posts: „Text posts are limited to 500 characters.“ Die Threads-Überblicksseite wiederholt denselben Satz wortgleich unter Other Limitations.

Keine der beiden Seiten hängt einen Feldnamen an diesen Satz. Der Container-Endpunkt nimmt text bei den Medientypen TEXT, IMAGE, VIDEO und CAROUSEL an, und der 500er-Punkt steht unter einer Überschrift über Textbeiträge, also lässt Meta offen, ob eine Bildunterschrift bei einem Bildbeitrag dieselbe Obergrenze bekommt. Nirgends in der Threads-Dokumentation taucht eine zweite Zahl auf, womit 500 die einzige Grenze ist, mit der eine Integration für einen beliebigen text-Wert planen kann.

Die Zählregel neben diesem Punkt ist das, was die meisten Zeichenzähler falsch machen: „Emojis are counted as the number of UTF-8 bytes.“ Ein vierköpfiges Familien-Emoji kostet 25 gegen die 500 statt 1, und das steht ausführlich in warum das Threads Zeichenlimit Emojis als UTF-8-Bytes zählt.

Zählt topic_tag gegen die 500?

Meta sagt es nicht. Der Parameter topic_tag ist in einem eigenen Unterabschnitt mit eigener Bedingung dokumentiert, „Topic tags must be at least 1 character and no more than 50 characters long“, und weder die Beitragsanleitung noch die Publishing-Referenz verbindet diesen Wert mit dem Zeichenlimit des Beitrags.

Was die Dokumentation sehr wohl festlegt, ist, wo beides lebt. topic_tag ist ein eigenes Formularfeld an POST /{threads-user-id}/threads und wird neben text gesendet:

curl -i -X POST \
  -d "media_type=TEXT" \
  -d "text=<TEXT>" \
  -d "access_token=<ACCESS_TOKEN>" \
  -d "topic_tag=<TAG>" \
"https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads"

Ein Tag im Text ist der umgekehrte Fall und braucht keine Klärung von Meta, weil das Tag Teil der Zeichenkette in text ist. Jedes Zeichen von #socialmedia ist ein Zeichen des Beitrags, also verbraucht ein Tag im Text die 500 schon der Bauart nach. Diese Asymmetrie ist der praktische Grund, den Parameter zu bevorzugen: Der Weg im Text ist eine dokumentierte Belastung der 500, der Weg über den Parameter eine offene Frage.

Eine Nahaufnahme einer Hand, die einen Hashtag in ein Smartphone tippt, zur Veranschaulichung eines Tags im Text.

Was ist der Unterschied zwischen topic_tag und einem Tag im Text?

Meta unterstützt beides und markiert eines davon als Altlast. Die Methode im Text trägt eine ausdrückliche Warnung in der Dokumentation: „This method is not preferred but is kept for backwards compatability.“

Parameter topic_tagTag im Text
Wo es lebtEigenes FormularfeldInnerhalb von text
Längenregel1 bis 50 Zeichen1 bis 50 Zeichen
RauteWird nicht verwendetMuss das Tag einleiten
Verbraucht die 500Meta sagt es nichtJa, jedes Zeichen
Status in Metas DokuAktuell„not preferred but is kept for backwards compatability“

Eine Regel gilt für beide Wege: „Only one topic tag is allowed per post, so the first valid tag included in a post of any type (text-only, image, video, carousel) via the API is treated as the tag for that post.“ Weitere Wörter mit Raute im Beitragstext werden keine weiteren Themen, und sie kosten trotzdem Zeichen.

Die beiden Dokumentationsseiten sind sich auch uneinig darüber, wie viel sie verraten. Die Beitragsanleitung nennt die Spanne von 1 bis 50 Zeichen für Topic-Tags. Die Referenz zu POST /{threads-user-id}/threads führt topic_tag nur mit den verbotenen Zeichen und ohne jede Längenregel, also sieht ein Entwickler, der allein die Referenz liest, die 50 nie.

Welche Zeichen sind in einem Threads-Topic-Tag verboten?

Die beiden Wege haben unterschiedliche Verbotslisten, und die für Tags im Text ist weitaus länger. Für den Parameter verbietet Meta zwei Zeichen: Punkte und kaufmännische Und-Zeichen. Für ein Tag im Text sagt Meta „any in-text tag that starts with a hash sign will end just before these characters“ und nennt dann die vollständige Menge.

WegNicht erlaubte Zeichen
Parameter topic_tagPunkte (.), Und-Zeichen (&)
Tag im TextLeerzeichen, Tabulatoren, Zeilenumbrüche, Punkte (.), Und-Zeichen (&), At-Zeichen (@), Ausrufezeichen (!), Fragezeichen (?), Kommas (,), Semikolons (;), Doppelpunkte (:)

Eine eigene Regel erledigt numerische Tags: „Whole numbers that are preceded by a hash sign (i.e., #1) will not be converted into a tag. This is because it is assumed that # is signifying a number sign in this scenario.“ Meta merkt außerdem an, dass „The text is also configured in the app without the hash sign“, die Raute ist also Markup für die API statt Teil des Themas.

Die praktische Folge ist stilles Abschneiden. #social media in text erzeugt das Thema „social“ und lässt das Wort „media“ als reinen Text stehen, ohne Fehler und ohne Warnung. social media als topic_tag zu senden behält die ganze Phrase.

Wo ein Topic landet
1
Text in UTF-8-Bytes messen. Emojis zählen als Bytes, nicht als Zeichen.
2
Prüfen, was von den 500 übrig ist. Die laufende Byte-Zahl setzt das Budget.
3
Das Topic in text schreiben. Es endet am ersten verbotenen Zeichen, auch bei einem Leerzeichen.
4
Stattdessen als topic_tag senden. Bis zu 50 Zeichen, in einem eigenen Parameter.
Die Liste verbotener Zeichen und das byteweise gezählte Budget sprechen beide für den topic_tag-Parameter.

Welche anderen Textfelder begrenzt die Threads API?

Vier verschiedene Limits regeln, was in einen Threads-Beitrag geht, und nur eines davon ist die 500. Sie zu verwechseln ist die übliche Ursache für einen Container, der beim Anlegen aus Gründen scheitert, die der Zeichenzähler nie vorhergesagt hat.

FeldLimitWo Meta es festhält
text500 Zeichen, Emojis als UTF-8-Bytes gezähltBeitragsanleitung, Limitations unter Single Thread Posts
topic_tag1 bis 50 ZeichenBeitragsanleitung, Topic Tags
alt_text1.000 ZeichenPublishing-Referenz, POST /{threads-user-id}/threads
Links in einem Beitrag5 oder wenigerBeitragsanleitung, Links

Die Link-Regel ist die einzige mit einem dokumentierten Fehlerstring. Ab dem 22. Dezember 2025 gilt laut Meta: „Threads posts containing more than 5 links will fail to post during the media creation step (POST /{threads-user-id}/threads) with the error code: THREADS_API__LINK_LIMIT_EXCEEDED.“ Links werden nach Deduplizierung gezählt: eine in text wiederholte URL zählt einmal, und ein link_attachment, das zu einer bereits in text stehenden URL passt, „is only counted once, rather than twice“.

AdaptlyPost
AdaptlyPost

Jetzt 7 Tage kostenlos testen

Plattformübergreifende Analysen

Sozialer Posteingang

KI-gestützter Assistent

Für die 500 gibt es nichts Vergleichbares. Der Index der Threads API Reference führt keine Seite mit Fehlercodes, und die Troubleshooting-Seite dokumentiert nur Container-status-Werte und Video-error_message-Werte, also hat ein zu langer text keine veröffentlichte Fehlerkonstante, die sich abfangen ließe.

Was passiert, wenn text die 500 überschreitet?

Meta dokumentiert das Limit und nicht die Antwort, also ist der einzige verlässliche Zug, vor dem Senden zu messen. Weil Emojis als UTF-8-Bytes statt als Zeichen gezählt werden, muss die Messung auf der kodierten Zeichenkette passieren. Ein String.length von 475 in JavaScript kann 517 Bytes sein, sobald ein paar Emojis darin stecken, und genau das ist das Fehlermuster auf der Seite zum Threads Zeichenlimit.

Dieselbe Byte-Frage taucht in jedem Netzwerk auf, das Beitragstext als UTF-8 speichert, unter anderem darin, wie Bluesky-Facets Links über byteStart und byteEnd indexieren statt über Zeichenpositionen. Jede Integration, die in mehr als ein Netzwerk veröffentlicht, braucht einen byte-genauen Zähler, nicht einen pro Plattform.

Eine Person prüft einen Content-Kalender auf einem Laptop neben einem Smartphone, was das Erstellen eines geplanten Beitrags vor der Veröffentlichung darstellt.

Was bedeutet das für geplante Threads-Beiträge?

Ein Scheduler baut den Container lange vor dem Publish-Aufruf, also muss die 500 beim Entwurf statt beim Senden durchgesetzt werden. Zwei Prüfungen decken das meiste ab: text in UTF-8-Bytes zählen und Themen in topic_tag verschieben statt in den Beitragstext, wenn der Beitrag nah an der Grenze liegt.

Die Einschränkung auf der Publish-Seite ist eine andere, denn Threads begrenzt ein Profil außerdem auf 250 über die API veröffentlichte Beiträge in einem beweglichen 24-Stunden-Zeitraum. Zeichenlimits weisen einen Container beim Anlegen zurück, Kontingentlimits beim Veröffentlichen, das sind zwei verschiedene Fehler, um die herum man planen muss. Für Teams, die Threads neben anderen Netzwerken planen, erklärt die Seite zum Threads-Planungstool, wie AdaptlyPost über die offizielle API anbindet.

Häufig gestellte Fragen

Ist das Threads-API-Zeichenlimit von 500 Zeichen dasselbe wie in der Threads-App?

Die Zahl 500, die Meta für die API veröffentlicht, passt zu der Zahl, die Threads im eigenen Composer zeigt, und die byteweise Emoji-Regel dokumentiert Meta nur in der API-Dokumentation. Die API-Seiten formulieren die Regel präzise, also behandeln Sie sie als Spezifikation für alles, was Sie bauen.

Kann ein Threads-Beitrag mehr als ein Topic-Tag haben?

Nein. Meta hält fest: „Only one topic tag is allowed per post“, und das erste gültige Tag in einem Beitrag jeder Art ist das, was verwendet wird. Weitere Wörter mit Raute bleiben reiner Text in text und zählen trotzdem gegen die 500.

Zählt die Raute als Zeichen in einem Tag im Text?

Ein Tag im Text lebt im Wert von text, also zählt jedes seiner Zeichen, die Raute eingeschlossen. Meta merkt an, dass das Thema selbst ohne Raute gespeichert wird: „The text is also configured in the app without the hash sign.“

Warum wird mein Topic-Tag mittendrin abgeschnitten?

Ein Tag im Text endet am ersten Zeichen auf Metas Verbotsliste, zu der Leerzeichen, Punkte, Und-Zeichen, At-Zeichen, Ausrufezeichen, Fragezeichen, Kommas, Semikolons und Doppelpunkte gehören. Ein mehrwortiges Thema im Beitragstext wird daher zu einem Ein-Wort-Tag. Schicken Sie es stattdessen über den Parameter topic_tag, wo Leerzeichen nicht auf der Verbotsliste stehen.

Wie lang darf Threads-Alt-Text sein?

1.000 Zeichen. Meta nennt die Zahl in der Referenz zu POST /{threads-user-id}/threads: „The maximum length of alt_text is 1,000 characters.“ Dieses Budget ist getrennt von den 500 auf text.

Wo dokumentiert Meta das Limit von 500 Zeichen?

An zwei Stellen, mit identischem Wortlaut. Die Beitragsanleitung unter developers.facebook.com/documentation/threads/posts trägt „Text posts are limited to 500 characters.“ unter Limitations im Abschnitt Single Thread Posts, und die Überblicksseite unter developers.facebook.com/documentation/threads/overview wiederholt es unter Other Limitations. Die Regel zur Emoji-Zählung in Bytes steht daneben in der Beitragsanleitung.

Zählt topic_tag genauso in UTF-8-Bytes wie text?

Meta nennt die UTF-8-Byte-Regel nur für das Feld text, im Zusammenhang mit dem Limit von 500. Der Abschnitt zu topic_tag gibt einen Bereich von 1 bis 50 Zeichen an, ohne Bytes zu erwähnen, daher ist nicht dokumentiert, ob ein emoji-reicher Tag als Bytes oder als Zeichen zählt. Bis Meta etwas anderes sagt, gilt die 50 als Zeichen, denn das ist die Einheit, die die Dokumentation tatsächlich verwendet.

Der Container schlägt bei der Erstellung fehl. Meta gibt an, dass der Fehler im Schritt der Medienerstellung, POST /{threads-user-id}/threads, mit dem Code THREADS_API__LINK_LIMIT_EXCEEDED auftritt. Das ist das einzige Limit auf dieser Seite mit einer dokumentierten Fehlermeldung, anders als die 500 bei text.

Er zählt einmal. Meta zählt Links nach Deduplizierung, eine URL, die zweimal in text vorkommt, ist also ein Link, und ein link_attachment, das mit einer bereits in text enthaltenen URL übereinstimmt, wird "nur einmal statt zweimal gezählt". Fünf eindeutige Links bleiben die Obergrenze.

AdaptlyPost
AdaptlyPost

Jetzt 7 Tage kostenlos testen

Plattformübergreifende Analysen

Sozialer Posteingang

KI-gestützter Assistent

Kann topic_tag bei einem Bild- oder Videobeitrag verwendet werden, nicht nur bei reinem Text?

Ja, die Regel gilt für jeden Medientyp. Meta sagt, dass der erste gültige Tag in "a post of any type (text-only, image, video, carousel)" zum Tag für diesen Beitrag wird, topic_tag funktioniert also gleich, egal ob der Container ein Bild, ein Video oder ein Karussell enthält.

War dieser Artikel hilfreich?

Teilen Sie uns Ihre Meinung mit!

Sehen Sie uns öfter bei Google

Ein Klick macht AdaptlyPost zu einer bevorzugten Quelle. Unsere Artikel stehen dann weiter oben in Ihren Top-Meldungen, im KI-Modus und in den KI-Übersichten.

Bevor Sie gehen...

AdaptlyPost

AdaptlyPost

Planen Sie Ihre Inhalte für alle Plattformen

Verwalten Sie alle Ihre Social-Media-Konten an einem Ort mit AdaptlyPost.

Plattformübergreifende Analysen

Sozialer Posteingang

KI-gestützter Assistent

Verwandte Glossarbegriffe

Verwandte Artikel