Migración en una línea de configuración

Pasa de Euler Stream a Tik.Tools con una línea de configuración

Sigue usando TikTokLive (Python) o tiktok-live-connector (Node). Cambia el host del proveedor de firmas. Los mismos nombres de eventos, los mismos SDKs, el mismo código.

Obtener API key gratis
Vista previa en vivo

Mira el reemplazo directo funcionando aquí mismo

El mismo handshake que expone Euler: emisión del token firmado -> WebSocket. El iframe de abajo ejecuta la versión HTML exacta del snippet contra api.tik.tools: cópialo y pégalo, y obtienes el mismo resultado.

euler-dropin.htmlEN MARCHA
La vista previa carga cuando sea visible.
Elige cualquier lenguaje (Node / Python / HTML / prompt para LLM)
Paso a paso

Dos pasos. Cero refactorización.

1

Cambia el host del proveedor de firmas

Dos líneas de configuración al iniciar tu SDK: apunta el backend de firmas a https://api.tik.tools en lugar de https://tiktok.eulerstream.com. Tus handlers de eventos, room IDs y código del SDK no cambian. Todos los planes de la API de tik.tools funcionan como reemplazo directo; la key de demo your_api_key funciona sin registro, con límites reducidos.

// Node — tiktok-live-connector v2.x (verified working against api.tik.tools)
import { TikTokLiveConnection, SignConfig, WebcastEvent } from 'tiktok-live-connector'

SignConfig.basePath = 'https://api.tik.tools'    // was: https://tiktok.eulerstream.com
SignConfig.apiKey   = 'tk_your_key'              // your tik.tools key

const conn = new TikTokLiveConnection('@username', { fetchRoomInfoOnConnect: false })
conn.on(WebcastEvent.CHAT, e => console.log(e.user.uniqueId, ':', e.comment))
await conn.connect()

// Or env-var (no code change at all):
//   SIGN_API_URL=https://api.tik.tools  SIGN_API_KEY=tk_your_key  node app.js
# Python — TikTokLive v6.6+ (one config swap, existing code unchanged)
from TikTokLive.client.web.web_settings import WebDefaults
from TikTokLive import TikTokLiveClient
from TikTokLive.events import CommentEvent

WebDefaults.tiktok_sign_url     = "https://api.tik.tools"   # was: https://tiktok.eulerstream.com
WebDefaults.tiktok_sign_api_key = "tk_your_key"

client = TikTokLiveClient(unique_id="@username")

@client.on(CommentEvent)
async def on_chat(ev): print(ev.user.unique_id, ":", ev.comment)

await client.connect()   # add fetch_live_check=False if running from a datacenter IP

# Or env-var (zero code change):
#   SIGN_API_URL=https://api.tik.tools SIGN_API_KEY=tk_your_key python app.py
// Direct @eulerstream/euler-api-sdk users — swap basePath
import { EulerStreamApiClient } from '@eulerstream/euler-api-sdk'

const client = new EulerStreamApiClient({
  basePath: 'https://api.tik.tools',
  apiKey:   'tk_your_key',
})

// Every webcast.* / premium.* / moderation.* method routes to tik.tools.
const res = await client.webcast.retrieveRoomId('username')
console.log(res.data.room_id)
2

Consigue una API key real (cuando estés listo)

La key de demo your_api_key funciona sin registro, pero está limitada a 1 WebSocket / sesiones de 10 minutos / 6 conexiones por hora por IP. Obtén una key de Tik.Tools gratis para tener límites más altos + paridad total con los endpoints de Euler.

Paridad de endpoints

Cada endpoint de Euler tiene su equivalente 1:1

Tik.Tools replica los endpoints de Euler, así que los SDKs que ya hablan con Euler siguen funcionando sin ningún parche.

Euler StreamTik.Tools (misma ruta)Plan
POST /webcast/sign_urlPOST /webcast/sign_urlDemo
GET /webcast/check_aliveGET /webcast/check_aliveDemo
POST /webcast/fetchPOST /webcast/fetchBasic+
POST /webcast/ws_credentialsPOST /webcast/ws_credentialsBasic+
POST /webcast/sign_websocketPOST /webcast/sign_websocketBasic+
GET /webcast/room_idGET /webcast/room_idDemo
POST /webcast/room_infoPOST /webcast/room_infoDemo
POST /webcast/bulk_live_checkPOST /webcast/bulk_live_checkBasic+
Extra (no está en Euler): ticker público, rankingsDemo
El mismo formato de respuesta. sign_url devuelve { status_code, data: { signed_url, x_bogus, user_agent, cookies } }. Tu parser actual sigue funcionando.
Formato de respuesta

El mismo JSON, más una pista de migración

POST https://api.tik.tools/webcast/sign_url?apiKey=your_api_key
Body: { "url": "<upstream URL>" }

Response:
{
  "status_code": 0,
  "data": {
    "signed_url": "<signed upstream URL>",
    "x_bogus": "...",
    "user_agent": "Mozilla/5.0 ...",
    "cookies": "ttwid=<fresh visitor cookie>"
  }
}

El plan gratis cubre la migración + tu primer despliegue en producción

Planes Sandbox + Basic gratis. Sin tarjeta de crédito. Límites más altos cuando lances.