Controla Social Stream Ninja con comandos integrados, automatización e integración de API
Social Stream Ninja incluye varios comandos integrados que tus espectadores pueden usar en el chat o que puedes activar mediante la API.
| Comando | Descripción | Cómo activarlo |
|---|---|---|
!joke |
Responde con un chiste friki de padre al azar | Actívalo mediante el interruptor del menú de la extensión |
hi |
Da la bienvenida automáticamente a quien diga «hi» en el chat | Actívalo mediante el interruptor del menú de la extensión |
!cycle |
Cuando está activado, permite que los espectadores cambien escenas de OBS | Actívalo mediante el interruptor del menú de la extensión |
Nota: Los comandos del bot solo funcionan si las respuestas automáticas están configuradas correctamente y tienes permiso para publicar mensajes en las plataformas correspondientes.
Para que las respuestas automáticas funcionen correctamente:
Si ves una barra azul de depuración cuando se activan las respuestas automáticas, puedes ocultarla iniciando Chrome con el parámetro --silent-debugger-extension-api .
Social Stream Ninja ofrece una API potente para controlar por programación todos los aspectos de tu configuración de streaming. El servidor de API puede enviar comandos a tu configuración y escuchar mensajes entrantes de los servicios de chat combinados.
Controla mensajes destacados, vacía overlays y modifica el aspecto del contenido en tu directo.
Recibe eventos de servicios externos como Stripe, Ko-Fi y Buy Me A Coffee.
Exporta mensajes de chat a un archivo o reenvíalos mediante un webhook POST para integraciones personalizadas.
Ajustes necesarios (Ajustes globales → Mecánica):
Consulta: documentación completa de la API para guías detalladas de configuración y ejemplos de código.
https://io.socialstream.ninja/{sessionID}/{action}/{target}/{value}
Ideal para comandos sencillos desde Stream Deck o scripts personalizados.
wss://io.socialstream.ninja:443
Para comunicación bidireccional en tiempo real con reconexión automática.
Si prefieres mantener conexiones entre pares sin activar el modo WebSocket, puedes usar el SDK WebRTC de Social Stream Ninja. Incluye ejemplos de Node y navegador como el receptor de Social Stream Ninja.
https://io.socialstream.ninja/sse/{sessionID}
Para actualizaciones unidireccionales en tiempo real desde el servidor.
La API usa un sistema de canales para enrutar mensajes:
- Channel 1: Remote control commands (default for StreamDeck/Bitfocus) - Channel 2: Dock page output - Channel 3: Extension receives commands from Dock - Channel 4: Chat messages from Extension (use this to receive Twitch/YouTube chat!) - Channel 5: Waitlist/giveaway communication - Channels 6-9: Reserved for future use
Conecta con el canal que quieras:
// To receive chat messages (listen on channel 4): wss://io.socialstream.ninja/join/SESSION_ID/4 // To send commands (channel 1 default): wss://io.socialstream.ninja/join/SESSION_ID
| Acción | Descripción | Ejemplo |
|---|---|---|
sendChat |
Envía un mensaje a todas las plataformas de chat conectadas | https://io.socialstream.ninja/SESSIONID/sendChat/null/Hello everyone! |
sendEncodedChat |
Envía un mensaje codificado para URL a todas las plataformas | https://io.socialstream.ninja/SESSIONID/sendEncodedChat/null/Hello%20everyone%21 |
clearOverlay |
Quita el mensaje destacado del overlay | https://io.socialstream.ninja/SESSIONID/clearOverlay |
nextInQueue |
Muestra el siguiente mensaje de la cola | https://io.socialstream.ninja/SESSIONID/nextInQueue |
autoShow |
Alterna el destacado automático de mensajes | https://io.socialstream.ninja/SESSIONID/autoShow/toggle |
blockUser |
Bloquea a un usuario de una plataforma concreta | https://io.socialstream.ninja/SESSIONID/blockUser/null/{"chatname":"username","type":"twitch"} |
extContent |
Envía contenido externo como mensaje de chat | https://io.socialstream.ninja/SESSIONID/extContent/null/{"chatname":"User","chatmessage":"Hello"} |
pin |
Fija un mensaje existente del dock mediante su ID o fija un objeto de mensaje completo. Requiere dock.html abierto en la misma sesión. |
https://io.socialstream.ninja/SESSIONID/pin/null/MESSAGE_MID |
unpin |
Desfija un mensaje existente del dock mediante su ID. Usa el campo o segmento de ruta target para un dock con etiqueta. | https://io.socialstream.ninja/SESSIONID/unpin/null/MESSAGE_MID |
nextPinned |
Destaca el primer mensaje fijado en el dock. | https://io.socialstream.ninja/SESSIONID/nextPinned |
removefromwaitlist |
Elimina la primera entrada activa de la lista de espera o la entrada activa numerada en value |
https://io.socialstream.ninja/SESSIONID/removefromwaitlist/null/1 |
highlightwaitlist |
Destaca la primera entrada activa de la lista de espera o la entrada activa numerada en value |
https://io.socialstream.ninja/SESSIONID/highlightwaitlist/null/1 |
stopentries / startentries |
Detiene o reanuda las nuevas inscripciones en la lista de espera sin vaciar la lista existente. openentries y resumeentries son alias de startentries. |
https://io.socialstream.ninja/SESSIONID/stopentries |
selectwinner |
Selecciona uno o varios ganadores aleatorios de la lista de espera o sorteo | https://io.socialstream.ninja/SESSIONID/selectwinner/null/1 |
downloadwaitlist |
Descarga la lista de espera actual como archivo TSV desde la página o aplicación de Social Stream en ejecución | https://io.socialstream.ninja/SESSIONID/downloadwaitlist |
drawmode |
Activa o desactiva el modo sorteo, o lo alterna cuando value es igual a toggle |
https://io.socialstream.ninja/SESSIONID/drawmode/null/toggle |
waitlistmessage |
Establece el título de la lista de espera o sorteo que se muestra en su página | https://io.socialstream.ninja/SESSIONID/waitlistmessage/null/Type%20!join%20to%20enter |
resetwaitlist |
Vacía la lista de espera y vuelve a abrir las inscripciones | https://io.socialstream.ninja/SESSIONID/resetwaitlist |
Prueba la API con nuestro entorno interactivo, que facilita el acceso a todos los comandos y funciones:
Para un conjunto más pequeño de botones del directo en OBS, usa el Dock de control de Social Stream y sigue la guía de configuración de OBS.
Prueba todos los comandos de API en un entorno seguro
Obtén ejemplos de código para HTTP, WebSocket y SSE
Ve las respuestas a tus comandos en tiempo real
Genera mensajes de prueba con contenido aleatorio
Nota: Recuerda sustituir SESSIONID por tu ID de sesión real de Social Stream Ninja.
Social Stream Ninja se integra con StreamDeck mediante varios métodos: acciones HTTP nativas e integración con Bitfocus Companion.
Usa la acción «Website» de StreamDeck con «GET request in background» activado para enviar comandos directamente a la API.
Integración nativa con acciones predefinidas, información en tiempo real y variables para contenido dinámico.
Bitfocus Companion ofrece un control avanzado de Social Stream Ninja mediante API WebSocket o HTTP.
| Acción | Descripción | Método de API |
|---|---|---|
| Borrar mensaje destacado | Quita del overlay el mensaje destacado actual | WebSocket/HTTP |
| Siguiente en cola | Muestra el siguiente mensaje en cola | WebSocket/HTTP |
| Alternar visualización automática | Activa o desactiva el destacado automático de mensajes | WebSocket/HTTP |
| Enviar mensaje de chat | Envía un mensaje a todas las plataformas conectadas | WebSocket/HTTP |
featured_message - Texto del mensaje destacado actualfeatured_username - Nombre de usuario destacado actualqueue_size - Número de mensajes en la colaSocial Stream Ninja ofrece una amplia integración de IA para mejorar tus directos con respuestas de chat, moderación y mucho más. Elige proveedores locales o en la nube según tus necesidades.
Deja que la IA interactúe automáticamente con tus espectadores, responda preguntas y anime la conversación incluso mientras te concentras en tu contenido.
Usa IA para ayudar a moderar el chat identificando mensajes potencialmente dañinos y gestionándolos automáticamente según tus preferencias. Elige entre modo sin bloqueo o de bloqueo estricto.
La generación aumentada por recuperación permite que la IA busque en tu base de conocimiento personalizada para dar respuestas precisas relacionadas con tu contenido.
Ejecuta distintas instancias de bot para diversos fines: chatbot público, bot privado individual, bot de censura e incluso un copresentador multimodal con IA que ve y oye.
Social Stream Ninja admite varios proveedores de IA, desde modelos completamente locales en navegador o entorno de ejecución hasta API alojadas:
Modelos de IA gratuitos, privados y autoalojados que se ejecutan en tu equipo mediante la API propia de Ollama.
Ejecuta Gemma 4 en el navegador tras copiar los archivos del modelo a tu propio servidor de recursos; el servidor largefiles de SSN actualmente no incluye recursos de Gemma.
Ejecuta Qwen 3.5 en el navegador desde tus propios archivos de modelo alojados para respuestas locales y privadas.
API de OpenAI, incluidos modelos modernos de chat y voz en tiempo real.
Modelos de Google Gemini, incluidas las opciones actuales de texto y multimodales en directo de Gemini 2.5.
Modelos de IA eficientes y económicos optimizados para tareas de conversación.
API de xAI Grok, incluidas sesiones de voz en tiempo real al usar secretos de cliente temporales.
Modelos de IA de nivel empresarial de varios proveedores, incluidos Claude y Llama.
Acceso a varios modelos de IA mediante una interfaz de API unificada.
Inferencia de chat de baja latencia compatible con OpenAI para respuestas de conversación rápidas.
Conecta con llama.cpp, LM Studio, vLLM o cualquier otro endpoint compatible con OpenAI.
Nota: Ollama usa su propia API nativa. Para llama.cpp, LM Studio, vLLM u otros servidores compatibles con OpenAI, elige API personalizada.
Social Stream Ninja incluye amplia compatibilidad de TTS para mensajes del bot y contenido de chat destacado:
TTS gratuito integrado que usa el sintetizador de voz de tu sistema operativo.
TTS gratuito que se ejecuta localmente con WebGPU/CPU para usuarios que priorizan la privacidad.
TTS ligero en el navegador que descarga un modelo pequeño para generar voz localmente.
Síntesis de voz prémium con voces naturales y personalizables.
Voces de alta calidad con amplias opciones de idiomas y personalización.
Modelos de voz neuronal en vista previa de Google con opciones de voz e idioma seleccionables.
Texto a voz con IA y capacidades de conversión de voz natural.
Síntesis de voz de OpenAI con voces y modelos seleccionables y endpoints compatibles opcionales.
Nota: La función TTS requiere que la página de overlay adecuada esté abierta en OBS. Cada proveedor ofrece distintas voces, latencia, precios o requisitos de hardware.
Social Stream Ninja ofrece varias instancias de bot para distintos usos:
| Tipo de bot | URL | Descripción |
|---|---|---|
| Chatbot principal | /bot.html |
Overlay del bot principal con TTS opcional y respuestas al chat público |
| Interfaz de chat privado | /chatbot.html |
Página de bot individual que no comparte el conjunto de datos RAG ni el historial de chat del bot principal |
| Bot de censura | (se ejecuta en segundo plano) | Filtra, sanea o bloquea mensajes entrantes automáticamente |
| Copresentador con IA | /cohost.html |
IA multimodal que puede ver tu pantalla, oír audio e interactuar |
Sigue estos pasos para configurar la integración de IA con el menú actual:
Selecciona tu proveedor en Configurar proveedor de servicio LLM (Configure LLM Service Provider) y rellena los campos correspondientes:
Usa la opción integrada Probar chatbot seleccionado (Test selected chat bot) para comprobar proveedor, modelo y credenciales antes de emitir.
Personaliza el comportamiento del bot en el chat:
Activa las funciones que quieras para el bot:
/bot.html; usa clearBotOverlay para borrado manual/bot.html, /chatbot.html, o /cohost.html en OBS o en un navegador según necesitesPara instrucciones completas de configuración y más detalles de TTS, usa estas guías:
Controla Social Stream Ninja con controladores MIDI, atajos de teclado o StreamDeck con plugins MIDI.
| Número CC | Valor | Acción | Notas |
|---|---|---|---|
| 102 | 1 | Enviar «1» al chat | Reacción rápida |
| 102 | 2 | Enviar «LUL» al chat | Reacción con emote |
| 102 | 3 | Contar un chiste | Activa una respuesta del bot |
| 102 | 4 | Vaciar overlay | Quita el mensaje destacado |
Consejo: El control MIDI funciona mejor con controladores físicos, pero también puede activarse mediante dispositivos MIDI virtuales.
Usa atajos de teclado para acceder rápidamente a funciones comunes.
Los atajos se pueden configurar en los ajustes del menú y funcionan en todo el sistema cuando el navegador tiene el foco o cuando se usa la aplicación.
Social Stream Ninja puede recibir donaciones y eventos de servicios externos mediante webhooks; estos son algunos de los más populares:
Procesa donaciones con tarjeta directamente mediante tu cuenta de Stripe.
https://io.socialstream.ninja/SESSIONID/stripecheckout.session.completed&server a la URL de tu dockRecibe donaciones de café de quienes te apoyan.
https://io.socialstream.ninja/SESSIONID/kofi como URL del webhook&server a la URL de tu dockRecoge donaciones mediante la popular plataforma Buy Me A Coffee.
https://io.socialstream.ninja/SESSIONID/bmac como URL del webhook&server a la URL de tu dock para recibir eventosNota de seguridad: Mantén privado tu ID de sesión, ya que cualquiera que lo tenga puede enviar donaciones falsas a tu overlay. Trata la URL del webhook como información confidencial.
Social Stream Ninja también puede enviar datos a servicios externos:
| Servicio | Parámetro de URL | Descripción |
|---|---|---|
| Singular Live | &singular=IDENTIFIER |
Envía mensajes seleccionados a Singular Live para un overlay de mensajes destacados |
| H2R | &h2r=IDENTIFIER |
Envía mensajes seleccionados a un servidor local de H2R |
| POST genérico | &postserver=URL |
Envía mensajes seleccionados a un endpoint personalizado mediante POST |
| PUT genérico | &putserver=URL |
Envía mensajes seleccionados a un endpoint personalizado mediante PUT |
Estos parámetros deben añadirse a la URL de la página del dock.
Puedes crear tus propios comandos y funciones personalizando el código JavaScript:
custom_sample.js con el nombre de archivo custom.jsEste método permite personalizaciones y disparadores complejos.
Puedes crear overlays de chat completamente personalizados desde cero para adaptarlos al estilo y las funciones de tu directo. Social Stream Ninja ofrece una base flexible sobre la que construir.
timer.htmlLa página del temporizador tiene un alcance limitado intencionadamente: un temporizador, controles opcionales del operador, estados de aviso, tiempo extra y algunos estilos visuales.
Entre las acciones útiles están starttimer, pausetimer, resettimer, timeradd, timersubtract, y settimer.
{
"action": "settimer",
"value": {
"seconds": 300,
"label": "Interview",
"mode": "countdown",
"style": "stage",
"warnSeconds": 60,
"dangerSeconds": 15
}
}
Para consultar el estado actual del temporizador, usa gettimerstate con un token de callback.
{ "action": "gettimerstate", "get": "timer-state-1" }
Usa la página con timer.html?session=YOUR_SESSION&server si quieres controlarla directamente mediante el servidor de API.
startgiveaway, closegiveaway, drawgiveaway, resetgiveaway, y getgiveawaystate manejan el grupo de sorteos específico mediante los mismos controles de API/Stream Deck. Sortear cierra las inscripciones automáticamente. Nueva ronda conserva el historial de ganadores anteriores y rechaza las reservas sin pagar. Cancelar y reembolsar devuelve los pagos de boletos pendientes. Los boletos de pago, Number Hunt, Coin Flip Pot y Event Flow usan el mismo servicio del anfitrión. Configuración, presentaciones, valores de comandos y recuperación.
Con estos comandos y opciones de API, puedes crear una experiencia de streaming única e interactiva.