このファイルは schemas/api-1.1.json と同じ内容を表にしたものです。引数と戻り値は API_REFERENCE_JA.md、 権限の意味は PERMISSIONS_JA.md を見てください。★ は注意が必要な権限(要審査)、NC Lite の ○ は SyncSing NC Lite でも使えるものです。
メソッド 92 個・イベント 17 個・権限 26 個。
1. メソッドの一覧(拡張機能 → アプリ)
引数の * は必須。型・範囲・戻り値の形は ../schemas/api-1.1.json(JSON Schema)。
| メソッド | 権限 | 段階 | NC Lite | 引数 | できること |
|---|---|---|---|---|---|
api.capabilities | — | (権限なし) | ○ | — | このアプリで呼べるメソッド・イベントの一覧 |
app.info | — | (権限なし) | ○ | — | アプリの種類(Studio / NC Lite)・版・言語 |
audio.capture.start | audio.capture | ★ 要審査 | ○ | rate | マイクの声(ノイズ除去などの処理をした後)を受け取り始める |
audio.capture.stop | audio.capture | ★ 要審査 | ○ | — | マイクの声を受け取るのをやめる |
audio.close | — | (権限なし) | ○ | — | 声の窓口をすべて閉じて元に戻す |
audio.inject.cancel | audio.inject | ★ 要審査 | ○ | id | 乗せる音・作りかけの VOICEVOX の文を取り消す |
audio.inject.open | audio.inject | ★ 要審査 | ○ | rate | 配信に音を乗せ始める(音のパイプで送る) |
audio.inject.voicevox | audio.inject | ★ 要審査 | ○ | style_id*・text*・intonation・pitch・speed・volume | 文章を VOICEVOX の声で少しずつ作って配信に乗せる |
audio.mic_route.set | audio.mic_route | ★ 要審査 | ○ | to_mix*・monitor_original | マイクの声を配信に乗せない/戻す(止まると必ず戻る) |
audio.open | — | (権限なし) | ○ | — | 音専用のパイプを開く(SDK の audio() / Audio() が呼ぶ) |
audio.set_output_gain | audio.output | ★ 要審査 | gain* | 仮想マイクの出力音量を変える | |
audio.stats | — | (権限なし) | ○ | — | 捨てた音・貯まっている音の量・置き換え中か |
audio.voicevox.voices | audio.inject | ★ 要審査 | ○ | — | 使える VOICEVOX の声とスタイル(入っているか) |
bgm.get | state.read | 標準 | — | BGM の状態を読む | |
bgm.next | bgm.control | 標準 | — | BGM を次の曲へ | |
bgm.set | bgm.control | 標準 | auto_duck・duck_level・enabled・monitor・volume | BGM の ON/OFF・音量・自動で下げる・モニターを変える | |
bgm.toggle | bgm.control | 標準 | — | BGM の ON/OFF | |
chat.history | chat.read | 標準 | limit・since | 受信済みのコメントを読む | |
chat.post | chat.write | ★ 要審査 | text*・platform | チャットへ投稿する(利用者が選んだ配信先・アカウントで) | |
devices.list | state.read | 標準 | ○ | — | 入力・モニター・参照の機器の名前を読む |
dictionary.get | state.read | 標準 | — | 読み方辞書を読む | |
dictionary.preview | state.read | 標準 | text* | 辞書を当てた読み方を試す(保存しない) | |
dictionary.remove_entry | dictionary.write | 標準 | entry_id* | 自分が足した辞書の項目を消す | |
dictionary.set_entry | dictionary.write | 標準 | source*・enabled・entry_id・match_type・priority・replacement | 読み方辞書に項目を足す・自分の項目を変える | |
editfx.delete | editfx.manage | 標準 | video_id* | Edit FX のテンプレートを消す | |
editfx.enable | editfx.manage | 標準 | enabled* | Edit FX の ON/OFF | |
editfx.get | state.read | 標準 | video_id | Edit FX のテンプレートを読む | |
editfx.preview | editfx.manage | 標準 | on・video_id | Edit FX のテンプレートを試す | |
editfx.save | editfx.manage | 標準 | template*・overwrite | Edit FX のテンプレートを保存する | |
effects.add_favorite | effects.control | 標準 | name | 今の設定をお気に入りに足す | |
effects.get | state.read | 標準 | — | エフェクトの設定・プリセット・お気に入りを読む | |
effects.load_preset | effects.control | 標準 | preset* | エフェクトのプリセットを読み込む | |
effects.next_favorite | effects.control | 標準 | — | 次のお気に入りへ | |
effects.set | effects.control | 標準 | effects* | エフェクトの設定を変える | |
effects.set_favorites | effects.control | 標準 | cycle・order | お気に入りの順番・切り替え対象を変える | |
effects.simple.get | state.read | 標準 | — | エフェクトの「簡単」ダイヤルを読む | |
effects.simple.set | effects.control | 標準 | dials・on | エフェクトの「簡単」ダイヤルを変える | |
effects.toggle_current | effects.control | 標準 | — | 今のエフェクトの ON/OFF | |
entry.action | entry.control | 標準 | action* | エントリーの受付切替・確定・スキップ | |
entry.get | state.read | 標準 | — | エントリーの受付・待機列を読む | |
events.subscribe | — | (権限なし) | ○ | events*・meters | イベントを受け取り始める |
events.unsubscribe | — | (権限なし) | ○ | events* | イベントの受け取りをやめる |
hello | — | (権限なし) | ○ | plugin*・token*・api・capabilities・sdk | 最初の 1 通。認証して、許可された権限・設定・フォルダを受け取る |
loadtest.begin | loadtest.run | ★ 要審査 | max_duration_s・mode・profile | 負荷テスト・計測を始める | |
loadtest.end | loadtest.run | ★ 要審査 | — | 負荷テスト・計測を終えて集計を受け取る | |
loadtest.status | loadtest.run | ★ 要審査 | — | 負荷テスト・計測の状態を読む | |
log.write | — | (権限なし) | ○ | message*・level | 自分のログに書く |
lyrics.get | state.read | 標準 | — | 今の歌詞の曲名・表示状態を読む | |
lyrics.load_text | lyrics.control | 標準 | lyrics*・artist・duration・title | 歌詞の文を渡して読み込む | |
lyrics.search | lyrics.control | 標準 | track*・album・artist | 歌詞を検索する | |
lyrics.select | lyrics.control | 標準 | track* | 検索した歌詞を選ぶ | |
lyrics.set_offset | lyrics.control | 標準 | seconds*・video_id | 歌詞のずれを補正する | |
lyrics.toggle | lyrics.control | 標準 | — | OBS の歌詞表示の ON/OFF | |
meters.get | meters.read | 標準 | ○ | — | 音量メーターを読む |
mic.chain.get | state.read | 標準 | ○ | — | マイク音質の設定を読む |
mic.chain.set | mic.control | 標準 | ○ | enabled・input_gain_db・preset | マイク音質の ON/OFF・プリセット・入力の音量を変える |
mic.presets.list | state.read | 標準 | ○ | — | マイク音質のプリセット一覧を読む |
mic.presets.select | mic.control | 標準 | ○ | preset* | マイク音質のプリセットを選ぶ |
mic.set | mic.control | 標準 | ○ | denoise・latency_mode・lean_buffer・loudness_guard・monitor・strength・voice_tone_db | ノイズ除去の強さ・ON/OFF・声の補正・モニター・遅延モードを変える |
mic.simple.get | state.read | 標準 | ○ | — | マイク音質の「簡単」ダイヤルを読む |
mic.simple.set | mic.control | 標準 | ○ | auto・dials・on | マイク音質の「簡単」ダイヤルを変える |
notify.dismiss | notify | 標準 | ○ | notification_id・proposal_id | 自分の通知・提案を取り下げる |
notify.propose | notify | 標準 | ○ | title*・items・summary | 見せるだけの提案を出す(利用者が「わかった」「却下」) |
notify.show | notify | 標準 | ○ | body・level・title | アプリの画面に通知を出す |
obs.propose_changes | obs.write | ★ 要審査 | changes*・note・title | OBS の設定変更を提案する(適用は利用者が押す) | |
obs.request | obs.read | 標準 | requestType*・requestData | OBS の情報を読む(読めるものだけ) | |
obs.snapshots | obs.write | ★ 要審査 | — | 適用前に保存した OBS の設定の一覧 | |
obs.status | obs.read | 標準 | — | OBS の接続・配信・録画の状態を読む | |
overlay.clear | overlay.draw | ★ 要審査 | overlay | 統合配信UI の拡張機能用の表示を消す | |
overlay.set_items | overlay.draw | ★ 要審査 | items*・overlay*・title | 統合配信UI の拡張機能用の表示を書き換える | |
overlay.set_page | overlay.draw | ★ 要審査 | overlay*・url*・title | 統合配信UI に、拡張機能がこの PC の中で配るページを埋め込む(kind: page の overlay) | |
panel.update | — | (権限なし) | ○ | blocks*・panel* | 自分のパネルの中身を差し替える |
ping | — | (権限なし) | ○ | — | 生きているかの確認(ホストからも 15 秒ごとに来る) |
player.pause | player.control | ★ 要審査 | — | 内蔵 YouTube を一時停止する | |
player.play | player.control | ★ 要審査 | — | 内蔵 YouTube を再生する | |
player.seek | player.control | ★ 要審査 | seconds* | 内蔵 YouTube の再生位置を変える | |
player.set | player.control | ★ 要審査 | backing_gain・mixback・pitch_buffer_ms・pitch_enabled・pitch_semitones・sync_trim_ms・youtube_gain | 動画・伴奏の音量・ミックス・キー・同期の微調整を変える | |
processing.start | processing.control | ★ 要審査 | ○ | — | 音声処理を開始する |
processing.stop | processing.control | ★ 要審査 | ○ | — | 音声処理を停止する |
processing.toggle | processing.control | ★ 要審査 | ○ | — | 音声処理の開始・停止を切り替える |
recording.set | recording.control | 標準 | ceiling_db・export_stems・target_dbfs | 録音の設定を変える | |
recording.start | recording.control | 標準 | — | 録音を開始する | |
recording.stop | recording.control | 標準 | — | 録音を停止する | |
recording.toggle | recording.control | 標準 | — | 録音の開始・停止を切り替える | |
settings.get | — | (権限なし) | ○ | — | 自分の設定を読む |
settings.set | — | (権限なし) | ○ | settings* | 自分の設定を変える(manifest で宣言した項目だけ) |
state.get | state.read | 標準 | ○ | — | 今の状態(処理・曲・歌詞・配信の接続など)を読む |
tts.get | state.read | 標準 | — | 読み上げの状態を読む | |
tts.reader.stop_all | tts.control | ★ 要審査 | — | 読み上げを全部止める | |
tts.reader.toggle | tts.control | ★ 要審査 | — | 読み上げの ON/OFF | |
tts.speak | tts.speak | ★ 要審査 | text*・interrupt_own・priority | 読み上げに文章を渡す | |
tts.stop | tts.speak | ★ 要審査 | utterance_id | 自分が渡した読み上げを止める |
2. イベントの一覧(アプリ → 拡張機能。events.subscribe で受け取る)
| イベント | 権限 | 段階 | NC Lite | 内容 |
|---|---|---|---|---|
meters | meters.read | 標準 | ○ | 音量メーター(決めた間隔ごと) |
state.changed | state.read | 標準 | ○ | 状態が変わった |
processing.changed | state.read | 標準 | ○ | 音声処理の開始・停止 |
settings.changed | — | (権限なし) | ○ | 利用者が自分の設定を変えた |
events.dropped | — | (権限なし) | ○ | 読まなかったので捨てたイベントの件数 |
broadcast.changed | state.read | 標準 | 配信の接続・OBS の配信状態が変わった | |
obs.changed | obs.read | 標準 | OBS の状態が変わった | |
loadtest.sample | loadtest.run | ★ 要審査 | 負荷テスト・計測の 1 秒ごとの値 | |
loadtest.ended | loadtest.run | ★ 要審査 | 負荷テスト・計測が終わった(集計) | |
chat.message | chat.read | 標準 | コメントを受信した | |
player.changed | state.read | 標準 | 曲の切替・再生/停止 | |
effects.changed | state.read | 標準 | エフェクトが変わった | |
entry.changed | state.read | 標準 | エントリーの人数が変わった | |
proposal.result | notify | 標準 | ○ | 提案の結果(適用・却下・元に戻した など) |
audio.released | — | (権限なし) | ○ | 声の窓口が元に戻された(止めた・処理の停止・利用者が押した など) |
audio.silent | — | (権限なし) | ○ | 声を置き換え中なのに音が届いていない |
audio.voicevox.done | — | (権限なし) | ○ | audio.inject.voicevox の文を言い終えた・失敗した |
アプリからの要求(返事が要る): ping・plugin.activate・plugin.shutdown・command.invoke・tool.run・settings.changed。権限は要りません。
3. 権限ごとの表
| 権限 | 段階 | NC Lite | できること | メソッド | イベント |
|---|---|---|---|---|---|
| (権限なし) | — | ○ | 接続・自分の設定・パネル・ログ | api.capabilities<br>app.info<br>audio.close<br>audio.open<br>audio.stats<br>events.subscribe<br>events.unsubscribe<br>hello<br>log.write<br>panel.update<br>ping<br>settings.get<br>settings.set | settings.changed<br>events.dropped<br>audio.released<br>audio.silent<br>audio.voicevox.done |
state.read | 標準 | ○ | 今の状態を読む(曲・エフェクト・マイクの設定・エントリーの人数・配信の接続状態) | bgm.get<br>devices.list<br>dictionary.get<br>dictionary.preview<br>editfx.get<br>effects.get<br>effects.simple.get<br>entry.get<br>lyrics.get<br>mic.chain.get<br>mic.presets.list<br>mic.simple.get<br>state.get<br>tts.get | state.changed<br>processing.changed<br>broadcast.changed<br>player.changed<br>effects.changed<br>entry.changed |
meters.read | 標準 | ○ | 音量メーター・処理時間・音切れの数を読む | meters.get | meters |
chat.read | 標準 | 受信したコメントを読む(視聴者の ID はそのまま渡さない) | chat.history | chat.message | |
chat.write | ★ 要審査 | チャットへ投稿する(連携タブで選んだアカウント=配信者本人か Bot の発言として出る) | chat.post | — | |
mic.control | 標準 | ○ | ノイズ除去の強さ・マイク音質・声の補正・遅延モードを変える | mic.chain.set<br>mic.presets.select<br>mic.set<br>mic.simple.set | — |
audio.output | ★ 要審査 | 仮想マイクの出力音量を変える(0 にすると配信が無音になる) | audio.set_output_gain | — | |
processing.control | ★ 要審査 | ○ | 音声処理を開始・停止する(停止すると配信の声が止まる) | processing.start<br>processing.stop<br>processing.toggle | — |
recording.control | 標準 | 録音を開始・停止し、録音の設定を変える | recording.set<br>recording.start<br>recording.stop<br>recording.toggle | — | |
effects.control | 標準 | エフェクト・プリセット・お気に入りを切り替える | effects.add_favorite<br>effects.load_preset<br>effects.next_favorite<br>effects.set<br>effects.set_favorites<br>effects.simple.set<br>effects.toggle_current | — | |
editfx.manage | 標準 | Edit FX のテンプレートを読み書きする | editfx.delete<br>editfx.enable<br>editfx.preview<br>editfx.save | — | |
player.control | ★ 要審査 | 内蔵 YouTube を操作する(再生・一時停止・シーク・キー変更) | player.pause<br>player.play<br>player.seek<br>player.set | — | |
bgm.control | 標準 | BGM の再生・音量・自動で下げる・次の曲 | bgm.next<br>bgm.set<br>bgm.toggle | — | |
lyrics.control | 標準 | 歌詞を検索・選択・読み込み・表示切替・補正する | lyrics.load_text<br>lyrics.search<br>lyrics.select<br>lyrics.set_offset<br>lyrics.toggle | — | |
entry.control | 標準 | エントリーの受付切替・確定・スキップ | entry.action | — | |
tts.speak | ★ 要審査 | 読み上げに文章を渡す(配信の音に乗る) | tts.speak<br>tts.stop | — | |
tts.control | ★ 要審査 | 読み上げを ON/OFF・全停止する | tts.reader.stop_all<br>tts.reader.toggle | — | |
dictionary.write | 標準 | 読み方辞書に項目を足す(自分が足した項目だけ消せる) | dictionary.remove_entry<br>dictionary.set_entry | — | |
overlay.draw | ★ 要審査 | 統合配信UI のプラグイン用レイヤーへ表示する(配信の映像に出る) | overlay.clear<br>overlay.set_items<br>overlay.set_page | — | |
notify | 標準 | ○ | アプリの画面に通知・提案を出す | notify.dismiss<br>notify.propose<br>notify.show | proposal.result |
obs.read | 標準 | OBS の状態・統計・設定の一部を読む(SyncSing 経由。ストリームキーは読めない) | obs.request<br>obs.status | obs.changed | |
obs.write | ★ 要審査 | OBS の設定変更を提案する(適用はあなたが押す) | obs.propose_changes<br>obs.snapshots | — | |
loadtest.run | ★ 要審査 | 負荷テストの枠を取り、計測値を受け取る(配信中は使えない) | loadtest.begin<br>loadtest.end<br>loadtest.status | loadtest.sample<br>loadtest.ended | |
audio.capture | ★ 要審査 | ○ | マイクの声を受け取る(ノイズ除去などの処理をした後の声だけ。処理前の音・周りの音は渡さない) | audio.capture.start<br>audio.capture.stop | — |
audio.mic_route | ★ 要審査 | ○ | マイクの声を配信に乗せない(拡張機能が動いている間だけ。止まると必ず元に戻る) | audio.mic_route.set | — |
audio.inject | ★ 要審査 | ○ | 拡張機能が作った音・VOICEVOX の声を配信の音に乗せる | audio.inject.cancel<br>audio.inject.open<br>audio.inject.voicevox<br>audio.voicevox.voices | — |
system.unrestricted | ★ 要審査 | 隔離せずに動かす(PC のファイル・ネットワーク・ほかのアプリに制限なくアクセスできる) | — | — |
- NC Lite で動く拡張機能(
targetsにnclite)は、NC Lite の欄が ○ の権限・メソッド・イベントだけを使えます。 - 権限の無いメソッドを呼ぶと
permission_denied、権限の無いイベントはevents.subscribeの返事のdeniedに入ります。