@tiktool/live 2.6.5 → 2.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +74 -16
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -1,17 +1,18 @@
1
- # @tiktool/live
1
+ # TikTok LIVE API — Node.js & TypeScript
2
2
 
3
- ### Connect to any TikTok LIVE stream in 4 lines of code.
3
+ ### The managed TikTok Live Connector — receive chat, gifts, viewers, battles & 18+ events from any TikTok LIVE stream via WebSocket.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@tiktool/live?color=%23ff0050&label=npm&logo=npm)](https://www.npmjs.com/package/@tiktool/live)
6
+ [![npm downloads](https://img.shields.io/npm/dm/@tiktool/live)](https://www.npmjs.com/package/@tiktool/live)
6
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
8
  [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18-green?logo=node.js)](https://nodejs.org)
8
9
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?logo=typescript)](https://www.typescriptlang.org)
9
10
 
10
- Real-time chat, gifts, viewers, battles, follows & 18+ event types from any TikTok livestream.
11
+ > **99.9% uptime** — Never breaks when TikTok updates. No protobuf, no reverse engineering, no maintenance. Also available for [Python](https://pypi.org/project/tiktok-live-api/), [Java, Go, C#, and any language via WebSocket](https://tik.tools/docs).
11
12
 
12
- **NEW:** 🎤 [Real-Time Live Captions](#-real-time-live-captions) — AI-powered speech-to-text transcription & translation with speaker diarization and sub-second latency.
13
+ **🎤 NEW:** [Real-Time Live Captions](#-real-time-live-captions) — AI-powered speech-to-text transcription & translation with speaker diarization. **No other TikTok library offers this.**
13
14
 
14
- [Quick Start](#-quick-start) · [Events](#-events) · [Live Captions](#-real-time-live-captions) · [API](#-api-reference) · [Rate Limits](#-rate-limits) · [Get API Key](https://tik.tools)
15
+ [Try It Now](#-try-it-now--5-minute-live-demo) · [Events](#-events) · [Live Captions](#-real-time-live-captions) · [API](#-api-reference) · [Rate Limits](#-rate-limits) · [Get API Key](https://tik.tools)
15
16
 
16
17
  ---
17
18
 
@@ -21,24 +22,81 @@ Real-time chat, gifts, viewers, battles, follows & 18+ event types from any TikT
21
22
  npm install @tiktool/live
22
23
  ```
23
24
 
24
- Get your free API key at [tik.tools](https://tik.tools)
25
+ Get your free API key at [tik.tools](https://tik.tools) — then run the demo below.
25
26
 
26
- ```typescript
27
+ ## 🚀 Try It Now — 5-Minute Live Demo
28
+
29
+ Copy-paste this into a file and run it. Connects to a live TikTok stream, prints every event for 5 minutes, then exits. Works on the free Sandbox tier.
30
+
31
+ **Save as `demo.mjs` and run with `node demo.mjs`:**
32
+
33
+ ```javascript
34
+ // demo.mjs — TikTok LIVE in 5 minutes
35
+ // npm install @tiktool/live
27
36
  import { TikTokLive } from '@tiktool/live';
28
37
 
29
- const live = new TikTokLive({
30
- uniqueId: 'tv_asahi_news',
31
- apiKey: 'YOUR_API_KEY',
32
- });
38
+ const API_KEY = 'YOUR_API_KEY'; // Get free key → https://tik.tools
39
+ const LIVE_USERNAME = 'tv_asahi_news'; // Any live TikTok username
33
40
 
34
- live.on('chat', e => console.log(`${e.user.uniqueId}: ${e.comment}`));
35
- live.on('gift', e => console.log(`${e.user.uniqueId} sent ${e.giftName} (${e.diamondCount} diamonds)`));
36
- live.on('member', e => console.log(`${e.user.uniqueId} joined`));
37
- live.on('roomUserSeq', e => console.log(`Viewers: ${e.viewerCount}`));
41
+ const live = new TikTokLive({ uniqueId: LIVE_USERNAME, apiKey: API_KEY });
42
+ let events = 0;
43
+
44
+ live.on('chat', e => { events++; console.log(`💬 ${e.user.uniqueId}: ${e.comment}`); });
45
+ live.on('gift', e => { events++; console.log(`🎁 ${e.user.uniqueId} sent ${e.giftName} (${e.diamondCount}💎)`); });
46
+ live.on('like', e => { events++; console.log(`❤️ ${e.user.uniqueId} liked × ${e.likeCount}`); });
47
+ live.on('member', e => { events++; console.log(`👋 ${e.user.uniqueId} joined`); });
48
+ live.on('follow', e => { events++; console.log(`➕ ${e.user.uniqueId} followed`); });
49
+ live.on('share', e => { events++; console.log(`🔗 ${e.user.uniqueId} shared`); });
50
+ live.on('roomUserSeq', e => { events++; console.log(`👀 Viewers: ${e.viewerCount}`); });
51
+ live.on('subscribe', e => { events++; console.log(`⭐ ${e.user.uniqueId} subscribed`); });
52
+ live.on('battle', e => { events++; console.log(`⚔️ Battle update`); });
53
+
54
+ live.on('connected', () => console.log(`\n✅ Connected to @${LIVE_USERNAME} — listening for 5 min...\n`));
55
+ live.on('disconnected', () => console.log(`\n📊 Done! Received ${events} events.\n`));
38
56
 
39
57
  await live.connect();
58
+ setTimeout(() => { live.disconnect(); }, 300_000);
40
59
  ```
41
60
 
61
+ <details>
62
+ <summary><strong>🔌 Pure WebSocket version (no SDK, any language)</strong></summary>
63
+
64
+ Works with any WebSocket client. No dependencies except `ws` (Node.js) or your language's WebSocket library.
65
+
66
+ ```javascript
67
+ // ws-demo.mjs — Pure WebSocket, zero SDK
68
+ // npm install ws
69
+ import WebSocket from 'ws';
70
+
71
+ const API_KEY = 'YOUR_API_KEY';
72
+ const LIVE_USERNAME = 'tv_asahi_news';
73
+
74
+ const ws = new WebSocket(`wss://api.tik.tools?uniqueId=${LIVE_USERNAME}&apiKey=${API_KEY}`);
75
+ let events = 0;
76
+
77
+ ws.on('open', () => console.log(`\n✅ Connected to @${LIVE_USERNAME} — listening for 5 min...\n`));
78
+ ws.on('message', (raw) => {
79
+ const msg = JSON.parse(raw);
80
+ events++;
81
+ const d = msg.data || {};
82
+ const user = d.user?.uniqueId || d.uniqueId || '';
83
+ switch (msg.event) {
84
+ case 'chat': console.log(`💬 ${user}: ${d.comment}`); break;
85
+ case 'gift': console.log(`🎁 ${user} sent ${d.giftName} (${d.diamondCount}💎)`); break;
86
+ case 'like': console.log(`❤️ ${user} liked × ${d.likeCount}`); break;
87
+ case 'member': console.log(`👋 ${user} joined`); break;
88
+ case 'roomUserSeq': console.log(`👀 Viewers: ${d.viewerCount}`); break;
89
+ case 'roomInfo': console.log(`📡 Room: ${msg.roomId}`); break;
90
+ default: console.log(`📦 ${msg.event}`); break;
91
+ }
92
+ });
93
+ ws.on('close', () => console.log(`\n📊 Done! Received ${events} events.\n`));
94
+
95
+ setTimeout(() => ws.close(), 300_000);
96
+ ```
97
+
98
+ </details>
99
+
42
100
  ---
43
101
 
44
102
  ## How It Works
@@ -256,7 +314,7 @@ All API requests require an API key. Get yours at [tik.tools](https://tik.tools)
256
314
 
257
315
  | Tier | Requests/Day | Rate Limit | WS Connections | WS Duration | WS Connects | Bulk Check | CAPTCHA | Feed Discovery | Price |
258
316
  |------|-------------|-----------|----------------|-------------|-------------|------------|---------|----------------|-------|
259
- | **Sandbox** | 50 | 5/min | 1 | 60 sec | 10/hr · 30/day | 1 | ✕ | ✕ | Free |
317
+ | **Sandbox** | 50 | 5/min | 1 | 5 min | 10/hr · 30/day | 1 | ✕ | ✕ | Free |
260
318
  | **Basic** | 10,000 | 60/min | 3 | 8 hours | 60/hr · 200/day | 10 | ✕ | ✕ | From $7/wk |
261
319
  | **Pro** | 75,000 | Unlimited | 50 | 8 hours | Unlimited | 50 | 50/day | 100/day | From $15/wk |
262
320
  | **Ultra** | 300,000 | Unlimited | 500 | 8 hours | Unlimited | 500 | 500/day | 2,000/day | From $45/wk |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiktool/live",
3
- "version": "2.6.5",
3
+ "version": "2.6.7",
4
4
  "description": "TikTok LIVE API Client — Real-time chat, gifts, viewers, live captions (speech-to-text), AI transcription & translation from any TikTok livestream.",
5
5
  "author": "tiktool",
6
6
  "license": "MIT",
@@ -34,7 +34,7 @@
34
34
  "homepage": "https://tik.tools",
35
35
  "repository": {
36
36
  "type": "git",
37
- "url": "https://github.com/tiktool/live"
37
+ "url": "git+https://github.com/tiktool/tiktok-live-api.git"
38
38
  },
39
39
  "bugs": {
40
40
  "url": "https://github.com/tiktool/live/issues"