TL;DR, Réponse Rapide
8 min de lectureLe paramètre alt_text de l'endpoint de publication de contenu d'Instagram accepte jusqu'à 1 000 caractères, et la référence de Meta le réserve à une image seule ou à une image placée dans un carrousel. La documentation nomme les Reels et les Stories comme non pris en charge, et aucun conteneur vidéo n'est répertorié comme acceptant le champ. La documentation développeur de Meta ne publie aucune limite de caractères pour le champ de texte alternatif de l'application Instagram, donc le chiffre de 1 000 est le seul à disposer d'une source citable.
Quelle est la limite de caractères d'alt_text dans l'API Instagram ?
La référence de Meta fixe elle-même la limite de caractères d'alt_text dans l'API Instagram à 1 000 caractères, et réserve le champ aux images fixes. La description du paramètre sur l'endpoint de création de média se lit, mot pour mot : « Alternative text, up to 1000 character, for an image. Only supported on a single image or image media in a carousel. Reels and stories are not supported. »
Une phrase, trois règles distinctes. Le plafond est de 1 000. Le champ appartient à une image, seule ou placée dans un carrousel. Les Reels et les Stories sont exclus nommément. Tout le reste de ce que les gens croient savoir sur le texte alternatif d'Instagram vient d'ailleurs que de cette phrase.
Le champ se trouve sur l'appel de création du conteneur :
POST https://graph.facebook.com/v25.0/<IG_ID>/media
?image_url=https://example.com/photo.jpg
&alt_text=A%20hand-drawn%20site%20plan%20pinned%20to%20a%20studio%20wall
&caption=Week%20four
&access_token=<TOKEN>
Vous passez alt_text au moment où vous créez le conteneur, pas au moment où vous le publiez. L'étape de publication, POST /<IG_ID>/media_publish, prend un creation_id et rien d'autre qui touche à l'accessibilité. Oubliez le champ sur le conteneur et il n'y a pas de deuxième chance dans le même flux.
Meta date la fonctionnalité avec précision. Le guide de publication de contenu indique : « On March 24, 2025, we introduced the new alt_text field for image posts on the /<INSTAGRAM_PROFESSIONAL_ACCOUNT_ID>/media endpoint. Reels and stories are not supported. » Tout ce qui a été écrit sur l'API de publication d'Instagram avant cette date décrit un monde sans aucun texte alternatif programmatique.
- Aucun champ alt_text dans l'API de publication
- Aucun moyen programmatique de décrire une image
- Champ alt_text disponible sur l'endpoint média
- Jusqu'à 1 000 caractères, images uniquement
Quels types de médias Instagram acceptent alt_text ?
Les images seulement. Voici le tableau complet, tiré de la description du paramètre et de la liste des types de média sur la même page de référence.
| Conteneur | alt_text accepté | Ce que dit la documentation |
|---|---|---|
Image seule (pas de media_type requis) | Oui | « Only supported on a single image » |
Image dans un carrousel (is_carousel_item=true) | Oui | « or image media in a carousel » |
Conteneur de carrousel (media_type=CAROUSEL) | Non | Le champ décrit une image, et le conteneur contient des enfants, pas des pixels |
media_type=REELS | Non | « Reels and stories are not supported » |
media_type=STORIES | Non | « Reels and stories are not supported » |
| Vidéo | Non répertorié | Le paramètre est cadré « for an image », aucun conteneur vidéo n'est documenté comme l'acceptant |
Lisez la dernière ligne attentivement, car c'est celle qui se fait mal citer. Meta n'écrit pas les mots « video is not supported ». Meta écrit que le paramètre est un texte alternatif « for an image », et nomme les Reels et les Stories comme les exclusions. Cet endpoint publie la vidéo autonome en REELS, ce que la phrase écarte directement. Le résultat pratique correspond au raccourci que tout le monde répète, mais la documentation y arrive par le périmètre et non par une interdiction, et une page de spécification devrait dire lequel des deux s'applique.
Pourquoi le chiffre de l'application diffère-t-il de celui de l'API ?
La documentation développeur de Meta publie exactement une limite de texte alternatif : 1 000 caractères, sur le paramètre alt_text. Elle ne publie aucune limite pour le champ de texte alternatif à l'intérieur de l'application Instagram.
C'est l'écart qui mérite d'être nommé. Les guides d'accessibilité et les blogs de réseaux sociaux font circuler un chiffre in-app bien plus court, cité sans aucun lien vers Meta. Ce chiffre n'apparaît nulle part dans la documentation développeur de Meta, et il n'apparaît pas non plus dans le changelog, qui ne contient aucune entrée sur alt_text. Cette page ne le reprend donc pas. Si vous avez besoin de savoir combien de caractères l'éditeur de l'application accepte, la réponse disponible chez Meta est que Meta ne le dit pas.
Ce que vous obtenez à la place, c'est un chiffre ferme pour la seule surface qui se documente elle-même. Si votre texte alternatif passe par l'API, 1 000 caractères est le budget, et c'est le seul budget sur lequel Meta s'engage par écrit. La contrainte autour de laquelle les gens s'organisent se révèle ne pas être celle qui existe.
Comment la limite d'alt_text se compare-t-elle à la limite de légende ?
La même page de référence documente les deux, la comparaison est donc directe.
| Champ | Plafond | Règles supplémentaires |
|---|---|---|
alt_text | 1 000 caractères | Images uniquement. Pas de Reels, pas de Stories |
caption | 2 200 caractères | Maximum 30 hashtags et 20 tags @ |
La description de la légende chez Meta est explicite sur le décompte des tags : « Maximum 2200 characters, 30 hashtags, and 20 @ tags. » La description d'alt_text ne porte aucune sous-règle équivalente. Aucun plafond de hashtags n'est documenté, aucun plafond de mentions, aucun traitement du balisage. C'est un champ de texte brut avec un plafond.
Cette asymétrie compte quand vous construisez un éditeur. Un validateur de légende a besoin de trois compteurs. Un validateur de texte alternatif en a besoin d'un, plus une vérification du type de média choisi par la personne.

Où placer alt_text dans un post carrousel ?
Sur chaque conteneur enfant, un par un. Un carrousel se construit en deux étapes. D'abord un conteneur par élément avec is_carousel_item=true, puis le parent avec media_type=CAROUSEL et un tableau children de ces identifiants. La note de Meta sur is_carousel_item se lit : « Applies only to images and video. Set to true. Indicates image or video appears in a carousel. »
AdaptlyPost
Essai gratuit de 7 jours
Analyses multiplateforme
Boîte sociale
Assistant IA
Le texte alternatif s'attache au niveau de l'enfant, ce qui découle de la description du paramètre qui couvre « image media in a carousel ». Dix diapositives veulent dire dix valeurs alt_text distinctes, écrites pour dix images distinctes. Il n'existe aucun champ au niveau du parent qui décrive l'ensemble, ni moyen d'écrire une seule chaîne qui couvre tout le balayage. Les équipes qui traitent leurs carrousels par lots avec un outil de planification pour Instagram s'y heurtent immédiatement. Le travail de texte alternatif suit le nombre de diapositives, pas le nombre de publications.
Les enfants vidéo dans un carrousel héritent du même problème de périmètre que la vidéo autonome. Le conteneur enfant accepte is_carousel_item, mais alt_text est documenté pour les médias image.
Que devient le texte alternatif sur les Reels et les Stories ?
Rien, parce que le champ n'existe pas là. Envoyez alt_text sur un conteneur REELS ou STORIES et vous envoyez un paramètre que l'endpoint ne documente pas. Il n'y a ni prise en charge partielle, ni troncature, ni repli sur la légende.
Cela laisse un vrai trou pour quiconque publie de la vidéo en volume via l'API de publication Instagram. La description accessible doit vivre ailleurs, ce qui veut dire en pratique la légende, le texte à l'écran ou les sous-titres incrustés dans la vidéo elle-même. Ce sont des choix éditoriaux, pas des champs d'API, et ils appartiennent au calendrier de contenu avec lequel votre équipe travaille déjà.

Comment utiliser réellement 1 000 caractères ?
La plupart des textes alternatifs n'en ont pas besoin, et la longueur n'est pas le but. L'intérêt de connaître le vrai plafond, c'est qu'il supprime la mauvaise raison d'être bref. Quand une photographie porte un graphique, un menu, une liste de prix, un horaire ou du texte dense sur l'image, vous ne choisissez plus entre une description et un résumé. Vous avez la place pour les deux.
Pour une image dense, commencez par le sujet et ce qu'il fait, puis le décor, puis tout texte visible dans le cadre, transcrit plutôt que paraphrasé. Sautez « image de » et « photo de », puisque la technologie d'assistance annonce déjà l'élément. Gardez la voix de marque dans la légende, où un rédacteur de légendes par IA fait ce travail, et laissez le texte alternatif décrire ce qui est là.
Le seul chiffre autour duquel concevoir est 1 000, par conteneur, images uniquement. Tout le reste sur le texte alternatif d'Instagram relève soit du jugement éditorial, soit d'un comportement non documenté de l'application sur lequel Meta ne s'est pas engagée par écrit.
Questions fréquentes
Quelle est la longueur maximale d'alt_text dans l'API Instagram ?
1 000 caractères. La référence de Meta pour l'endpoint de création de média décrit le paramètre comme « Alternative text, up to 1000 character, for an image », et c'est le seul plafond de texte alternatif publié dans la documentation développeur.
L'API Instagram prend-elle en charge alt_text sur les Reels ?
Non. La documentation de Meta indique clairement que « Reels and stories are not supported » pour le champ alt_text, à la fois dans la description du paramètre et dans la note de lancement du guide de publication de contenu.
Peut-on définir un texte alternatif sur chaque diapositive d'un carrousel Instagram ?
Oui, sur chaque conteneur enfant. La description du paramètre couvre « image media in a carousel », vous passez donc alt_text en même temps que is_carousel_item=true lors de la création de chaque enfant image, avant d'assembler le conteneur parent CAROUSEL.
La limite de texte alternatif de l'application Instagram est-elle la même que celle de l'API ?
La documentation développeur de Meta ne publie pas de limite de caractères pour le champ de texte alternatif de l'application Instagram, les deux ne peuvent donc pas être comparées à partir d'une source citable. Le chiffre de 1 000 caractères s'applique au paramètre d'API alt_text.
Quand Instagram a-t-il ajouté alt_text à son API de publication ?
Le 24 mars 2025. Le guide de publication de contenu consigne la date de lancement et la cadre aux publications image sur l'endpoint /<INSTAGRAM_PROFESSIONAL_ACCOUNT_ID>/media.
alt_text compte-t-il dans la limite de légende d'Instagram ?
Non. Ce sont des paramètres distincts avec des plafonds distincts sur le même conteneur : caption autorise 2 200 caractères avec un maximum de 30 hashtags et 20 tags @, tandis qu'alt_text autorise 1 000 caractères sans sous-règles documentées.
Peut-on ajouter alt_text à une publication vidéo autonome via l'API ?
La vidéo ne figure pas parmi les conteneurs qui acceptent alt_text. La description du paramètre limite le champ « pour une image », et cet endpoint publie la vidéo autonome via un conteneur REELS, l'un des deux types que la documentation exclut nommément.
AdaptlyPost
Essai gratuit de 7 jours
Analyses multiplateforme
Boîte sociale
Assistant IA
À quelle étape du flux de publication définit-on alt_text ?
alt_text se transmet à la création du conteneur, dans le POST initial vers /<IG_ID>/media, pas à l'étape de publication. L'appel media_publish n'accepte qu'un creation_id, il n'existe donc aucune seconde chance d'ajouter le texte alternatif une fois le conteneur créé sans lui.
Que se passe-t-il si on envoie quand même alt_text sur un conteneur Reels ou Stories ?
Rien d'utile, car l'endpoint ne documente pas ce champ pour ces types de conteneur. La référence de Meta ne décrit ni prise en charge partielle, ni troncature, ni repli qui copierait le texte dans la légende.
Le champ alt_text porte-t-il des règles annexes comme le champ caption ?
Il n'en porte pas. Le paramètre caption documente un plafond de 30 hashtags et 20 mentions @ en plus de sa limite de caractères, alors que la description d'alt_text n'en mentionne aucune, seulement le plafond de 1 000 caractères et la portée limitée aux images.
Mettez cela en pratique avec AdaptlyPost
Cet article vous a-t-il été utile ?
Dites-nous ce que vous en pensez !
Nous voir plus souvent sur Google
Un clic définit AdaptlyPost comme source préférée. Nos articles remontent alors dans vos À la une, en mode IA et dans les aperçus IA.
Avant de partir...
AdaptlyPost
Planifiez vos contenus sur toutes les plateformes
Gérez tous vos comptes de réseaux sociaux en un seul endroit avec AdaptlyPost.
Analyses multiplateforme
Boîte sociale
Assistant IA
Termes connexes du glossaire


Pourquoi la limite de caractères des légendes TikTok se mesure en runes UTF-16
La limite de caractères des légendes TikTok est de 2200 runes UTF-16 en vidéo et de 90 pour un titre de photo. Un seul emoji peut en coûter onze.


La règle d'authenticité de X : puis-je publier le même contenu sur plusieurs comptes ?
Question fréquente : publier le même contenu sur plusieurs comptes ? X interdit les posts identiques d'un même auteur, autorise la traduction, plafonne à dix.


Trois minutes, pas soixante secondes : combien de temps peut durer un Short YouTube
La plupart des pages disent 60 secondes. Combien de temps peut durer un Short YouTube : trois minutes, avec les limites musique et copyright bien avant.
Articles Connexes


Pourquoi la limite de caractères de Threads compte les emojis en octets UTF-8
Le plafond est de 500, mais la limite de caractères de Threads mesure chaque emoji en octets UTF-8 : un emoji famille coûte 25. Comment compter juste.


Derrière l'étiquette IA de TikTok se cachent deux étiquettes
L'étiquette IA de TikTok existe en deux versions : celle que vous posez avec is_aigc, et celle que TikTok ajoute via ses effets ou C2PA, impossible à retirer.


Correspondance des droits sur YouTube : qu'est-ce que Content ID et que fait une revendication
Réponse claire : qu'est-ce que Content ID, pourquoi seule la musique de l'Audio Library est sûre selon YouTube et ce qu'une revendication change.

