Migration en une ligne de config

Passe de Euler Stream à Tik.Tools en une ligne de config

Garde TikTokLive (Python) ou tiktok-live-connector (Node). Change l'hôte du fournisseur de signature. Mêmes noms d'événements, mêmes SDK, même code.

Obtenir une clé API gratuite
Aperçu en direct

Vois le remplacement fonctionner ici même

Même handshake que celui exposé par Euler : génération du jeton signé -> WebSocket. L'iframe ci-dessous exécute la version HTML exacte du snippet contre api.tik.tools - copie-colle-la, tu obtiens la même sortie.

euler-dropin.htmlEN COURS
L'aperçu se charge dès qu'il est visible.
Choisis n'importe quel langage (Node / Python / HTML / prompt LLM)
Pas à pas

Deux étapes. Zéro refactorisation.

1

Change l'hôte du fournisseur de signature

Deux lignes de config dans l'init de ton SDK - fais pointer le backend de signature vers https://api.tik.tools au lieu de https://tiktok.eulerstream.com. Les gestionnaires d'événements, les IDs de salle et le code SDK existants restent inchangés. Toutes les offres API tik.tools fonctionnent en remplacement direct ; la clé de démo your_api_key fonctionne sans inscription avec des limites réduites.

// 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

Prends une vraie clé API (quand tu es prêt)

La clé de démo your_api_key fonctionne sans inscription mais est limitée à 1 WebSocket / sessions de 10 minutes / 6 connexions par heure et par IP. Obtiens une clé Tik.Tools gratuite pour des limites plus hautes + la parité complète avec les endpoints Euler.

Parité des endpoints

Chaque endpoint Euler a son équivalent 1:1

Tik.Tools reproduit les endpoints d'Euler pour que les SDK qui parlent déjà Euler continuent de fonctionner sans aucun patch.

Euler StreamTik.Tools (même chemin)Offre
POST /webcast/sign_urlPOST /webcast/sign_urlDémo
GET /webcast/check_aliveGET /webcast/check_aliveDémo
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_idDémo
POST /webcast/room_infoPOST /webcast/room_infoDémo
POST /webcast/bulk_live_checkPOST /webcast/bulk_live_checkBasic+
Bonus (absent d'Euler) : ticker public, classementsDémo
Même format de réponse. sign_url renvoie { status_code, data: { signed_url, x_bogus, user_agent, cookies } }. Ton parser existant continue de fonctionner.
Format de réponse

JSON identique, plus une indication de migration

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>"
  }
}

L'offre gratuite couvre la migration + ton premier déploiement en production

Offres Sandbox + Basic gratuites. Sans carte bancaire. Des limites de débit plus hautes quand tu passes en production.