Μετάβαση με μία γραμμή config

Πέρνα από Euler Stream σε Tik.Tools με μία γραμμή config

Κράτα το TikTokLive (Python) ή το tiktok-live-connector (Node). Άλλαξε τον host του sign provider. Ίδια ονόματα events, ίδια SDKs, ίδιος κώδικας.

Πάρε δωρεάν API key
Live προεπισκόπηση

Δες το να δουλεύει εδώ ακριβώς

Το ίδιο handshake που δίνει το Euler: έκδοση signed token -> WebSocket. Το iframe παρακάτω τρέχει την ακριβή έκδοση HTML του snippet πάνω στο api.tik.tools - κάνε copy-paste και θα πάρεις την ίδια έξοδο.

euler-dropin.htmlΤΡΕΧΕΙ
Το preview φορτώνει μόλις εμφανιστεί.
Διάλεξε όποια γλώσσα θέλεις (Node / Python / HTML / LLM prompt)
Βήμα-βήμα

Δύο βήματα. Μηδέν refactor.

1

Άλλαξε τον host του sign provider

Δύο γραμμές config στο init του SDK σου - στρέψε το signing backend στο https://api.tik.tools αντί για το https://tiktok.eulerstream.com. Οι υπάρχοντες event handlers, τα room IDs και ο κώδικας του SDK μένουν ίδια. Όλα τα πακέτα API του tik.tools δουλεύουν ως άμεση αντικατάσταση· το demo key your_api_key δουλεύει χωρίς εγγραφή, με μειωμένα όρια.

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

Πάρε κανονικό API key (όταν είσαι έτοιμος)

Το demo key your_api_key δουλεύει χωρίς εγγραφή, αλλά έχει όριο 1 WebSocket / sessions των 10 λεπτών / 6 συνδέσεις την ώρα ανά IP. Πάρε δωρεάν key Tik.Tools για μεγαλύτερα όρια + πλήρη αντιστοιχία με τα endpoints του Euler.

Αντιστοιχία endpoints

Κάθε endpoint του Euler αντιστοιχεί 1:1

Το Tik.Tools αντιγράφει τα endpoints του Euler, ώστε τα SDKs που ήδη μιλούν Euler να συνεχίζουν να δουλεύουν χωρίς κανένα patch.

Euler StreamTik.Tools (ίδιο path)Πακέτο
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+
Bonus (δεν υπάρχει στο Euler): δημόσιο ticker, κατατάξειςDemo
Ίδια μορφή απάντησης. Το sign_url επιστρέφει { status_code, data: { signed_url, x_bogus, user_agent, cookies } }. Ο parser που έχεις ήδη συνεχίζει να δουλεύει.
Μορφή απάντησης

Ίδιο JSON, μαζί με ένα hint για τη μετάβαση

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

Το δωρεάν πακέτο καλύπτει τη μετάβαση + το πρώτο σου production deploy

Πακέτα Sandbox + Basic δωρεάν. Χωρίς πιστωτική κάρτα. Μεγαλύτερα rate limits όταν βγεις στον αέρα.