Limites de caractères et de hashtags des légendes TikTok

Vérifié le · sources en bas de page

Dans l’application TikTok, une légende peut compter jusqu’à 4 000 caractères, une limite relevée depuis 2 200 à la mi-2023. Une légende publiée via la Content Posting API — le canal par lequel passent tous les outils de programmation — reste plafonnée à 2 200 runes UTF-16, hashtags et mentions compris dans le même budget. Une légende écrite pour l’application peut donc être refusée par un outil de programmation.

Quelle longueur peut faire une légende TikTok ?

Tout dépend de la façon dont la vidéo est publiée, et c’est précisément ce que personne ne précise. Le champ de légende de l’application TikTok accepte 4 000 caractères depuis que TikTok a relevé la limite à la mi-2023 — le changement a été largement relayé et se constate dans l’application, mais le centre d’aide de TikTok ne publie pas ce chiffre.

Via l’API, la limite est documentée, et elle est plus basse. La documentation Direct Post de TikTok indique pour le champ title une limite de "2200 in UTF-16 runes". Tous les outils qui publient à votre place — Buffer, Later, Metricool, Koda — passent par cette API : dès que vous programmez une publication, le vrai plafond est de 2 200. Et l’unité est le second piège : une rune n’est pas un caractère.

Une rune UTF-16 est une unité de code de 16 bits. Les lettres latines, les chiffres et la plupart des signes de ponctuation en coûtent une. La plupart des emoji en coûtent deux, parce qu’ils se trouvent hors du plan multilingue de base (BMP) et sont encodés sous forme de paire de substitution. C’est aussi le cas de nombreux caractères des extensions CJK.

Conséquence concrète : une légende que votre éditeur de texte annonce à 1 180 caractères peut dépasser 2 200 runes si elle est chargée en emoji. Comptez en UTF-16, pas en glyphes — en JavaScript, c’est exactement ce que renvoie déjà String.prototype.length.

ContenuRunes consomméesPourquoi
a, Z, 7, ?, espace1Plan multilingue de base, une seule unité de code.
é, ü, ñ (précomposés)1Toujours une seule unité de code en UTF-16.
é écrit e + accent combinant2Deux points de code, donc deux runes, pour un seul glyphe visible.
🔥, 😂, 🎯2Hors du BMP — encodés en paire de substitution.
👨‍👩‍👧 (famille, séquence ZWJ)8Trois emoji et deux liants sans chasse (zero-width joiners). Un glyphe, huit runes.
#fyp4Un hashtag est du texte brut, décompté sur le même budget.
Ce que consomme réellement chaque élément sur le budget de 2 200 runes.

Y a-t-il une limite séparée sur le nombre de hashtags ?

Pas dans l’API de publication. Les hashtags font partie de la chaîne title : leur seul plafond, ce sont les 2 200 runes qu’ils partagent avec le reste de la légende.

C’est un fait de documentation, pas de diffusion : rien dans l’API ne vous empêche d’écrire quarante hashtags, et rien dans l’API ne promet qu’ils vous aident.

Que décide encore l’API pour vous, compte par compte ?

L’endpoint Query Creator Info renvoie les contraintes de publication du compte précis sur lequel vous vous apprêtez à publier, et elles ne sont pas les mêmes pour tout le monde. Ce sont les champs à connaître :

privacy_level_options varie selon le type de compte. Un compte public se voit proposer PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS et SELF_ONLY. Un compte privé se voit proposer FOLLOWER_OF_CREATOR, MUTUAL_FOLLOW_FRIENDS et SELF_ONLY — il n’a aucune option publique à choisir.

comment_disabled, duet_disabled et stitch_disabled sont renvoyés sous forme de booléens. duet_disabled vaut true quand le compte est privé ou que le créateur a réglé le Duo sur « Personne » — une option d’interaction peut donc être indisponible pour une raison qui n’a rien à voir avec votre application.

max_video_post_duration_sec est renvoyé pour chaque créateur. Il n’existe pas de chiffre unique publié pour « la durée maximale d’une vidéo TikTok » via l’API : vous posez la question au compte, et c’est lui qui répond.

Pourquoi une légende est-elle parfois publiée alors que la vidéo reste privée ?

Ce n’est pas un problème de légende. TikTok limite à la visibilité privée tous les contenus publiés par des clients API non audités. Tant que le client n’a pas passé l’audit de TikTok, chaque publication arrive en SELF_ONLY, quoi que disent la légende ou le champ de confidentialité.

Questions fréquentes

Quelle est la limite de caractères d’une légende TikTok ?
4 000 caractères quand vous publiez depuis l’application TikTok, et 2 200 runes UTF-16 quand la légende est publiée via la Content Posting API — celle qu’utilisent tous les outils de programmation. Dans les deux cas, hashtags et mentions comptent dans le même total.
Pourquoi mon outil de programmation refuse-t-il une légende que l’application TikTok accepte ?
Parce que l’application autorise 4 000 caractères, alors que l’API derrière chaque outil de programmation autorise 2 200 runes UTF-16. Une longue légende, ou une plus courte chargée en emoji — la plupart coûtent deux runes —, peut tenir dans l’application et dépasser malgré tout la limite de l’API.
Les hashtags comptent-ils dans la limite de la légende TikTok ?
Oui. Les hashtags font partie de la chaîne title : ils consomment les mêmes 2 200 runes que le reste de la légende. Il n’existe pas de budget séparé pour les hashtags.
Combien de caractères un emoji utilise-t-il dans une légende TikTok ?
La plupart des emoji coûtent 2 runes, parce qu’ils sont encodés en paire de substitution UTF-16. Les emoji composés coûtent davantage : un emoji famille assemblé par des liants sans chasse peut coûter 8 runes pour un seul glyphe visible.
Quelle est la durée maximale d’une vidéo TikTok via l’API ?
Elle dépend du compte. L’endpoint Query Creator Info renvoie max_video_post_duration_sec pour le créateur précis sur lequel vous publiez, plutôt qu’une valeur fixe identique pour tous les comptes.

Sources

Ces chiffres viennent de la documentation d’une autre entreprise, qui peut changer sans préavis et que rien ici ne revérifie automatiquement. C’est pour cela que chaque source porte la date à laquelle elle a été lue. Les sources de cette page sont relues chaque trimestre.