Messages
{
"action": "list"
}No examples foundトランスクリプト
トランスクリプト ストリーム
決算説明会コールの発言内容を、話されたそばから1文ごとのトランスクリプトとしてリアルタイム配信します。
WSS
stream
概要
主要な機能
- ライブ文字起こし: 決算説明会中の発言を、話された内容に応じてリアルタイムで文単位に更新
- 単語レベルのタイミング: 各文に、単語ごとのタイムスタンプと信頼度スコアを付与
- 話者識別: 誰が発言しているかを把握可能(経営陣、アナリストなど)
- ステータス追跡: 文字起こしが進行中か完了済みかを監視
- 柔軟なサブスクリプション: 特定のティッカー、または
*を指定してすべての文字起こしを購読 - モックテスト: ライブコールがない場合でも、モックデータを使って連携をテスト可能
ユースケース
- 決算説明会のリアルタイム文字起こしビューアの構築
- ライブ字幕やアクセシビリティ向けツールの作成
- 決算説明会に対するリアルタイムなセンチメント分析
- 発言と同時に重要なフレーズや指標を抽出
- ライブコール中の特定のキーワードやトピックに基づくアラート
- 精密なタイミングデータ付きでの完全なトランスクリプトのアーカイブ
クイックスタート
接続 URL
wss://api.benzinga.com/api/v1/transcripts/stream?token=YOUR_TOKEN
クエリパラメータ
| パラメータ | 必須 | 説明 |
|---|---|---|
token | はい | Benzinga の ウェブソケット API トークン |
サブスクリプションコマンド
特定の ticker を購読する
{
"action": "subscribe",
"ticker": "AAPL"
}
すべてのトランスクリプトを購読する
{
"action": "subscribe",
"ticker": "*"
}
Ticker の購読を解除
{
"action": "unsubscribe",
"ticker": "AAPL"
}
アクティブなトランスクリプトを一覧する
{
"action": "list"
}
接続の維持
{
"action": "ping"
}
モックデータでのテスト
{
"action": "subscribe",
"ticker": "AAPL",
"mock": true
}
AAPL, MSFT, TSLA
メッセージの例
{
"call_id": "call_123456",
"transcript_id": "550e8400-e29b-41d4-a716-446655440000",
"call_title": "Apple Inc. Q4 2024 Earnings Call",
"sentence": "Revenue for the quarter was 89.5 billion dollars.",
"start_time": "2024-01-15T16:30:15Z",
"end_time": "2024-01-15T16:30:19Z",
"symbol": "AAPL",
"exchange": "NASDAQ",
"name": "Apple Inc.",
"sequence": 42,
"status": "IN_PROGRESS",
"speaker": "Tim Cook, CEO",
"type": "LIVE",
"language": "en",
"confidence": 0.98,
"words": [
{
"text": "Revenue",
"confidence": 0.99,
"start": 0,
"end": 450
},
{
"text": "for",
"confidence": 0.98,
"start": 450,
"end": 600
}
],
"created_time": "2024-01-15T16:30:19Z"
}
主要フィールド
| Field | Description |
|---|---|
sentence | 発話された文全体のテキスト |
sequence | トランスクリプト内でのこの文の順序 (0, 1, 2…) |
speaker | 発話者の名前/識別子 |
status | IN_PROGRESS(リアルタイム)または COMPLETE(完了) |
confidence | 全体的な認識精度に対する信頼度 (0.0 - 1.0) |
words | タイミングおよび信頼度情報を含む単語ごとの配列 |
start_time / end_time | 文のタイミングを表す ISO 8601 タイムスタンプ |
Transcript ステータス
| ステータス | 説明 |
|---|---|
IN_PROGRESS | Transcript は現在進行中で、更新がリアルタイムに反映されています |
COMPLETE | Transcript は完了しており、これ以上の更新は行われません |
単語レベルのデータ
{
"text": "Revenue",
"confidence": 0.99,
"start": 0,
"end": 450
}
- text: 単語自体
- confidence: 認識信頼度(0.0〜1.0)
- start/end: 文頭からのタイミングオフセット(ミリ秒単位)
インタラクティブコマンド
| Command | Parameters | Description |
|---|---|---|
subscribe | ticker | 指定した ticker のトランスクリプト更新を購読します |
unsubscribe | ticker | 指定した ticker のトランスクリプト更新の購読を解除します |
list | - | 有効/利用可能なトランスクリプトの一覧を取得します |
subscribed | - | 現在購読中の一覧を取得します |
ping | - | 接続維持用のコマンドです(pong が返されます) |
echo | message | エコー テスト(送信したメッセージがそのまま返されます) |
ベストプラクティス
リアルタイム表示
- バッファ管理:
sequenceフィールドを使用して、文を順序どおりに表示する - 話者ごとのフォーマット:
speaker(経営陣 vs アナリスト)に応じて表示形式を変える - ステータスインジケーター:
IN_PROGRESSとCOMPLETEのステータスを視覚的に区別して表示する
パフォーマンス
- ワイルドカードの注意:
ticker: "*"を使用すると、すべてのトランスクリプトを対象としたサブスクリプションとなり、非常に大量のデータが配信される可能性があります - 対象を絞ったサブスクリプション: 帯域幅の消費を抑えるため、必要なティッカーに対してのみサブスクライブしてください
- ハートビート: 接続を維持するために、30〜60秒ごとに
pingを送信します
データ品質
- 信頼度によるフィルタリング: 信頼度スコアが低い文は無視するかフラグを付けることを検討してください
- 単語レベルの精度: 単語レベルの信頼度を使用して、不確実な文字起こしを特定してください
- 言語処理: テキストが適切にレンダリングされているか確認するために
languageフィールドをチェックしてください
テスト
- モックモード: ライブ API 呼び出しを行わない開発時は
mock: trueを指定します - エコーテスト: 接続およびメッセージ処理を確認するには
echoアクションを使用します - リストコマンド: 現在利用可能なものを確認するには
listを実行します
統合の例
const ws = new WebSocket(
'wss://api.benzinga.com/api/v1/transcripts/stream?token=YOUR_TOKEN'
);
ws.onopen = () => {
// Appleのトランスクリプトをサブスクライブ
ws.send(JSON.stringify({
action: 'subscribe',
ticker: 'AAPL'
}));
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
// 話者と文を表示
console.log(`[${data.sequence}] ${data.speaker}: ${data.sentence}`);
// トランスクリプトが完了しているか確認
if (data.status === 'COMPLETE') {
console.log('Transcript finished');
}
};
// 接続を維持
setInterval(() => {
ws.send(JSON.stringify({ action: 'ping' }));
}, 30000);
関連ドキュメント
- WebSocket Introduction - 一般的なウェブソケットの概念と接続の基本
- Authentication - API トークンの取得方法と使用方法
Messages
{
"action": "list"
}No examples foundtoken
type:httpApiKey
Benzinga WebSocket API token
publish
type:object
WebSocket command to interact with transcript stream
subscribe
type:object
Real-time transcript message