TL;DR, Respuesta Rápida
9 min de lecturaMeta limita los posts de texto de Threads a 500 caracteres y cuenta los emoji como bytes UTF-8. Un tema se puede adjuntar de dos formas: el parámetro topic_tag, que vive fuera del campo text y está limitado a entre 1 y 50 caracteres, o una etiqueta dentro del texto que empieza por almohadilla, que vive dentro de text y por tanto gasta los 500. Meta no dice si el valor de topic_tag cuenta contra el límite del post.
¿A qué se aplica el límite de 500 caracteres de la API de Threads?
Meta acota el límite de 500 caracteres de la API de Threads al parámetro text de un contenedor de medios, y mantiene topic_tag como un parámetro aparte con su propio techo de 50 caracteres. El tope aparece como una viñeta de una línea bajo Limitations en la sección Single Thread Posts: "Text posts are limited to 500 characters." La página general de Threads repite la misma frase palabra por palabra bajo Other Limitations.
Ninguna de las dos páginas asocia un nombre de campo a esa frase. El endpoint de contenedores acepta text en los tipos de medio TEXT, IMAGE, VIDEO y CAROUSEL, y la viñeta de los 500 está bajo un encabezado sobre posts de texto, así que Meta deja abierto si un caption en un post de imagen recibe el mismo techo. No aparece un segundo número en ninguna parte de la documentación de Threads, lo que convierte a 500 en el único tope contra el que una integración puede planificar para cualquier valor de text.
La regla de recuento pegada a esa viñeta es la parte que la mayoría de contadores de caracteres se equivoca: "Emojis are counted as the number of UTF-8 bytes." Un emoji de familia de cuatro personas cuesta 25 de los 500 en lugar de 1, algo cubierto al completo en por qué el límite de caracteres de Threads cuenta los emoji como bytes UTF-8.
¿topic_tag cuenta contra los 500?
Meta no lo dice. El parámetro topic_tag está documentado en su propia subsección con su propia restricción, "Topic tags must be at least 1 character and no more than 50 characters long", y nada en la guía de posts ni en la referencia de publicación ata ese valor al límite de caracteres del post.
Lo que la documentación sí establece es dónde vive cada cosa. topic_tag es un campo de formulario aparte en POST /{threads-user-id}/threads, enviado junto a text:
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"Una etiqueta dentro del texto es el caso contrario y no necesita ninguna aclaración de Meta, porque la etiqueta forma parte de la cadena que pones en text. Cada carácter de #socialmedia es un carácter del post, así que una etiqueta dentro del texto gasta los 500 por construcción. Esa asimetría es la razón práctica para preferir el parámetro: la vía de la etiqueta dentro del texto es un cargo documentado contra los 500, y la vía del parámetro es una incógnita.

¿Cuál es la diferencia entre topic_tag y una etiqueta dentro del texto?
Meta admite las dos y marca una como heredada. El método dentro del texto lleva un aviso explícito en la documentación: "This method is not preferred but is kept for backwards compatability."
Parámetro topic_tag | Etiqueta dentro del texto | |
|---|---|---|
| Dónde vive | Su propio campo de formulario | Dentro de text |
| Regla de longitud | De 1 a 50 caracteres | De 1 a 50 caracteres |
| Almohadilla | No se usa | Obligatoria para abrir la etiqueta |
| Gasta los 500 | Meta no lo dice | Sí, cada carácter |
| Estado en la documentación de Meta | Actual | "not preferred but is kept for backwards compatability" |
Una regla se aplica a las dos vías: "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." Las palabras extra con almohadilla en el cuerpo no se convierten en temas extra, y siguen costando caracteres.
Las dos páginas de documentación tampoco cuentan lo mismo. La guía de posts indica el rango de 1 a 50 caracteres para las etiquetas de tema. La referencia de POST /{threads-user-id}/threads lista topic_tag solo con los caracteres prohibidos y sin ninguna regla de longitud, así que quien lea únicamente la referencia nunca ve el 50.
¿Qué caracteres están prohibidos en una etiqueta de tema de Threads?
Las dos vías tienen listas de prohibidos distintas, y la lista de las etiquetas dentro del texto es mucho más larga. Para el parámetro, Meta prohíbe dos caracteres: puntos y ampersands. Para una etiqueta dentro del texto, Meta dice "any in-text tag that starts with a hash sign will end just before these characters" y a continuación da el conjunto completo.
| Vía | Caracteres que no se permiten |
|---|---|
Parámetro topic_tag | Puntos (.), ampersands (&) |
| Etiqueta dentro del texto | Espacios, tabuladores, saltos de línea, puntos (.), ampersands (&), arrobas (@), signos de exclamación (!), signos de interrogación (?), comas (,), puntos y coma (;), dos puntos (:) |
Una regla aparte mata las etiquetas numéricas: "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 señala además que "The text is also configured in the app without the hash sign", así que la almohadilla es marcado para la API y no parte del tema.
La consecuencia práctica es un truncado silencioso. Escribir #social media en text produce el tema "social" y deja la palabra "media" como texto llano, sin error y sin aviso. Enviar social media como topic_tag conserva la frase entera.
¿Qué otros campos de texto limita la API de Threads?
Cuatro límites distintos rigen lo que entra en un post de Threads, y solo uno de ellos es el de 500. Confundirlos es la causa habitual de un contenedor que falla al crearse por motivos que el contador de caracteres nunca predijo.
| Campo | Límite | Dónde lo indica Meta |
|---|---|---|
text | 500 caracteres, emoji contados como bytes UTF-8 | Guía de posts, Limitations bajo Single Thread Posts |
topic_tag | De 1 a 50 caracteres | Guía de posts, Topic Tags |
alt_text | 1.000 caracteres | Referencia de publicación, POST /{threads-user-id}/threads |
| Enlaces en un post | 5 o menos | Guía de posts, Links |
La regla de los enlaces es la única con una cadena de fallo documentada. Desde el 22 de diciembre de 2025, Meta afirma que "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." Los enlaces se cuentan después de deduplicar: una URL repetida en text cuenta una vez, y un link_attachment que coincide con una URL ya presente en text "is only counted once, rather than twice".
AdaptlyPost
Empieza tu prueba gratis de 7 días
Analíticas multiplataforma
Bandeja Social
Asistente con IA
Para los 500 no existe nada comparable. El índice de la referencia de la API de Threads no lleva página de códigos de error, y la página de troubleshooting documenta solo valores de status de contenedor y valores de error_message de video, así que un text demasiado largo no tiene ninguna constante de error publicada que capturar.
¿Qué pasa si text pasa de 500?
Meta documenta el límite y no la respuesta, así que la única jugada fiable es medir antes de enviar. Como los emoji se cuentan como bytes UTF-8 y no como caracteres, la medición hay que hacerla sobre la cadena codificada. Un String.length de JavaScript de 475 puede ser 517 bytes en cuanto hay unos cuantos emoji, que es exactamente el modo de fallo descrito en la página del límite de caracteres de Threads.
La misma cuestión de recuento por bytes aparece en cualquier red que guarde el texto del post como UTF-8, incluida la forma en que los facets de Bluesky indexan los enlaces por byteStart y byteEnd en lugar de por posición de carácter. Cualquier integración que publique en más de una red necesita un contador exacto en bytes, no uno por plataforma.

¿Qué significa esto para los posts programados en Threads?
Un programador compone el contenedor mucho antes de la llamada de publicación, así que los 500 hay que aplicarlos en el momento del borrador y no en el del envío. Dos comprobaciones cubren casi todo: contar text en bytes UTF-8 y mover los temas a topic_tag en lugar de al cuerpo cuando el post está cerca del techo.
La restricción del lado de la publicación es otra, ya que Threads también limita un perfil a 250 posts publicados por la API dentro de un periodo móvil de 24 horas. Los límites de caracteres rechazan un contenedor al crearlo y los límites de cuota lo rechazan al publicarlo, que son dos fallos distintos que diseñar. Para equipos que planifican Threads junto a otras redes, la página de la herramienta de programación para Threads explica cómo conecta AdaptlyPost a través de la API oficial.
Preguntas frecuentes
¿El límite de 500 caracteres de la API de Threads es el mismo que el de la app de Threads?
La cifra de 500 que Meta publica para la API coincide con el número que Threads muestra en su propio compositor, y Meta documenta la regla de emoji contados por bytes solo en la documentación de la API. Las páginas de la API son las que enuncian la regla con precisión, así que tómalas como la especificación para todo lo que construyas.
¿Un post de Threads puede llevar más de una etiqueta de tema?
No. Meta afirma que "Only one topic tag is allowed per post", y que la primera etiqueta válida de un post de cualquier tipo es la que se usa. Las palabras adicionales con almohadilla se quedan como texto llano dentro de text y siguen contando para los 500.
¿La almohadilla cuenta como carácter en una etiqueta dentro del texto?
Una etiqueta dentro del texto vive dentro del valor de text, así que cada carácter suyo cuenta, almohadilla incluida. Meta señala que el tema en sí se guarda sin la almohadilla: "The text is also configured in the app without the hash sign."
¿Por qué mi etiqueta de tema se corta por la mitad?
Una etiqueta dentro del texto termina en el primer carácter de la lista de prohibidos de Meta, que incluye espacios, puntos, ampersands, arrobas, signos de exclamación, signos de interrogación, comas, puntos y coma y dos puntos. Un tema de varias palabras escrito en el cuerpo se convierte por tanto en una etiqueta de una sola palabra. Envíalo por el parámetro topic_tag, donde los espacios no están en la lista de prohibidos.
¿Cuánto puede medir el texto alternativo de Threads?
1.000 caracteres. Meta indica el número en la referencia de POST /{threads-user-id}/threads: "The maximum length of alt_text is 1,000 characters." Ese presupuesto es independiente de los 500 de text.
¿Dónde documenta Meta el límite de 500 caracteres?
En dos sitios, con la misma redacción. La guía de posts en developers.facebook.com/documentation/threads/posts lleva "Text posts are limited to 500 characters." bajo Limitations en la sección Single Thread Posts, y la página general en developers.facebook.com/documentation/threads/overview lo repite bajo Other Limitations. La regla de recuento de emoji por bytes aparece al lado en la guía de posts.
¿topic_tag se cuenta en bytes UTF-8 igual que text?
Meta indica la regla de bytes UTF-8 solo para el campo text, ligada al límite de 500. El apartado de topic_tag da un rango de 1 a 50 caracteres sin mencionar bytes, así que no queda documentado si una etiqueta con muchos emoji cuenta como bytes o como caracteres. Hasta que Meta diga lo contrario, conviene tratar el 50 como caracteres, que es la unidad que de verdad usa la documentación.
¿Qué pasa si un post de Threads tiene más de 5 enlaces?
El contenedor falla en la creación. Meta indica que el error llega en el paso de creación del medio, POST /{threads-user-id}/threads, con el código THREADS_API__LINK_LIMIT_EXCEEDED. Es el único límite de la página con una cadena de error documentada, a diferencia de los 500 de text.
¿Un enlace repetido cuenta doble para el límite de 5?
Cuenta una sola vez. Meta cuenta los enlaces tras deduplicarlos, así que la misma URL repetida en text cuenta como un enlace, y un link_attachment que coincide con una URL ya presente en text "solo se cuenta una vez, no dos". Cinco enlaces únicos siguen siendo el tope.
AdaptlyPost
Empieza tu prueba gratis de 7 días
Analíticas multiplataforma
Bandeja Social
Asistente con IA
¿topic_tag se puede usar en un post de imagen o video, no solo en uno de solo texto?
Sí, la regla cubre todos los tipos de medio. Meta dice que la primera etiqueta válida en "a post of any type (text-only, image, video, carousel)" se convierte en la etiqueta de ese post, así que topic_tag funciona igual sin importar si el contenedor lleva una imagen, un video o un carrusel.
Ponlo en práctica con AdaptlyPost
¿Te resultó útil este artículo?
¡Cuéntanos qué te parece!
Vernos más en Google
Un clic marca AdaptlyPost como fuente preferida y nuestros artículos aparecen más arriba en tus Noticias destacadas, el modo IA y los resúmenes con IA.
Antes de irte...
AdaptlyPost
Programa tu contenido en todas las plataformas
Gestiona todas tus cuentas de redes sociales en un solo lugar con AdaptlyPost.
Analíticas multiplataforma
Bandeja Social
Asistente con IA
Términos relacionados del glosario


Cómo funciona el máximo de elementos de carrusel de la API de Threads
Meta fija el máximo de elementos de carrusel de la API de Threads en 20 hijos, con un mínimo de 2. Aquí va el flujo de contenedores y qué devuelve uno malo.


Cómo funciona el límite de 250 posts por día de la API de Threads
Meta cuenta el límite de 250 posts por día de la API de Threads en una ventana móvil de 24 horas. Los carruseles cuentan una vez y un endpoint da el restante.


Qué le pasa a un Threads ghost post tras 24 horas
Un Threads ghost post es una publicación de solo texto que Meta archiva tras 24 horas. Las respuestas pueden ir a tu bandeja y la API usa is_ghost_post=true.
Artículos Relacionados


Por qué el límite de caracteres de Threads cuenta emojis como bytes UTF-8
Son 500 caracteres, pero el límite de caracteres de Threads mide cada emoji por sus bytes UTF-8: un emoji de familia cuesta 25. Así se cuenta bien.


Por qué la verificación de dominio pull_from_url de la API de TikTok rechaza tu host
Cada init devuelve url_ownership_unverified si no pasas la verificación de dominio pull_from_url de la API de TikTok, una comprobación DNS del host.


Detrás de la etiqueta de IA de TikTok hay dos etiquetas
La etiqueta de IA de TikTok llega de dos formas: una que aplicas tú con is_aigc y otra automática, por efectos de IA o C2PA, que no puedes quitar.

