統一API
YouTube、Twitch、TwitCasting
を1つのインターフェースで。URLを渡すだけでプラットフォームを自動検出し、Content、Channel、Broadcast、Archive
型に正規化します。
統一API
YouTube、Twitch、TwitCasting
を1つのインターフェースで。URLを渡すだけでプラットフォームを自動検出し、Content、Channel、Broadcast、Archive
型に正規化します。
プラグインアーキテクチャ
必要なプラットフォームだけインストール。各プラットフォームは独立したパッケージ(@unified-live/youtube、@unified-live/twitch、@unified-live/twitcasting)で、認証・レート制限・URL解決を個別に管理します。
OpenTelemetry互換
OTel SDKが未設定ならオーバーヘッドゼロのビルトイントレーシング。すべてのAPIコールでプラットフォーム、HTTPメソッド、レート制限状態、クォータ消費、エラー詳細のスパンを出力します。
自動レート制限
トークンバケット(Twitch、TwitCasting)とクォータベース(YouTube)のレート制限を透過的に処理。指数バックオフでリトライし、クォータ消費をローカルで追跡します。
依存ゼロ
コアパッケージはランタイム依存ゼロ。素のTypeScript型のみ — スキーマライブラリなし、余計な肥大化なし。あらゆる環境で最小バンドルサイズ。
型安全
判別共用体
Content(Broadcast、ScheduledBroadcast、Archive、Clip)。コンパニオンオブジェクトの型ガード(Content.isBroadcast()、Content.isArchive()
など)で安全な型絞り込み。
ランタイム非依存
Node.js 18+、Deno、Bun、Cloudflare Workers で動作。ネイティブ fetch
を持つすべてのランタイムに対応。コアにNode.js固有の依存はありません。
| プラットフォーム | 公式API | unified-live が処理すること |
|---|---|---|
| YouTube | Data API v3 | 日次クォータ追跡(10,000ユニット)、APIキー注入、エンドポイント毎のコスト管理 |
| Twitch | Helix API | OAuth2 Client Credentials 自動リフレッシュ、トークンバケット(800リクエスト/60秒) |
| TwitCasting | API v2 | Basic Auth エンコード、トークンバケット(60リクエスト/60秒) |
各プラットフォームAPIの課題の詳細は概要をご覧ください。