Chuyển đổi bằng một dòng cấu hình

Chuyển từ Euler Stream sang Tik.Tools chỉ với một dòng cấu hình

Giữ nguyên TikTokLive (Python) hoặc tiktok-live-connector (Node). Đổi host của sign provider. Cùng tên sự kiện, cùng SDK, cùng code.

Lấy API key miễn phí
Xem trước trực tiếp

Xem bản thay thế chạy ngay tại đây

Cùng quy trình bắt tay mà Euler cung cấp: tạo token đã ký -> WebSocket. Iframe bên dưới chạy đúng phiên bản HTML của đoạn code với api.tik.tools - chép và dán là bạn có cùng kết quả.

euler-dropin.htmlĐANG CHẠY
Bản xem trước sẽ tải khi cuộn tới.
Chọn ngôn ngữ bất kỳ (Node / Python / HTML / prompt LLM)
Từng bước

Hai bước. Không cần refactor.

1

Đổi host của sign provider

Hai dòng cấu hình khi khởi tạo SDK - trỏ backend ký sang https://api.tik.tools thay vì https://tiktok.eulerstream.com. Các event handler, room ID và code SDK hiện có giữ nguyên. Mọi gói API tik.tools đều thay thế trực tiếp được; key demo your_api_key dùng được không cần đăng ký, với hạn mức thấp hơn.

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

Lấy API key thật (khi đã sẵn sàng)

Key demo your_api_key dùng được không cần đăng ký nhưng bị giới hạn 1 WebSocket / phiên 10 phút / 6 lần kết nối mỗi giờ trên mỗi IP. Lấy key Tik.Tools miễn phí để có hạn mức cao hơn + đầy đủ endpoint tương đương Euler.

Endpoint tương đương

Mọi endpoint của Euler đều ánh xạ 1:1

Tik.Tools mô phỏng đúng bộ endpoint của Euler nên các SDK vốn chạy với Euler vẫn hoạt động mà không cần vá gì.

Euler StreamTik.Tools (cùng đường dẫn)Gói
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+
Thêm (Euler không có): ticker công khai, bảng xếp hạngDemo
Cùng cấu trúc phản hồi. sign_url trả về { status_code, data: { signed_url, x_bogus, user_agent, cookies } }. Parser hiện có của bạn vẫn chạy bình thường.
Cấu trúc phản hồi

JSON y hệt, kèm gợi ý chuyển đổi

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

Gói miễn phí đủ cho việc chuyển đổi + lần deploy production đầu tiên

Gói Sandbox + Basic miễn phí. Không cần thẻ tín dụng. Hạn mức cao hơn khi bạn ra mắt.