Glosario

Cómo trata el límite de 500 caracteres de la API de Threads a topic_tag

Taras Shynkarenko
Taras Shynkarenko
•Actualizado: •9 min de lectura
Cómo trata el límite de 500 caracteres de la API de Threads a topic_tagCómo trata el límite de 500 caracteres de la API de Threads a topic_tag

TL;DR, Respuesta Rápida

9 min de lectura

Meta 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.

Un primer plano de una mano escribiendo una etiqueta con almohadilla en un teléfono, que ilustra una etiqueta dentro del texto.

¿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_tagEtiqueta dentro del texto
Dónde viveSu propio campo de formularioDentro de text
Regla de longitudDe 1 a 50 caracteresDe 1 a 50 caracteres
AlmohadillaNo se usaObligatoria para abrir la etiqueta
Gasta los 500Meta no lo diceSí, cada carácter
Estado en la documentación de MetaActual"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íaCaracteres que no se permiten
Parámetro topic_tagPuntos (.), ampersands (&)
Etiqueta dentro del textoEspacios, 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.

Dónde poner un tema
1
Medir text en bytes UTF-8. Los emojis cuentan como bytes, no como caracteres.
2
Comprobar cuánto queda de los 500. El conteo de bytes en curso marca el presupuesto.
3
Escribir el tema dentro de text. Se corta en el primer carácter prohibido, incluido el espacio.
4
Enviarlo como topic_tag en su lugar. Hasta 50 caracteres, en un parámetro propio.
La lista de caracteres prohibidos y el presupuesto contado en bytes apuntan los dos hacia el parámetro topic_tag.

¿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.

CampoLímiteDónde lo indica Meta
text500 caracteres, emoji contados como bytes UTF-8Guía de posts, Limitations bajo Single Thread Posts
topic_tagDe 1 a 50 caracteresGuía de posts, Topic Tags
alt_text1.000 caracteresReferencia de publicación, POST /{threads-user-id}/threads
Enlaces en un post5 o menosGuí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
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.

Una persona revisando un calendario de contenido en un portátil junto a un teléfono, que representa cómo se redacta un post programado antes de publicarlo.

¿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
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.

¿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

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

Artículos Relacionados