設定一行で移行

Euler StreamからTik.Toolsへ、設定一行で乗り換え

TikTokLive(Python)やtiktok-live-connector(Node)はそのまま。署名プロバイダーのホストを差し替えるだけです。イベント名もSDKもコードも変わりません。

無料APIキーを取得
ライブプレビュー

そのまま動く様子をここで確認

Eulerと同じハンドシェイクです: 署名付きトークンの発行 -> WebSocket。下のiframeでは、スニペットのHTML版をそのままapi.tik.toolsに対して実行しています。コピーして貼り付ければ、同じ結果が得られます。

euler-dropin.html実行中
表示されるとプレビューを読み込みます。
好きな言語を選べます(Node / Python / HTML / LLMプロンプト)
ステップごとに解説

ステップは二つ。リファクタリングは不要。

1

署名プロバイダーのホストを差し替える

SDKの初期化で設定を二行変えるだけ。署名バックエンドの向き先をhttps://tiktok.eulerstream.comからhttps://api.tik.toolsに変更します。既存のイベントハンドラー、ルームID、SDKのコードはそのままです。tik.toolsのAPIプランはすべてそのまま置き換えて使えます。デモキー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キーを取得

デモキーyour_api_keyは登録なしで使えますが、上限はWebSocket 1本 / 1セッション10分 / IPあたり1時間に6回の接続です。より高い上限とEulerエンドポイントの完全な互換性が必要ならTik.Toolsの無料キーを取得。

エンドポイント互換

Eulerのすべてのエンドポイントが1:1で対応

Tik.ToolsはEulerのエンドポイント構成をそのまま再現しているので、Euler対応のSDKはパッチなしで動き続けます。

Euler StreamTik.Tools(同じパス)プラン
POST /webcast/sign_urlPOST /webcast/sign_urlデモ
GET /webcast/check_aliveGET /webcast/check_aliveデモ
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_idデモ
POST /webcast/room_infoPOST /webcast/room_infoデモ
POST /webcast/bulk_live_checkPOST /webcast/bulk_live_checkBasic+
おまけ(Eulerにはない機能): 公開ティッカー、ランキングデモ
レスポンス形式は同じです。 sign_urlは{ status_code, data: { signed_url, x_bogus, user_agent, cookies } }を返します。既存のパーサーはそのまま使えます。
レスポンス形式

同じJSONに、移行ヒントを追加

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

移行と最初の本番デプロイまで無料プランでカバー

SandboxとBasicプランは無料。クレジットカード不要。リリース時にはより高いレート制限を選べます。