Publicación en Bluesky
Crea y programa publicaciones en Bluesky usando el servidor MCP de Publora. Soporta publicaciones de texto con hashtags y URL detectados automáticamente, imágenes y vídeos.
Requisitos previos
Planes: Funciona con el plan gratuito Starter. Límites y precios actuales: publora.com/pricing.
Primeros pasos
- Crear cuenta en publora.com/register (gratis)
- Generar contraseña de aplicación en Ajustes de Bluesky > Contraseñas de aplicación (NO tu contraseña principal)
- Conectar Bluesky en el Panel de Publora usando tu usuario + contraseña de aplicación
- Obtener clave API en app.publora.com/dashboard/api
- Conectar tu agente al servidor MCP en
https://mcp.publora.com, autenticando conAuthorization: Bearer sk_TU_CLAVE_API. En Claude Code:
claude mcp add publora --transport http https://mcp.publora.com \
--header "Authorization: Bearer sk_TU_CLAVE_API"
Claude Desktop, Cursor, Codex, OpenClaw y el conector de claude.ai necesitan cada uno un archivo de configuración o flujo diferente: consulta configuración de cliente para la ruta y el fragmento exactos.
Respaldo con API REST
Si el servidor MCP no está disponible o devuelve errores, usa la API REST directamente:
URL base: https://api.publora.com/api/v1
Autenticación: Usa el encabezado x-publora-key (NO Authorization: Bearer):
# Obtén tus plataformas conectadas
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
-H "x-publora-key: sk_tu_clave_api"
# Crea una publicación
curl -X POST "https://api.publora.com/api/v1/create-post" \
-H "x-publora-key: sk_tu_clave_api" \
-H "Content-Type: application/json" \
-d '{
"platforms": ["bluesky-did:plc:abc123xyz"],
"content": "El contenido de tu publicación aquí",
"scheduledTime": "2026-03-25T10:00:00Z"
}'
Formato del ID de plataforma: bluesky-{did} donde {did} es de la respuesta de /platform-connections.
Ejemplos de IDs: bluesky-did:plc:abc123xyz, bluesky-did:plc:def456uvw
📖 Documentación completa de la API: docs.publora.com
Límites de la plataforma
| Característica | Límite |
|---|---|
| Caracteres | 300 |
| Imágenes | Hasta 4 por publicación |
| Tamaño de imagen | exactamente 2.000.000 bytes (decimal, no 2 MiB) |
| Duración de vídeo | 3 minutos |
| Tamaño de vídeo | 50-100 MB (según duración) |
| Vídeos por día | 25 |
| Texto alternativo | 2.000 caracteres en Bluesky, pero no se puede establecer a través de esta API (ver abajo) |
Niveles de tamaño de vídeo
| Duración | Tamaño máximo |
|---|---|
| Menos de 60s | 50 MB |
| 60s - 3min | 100 MB |
Facetas de texto enriquecido
Bluesky usa un sistema único de texto enriquecido. Publora maneja la complejidad automáticamente:
- Hashtags:
#hashtagdetectado automáticamente y hecho clickable - URLs: Cualquier URL detectada automáticamente y hecha clickable
- Desplazamientos de bytes: Calculados correctamente para caracteres multi-byte (emojis, CJK)
No se necesita formato especial: solo escribe de forma natural.
Herramientas disponibles
create_post
Crea una nueva publicación en Bluesky.
Parámetros:
platforms: Array con tu ID de conexión de Bluesky (ej.["bluesky-did:plc:abc123xyz"])content: Texto de la publicación (hasta 300 caracteres)scheduledTime: Fecha y hora ISO 8601 UTC. Opcional: omítelo y la publicación se crea como borrador. Envía una hora futura para programarla. Una hora cinco o más minutos en el pasado se rechaza conSCHEDULED_TIME_IN_PAST, así que para publicación inmediata usa la hora actual más un minuto.mediaUrls: hasta 10 URL públicas https de imágenes o vídeos. Publora las descarga del lado del servidor y las adjunta antes de la validación, por lo que el contenido multimedia y la programación ocurren en una sola llamada. Esta es la alternativa de una sola vez al flujo de borrador +get_upload_url+complete_media. La ingesta tiene un límite de 60 URL por hora.
get_upload_url
Obtiene una URL prefirmada para subir contenido multimedia.
Parámetros:
postGroupId: ID de la publicación a la que adjuntar el contenido multimediafileName: Nombre del archivo (ej. "photo.jpg")contentType:image/jpeg,image/png,video/mp4type:"image"o"video"
complete_media
Finaliza un archivo subido a través de get_upload_url, después de que el PUT prefirmado tenga éxito. Opcional, porque la programación también finaliza el contenido multimedia pendiente, pero llamarlo temprano muestra errores de formato y prueba antes de publicar. No es necesario para contenido multimedia adjuntado con mediaUrls.
Parámetros:
mediaId: el ID devuelto porget_upload_url
list_connections
Lista tus cuentas conectadas con sus IDs de plataforma. Llámalo primero y copia los IDs textualmente; nunca son adivinables.
post_stats
Contadores de interacción para una publicación publicada en Bluesky: reacciones, comentarios, republicaciones, citas y marcadores. En vivo en el momento de la solicitud, almacenado en caché durante aproximadamente dos horas.
Parámetros:
platform:blueskyplatformId: tu ID de conexión de BlueskypostedIds: los IDs de las publicaciones publicadas a consultar
profile_stats
Seguidores, seguidos y número de publicaciones para la cuenta conectada.
Parámetros:
platform:blueskyplatformId: tu ID de conexión de Bluesky
list_posts / get_post / update_post / delete_post
Gestiona publicaciones programadas y borradores. update_post también parchea content y platforms en un borrador o publicación programada, por lo que corregir un error tipográfico o redirigir ya no significa eliminar y recrear. delete_media y prune_media_reference limpian archivos subidos.
Ejemplos
Publicación simple con hashtags
Publica esto en Bluesky:
"¡Acabamos de lanzar nuestra nueva documentación de API! Mírala en https://docs.example.com #devtools #api"
Los hashtags y URL se vuelven clickables automáticamente.
Publicación con imagen
Publica esto en Bluesky con una captura de pantalla del panel:
"¡Nuestra nueva vista de análisis ya está disponible! #buildinpublic"
Múltiples imágenes
Crea una publicación en Bluesky con imágenes de comparación antes/después:
"¡Renovación de la oficina completa! Qué transformación."
Nota: Se permiten hasta 4 imágenes por publicación.
Publicación de vídeo
Publica este vídeo de demostración de 60 segundos en Bluesky:
"Visita rápida a las nuevas funciones de nuestra app móvil"
Publicación programada
Programa esto para mañana a las 10 AM:
"¡Buenos días! Aquí tienes tu consejo de productividad diario..."
Restricciones importantes
-
El texto alternativo no se puede establecer a través de la API. El editor de Bluesky lee una propiedad
alten el contenido multimedia, pero nada la persiste: ni el flujo de subida prefirmada nimediaUrlsla almacenan, y un valoraltTextsenviado acreate-postse ignora silenciosamente.platformSettingstampoco ayuda, ya que Bluesky se rechaza allí con400 PLATFORM_SETTING_UNKNOWN. Publica la imagen y luego añade el texto alternativo en la aplicación de Bluesky. No le digas al usuario que su texto alternativo se publicó. -
Contraseña de aplicación requerida: Debes usar una contraseña de aplicación de Bluesky, NO la contraseña principal de tu cuenta. Genérala en Ajustes > Contraseñas de aplicación.
-
Todas las imágenes se convierten a JPEG: Independientemente del formato de entrada (PNG, WebP, GIF), todas las imágenes se convierten a JPEG antes de subirlas.
-
Límite estricto de 2.000.000 bytes para imágenes: el Protocolo AT aplica un límite exacto en bytes decimales, no 2 MiB redondeados. Comprime a calidad JPEG del 80-85% y verifica el recuento de bytes.
-
ID de plataforma basado en DID: A diferencia de otras plataformas que usan IDs numéricos, Bluesky usa el formato
did:plc:xxx. -
Verificación de correo electrónico para vídeos: Debes verificar tu correo electrónico en Bluesky antes de subir vídeos.
-
Límite diario de 25 vídeos: Máximo 25 vídeos O 10 GB por día.
Mejores prácticas
Contenido
- Publicaciones concisas: 300 caracteres es más corto que Twitter: sé directo
- Hashtags naturales: 1-2 hashtags relevantes funcionan bien
- Texto alternativo: Vale la pena añadirlo, pero debes hacerlo en la aplicación de Bluesky después de publicar; la API no puede llevarlo
- Las URL funcionan: Los enlaces son clickables (a diferencia de algunas plataformas)
Momento
- Plataforma en crecimiento: Menos concurrida que X, más fácil hacerse notar
- Audiencia experta en tecnología: Mayoría de desarrolladores y primeros usuarios
- Frecuencia: 1-3 publicaciones por día
Interacción
- Bluesky favorece la conversación auténtica
- Responde a comentarios para construir comunidad
- Sigue a usuarios relevantes para hacer crecer tu red
Solución de problemas
| Error | Causa | Solución |
|---|---|---|
| "Invalid credentials" | Tipo de contraseña incorrecto | Usa contraseña de aplicación, no la principal |
| "Image too large" | Más de 2.000.000 bytes | Comprime a calidad JPEG del 80-85% |
| "Content too long" | Más de 300 caracteres | Acorta el contenido (sin auto-hilo) |
| "Video daily limit" | Se alcanzaron 25 vídeos | Espera 24 horas |
| "Email not verified" | Intentando subir vídeo | Verifica el correo electrónico en los ajustes de Bluesky |