VoiceStudio は何をしますか?
ユーザーが実行中の VoiceStudio バックエンドを使用します。ローカル処理を優先し、リモートワーカー、クラウド翻訳、モデルダウンロード、および外部統合はユーザーの選択に委ねます。インストール済みのモデルはオフラインで実行できますが、すべての設定済みワークフローがオフラインであることを約束しないでください。
接続と探索
デフォルトのバックエンドは http://localhost:3900 です。ユーザーが設定したアドレスを尊重してください。Electronのレンダラープロセスと開発プロキシは別のサービスであり、公開バックエンドAPIではありません。
GET /healthを確認します。- 実行中のバージョンのコントラクトを
GET /openapi.jsonで、ボイス/エンジンをGET /v1/audio/voicesで探索します。プロファイルIDをでっち上げたり、カタログ一覧からインストール済みモデルを推測したりしないでください。 - 利用できない場合は、インストール済みのアプリを起動します。既存のソースチェックアウトの場合は、そのElectronのREADME(リポジトリルートで
bun install、bun run setup:api、次にbun run dev)に従ってください。2つ目のバックエンドをインストールしたり、既存のチェックアウトを上書きしたりしないでください。 - ローカル設定では認証なしの呼び出しを許可する場合があります。保護されたデプロイメントでは、設定された認証情報が必要です。401/403は認証失敗として扱い、認証を無効にする許可と見なさないでください。トークンを印刷したり、プレースホルダーキーを実際の認証情報であるかのように使用したりしないでください。
音声生成
以下のJSONを speech-request.json に保存し、ユーザーがボイスを選択した場合は voice を発見されたプロファイルIDに置き換えてください:
{"model":"tts-1","voice":"alloy","input":"すべての声には物語があります。あなたの物語を語りましょう。","response_format":"wav"}
curl --fail-with-body --show-error http://localhost:3900/v1/audio/speech \
-H 'Content-Type: application/json' --data-binary @speech-request.json \
--output speech.wav
tts-1 と tts-1-hd はエイリアスであり、品質保証ではありません。OpenAIのボイス名は互換性エイリアスであり、それらのプロバイダーの実際のボイスではありません。再利用可能なナレーションには、発見された保存済みボイスを優先してください。結果を約束する前に、インストール済みエンジンの言語機能とボイスデザイン機能を確認してください。
HTTPステータスを確認し、出力をオーディオと呼ぶ前にデコード/プローブしてください。エラーレスポンスが出力パスに書き込まれる可能性があります。保存されたパスと実際の長さ/フォーマットを報告してください。成功した生成、文字起こし、またはジョブ完了を決して捏造しないでください。
文字起こし
curl --fail-with-body --show-error http://localhost:3900/v1/audio/transcriptions \
-F [email protected] -F model=whisper-1 -F response_format=verbose_json
プレーンな文字起こしには json または text、タイムスタンプには verbose_json、実行中のスキーマでサポートされている場合は字幕に srt/vtt を使用してください。長い録音の前に、文字起こしモデルの準備状況を確認してください。モデルがない場合は説明し、ダウンロードの承認を得てから、黙ってインストールしないでください。
クローン、デザイン、吹き替え、および長時間ワークフロー
インストール済みのOpenAPIスキーマを使用して、プロファイル作成、参照アップロード、生成、吹き替え、および長時間ジョブ操作を探索してください。これらのネイティブエンドポイントはOpenAI互換APIよりも広範囲であり、独立して進化します。
- ユーザーが使用を許可されている音声のみをクローンしてください。参照ファイルと既存のプロファイルを保持してください。
- デザインでは、要求されたトーン、話し方、言語、サンプルテキストを取得し、エンジンのサポートを確認してください。
- 吹き替えでは、元のメディア、話者割り当て、セグメントタイミング、およびバックグラウンドオーディオの意図を保持してください。翻訳の完了はレンダリング/吹き替えの完了と同じではありません。
- 非同期作業では、返されたジョブIDと文書化された進行状況/ステータスエンドポイントを使用してください。ターミナルエラーを検査し、タイムアウトした生成を盲目的に再送信しないでください。
- 使用可能なファイルと正直な制限(不足しているモデルや利用不可能な機能を含む)を返してください。
MCPと自動化
実行中のバックエンドは http://localhost:3900/mcp にMCPエンドポイントをマウントします。クライアントでサポートされているHTTPトランスポートを使用し、実行時にそのツールを探索してください。別のサービスを起動するのではなく、既存の接続を再利用してください。stdio専用クライアントの場合は、プロジェクトのMCPガイドを参照してそのシムを確認してください。
n8n、呼び出しエージェント、コンテナ、またはその他のホストの場合、その環境からバックエンドアドレスに到達可能にしてください。コンテナ内の localhost はコンテナを指します。認証と明示的なリモートルーティングの選択はそのまま維持してください。統合ディレクトリの一覧表示は、その統合が接続されていることを意味しません。
エラー時には、レスポンスボディを読み取り、利用不可のバックエンド、欠落モデル、サポートされていない機能、認証、およびビジーハードウェアを区別してください。報告された状態を修正し、ホステッドプロバイダーに切り替えたり、承認なしにモデルをダウンロードしたりしないでください。
デスクトップワークフローと準備状況
Electronアプリには、音声クローンとデザイン、保存済みプロファイルとギャラリー、ストーリー/オーディオブック、吹き替えプロジェクト、文字起こし、ツール、統合機能が含まれています。既存のプロジェクトとボイス識別子を重複作成よりも優先してください。デスクトップ自動化では、実際のUIと現在のSettingsショートカットを検査し、ショートカットキーの割り当てやマイクのアクセス許可がすべてのホストで同じであると想定しないでください。
ディクテーションの前に、インストール済みの音声認識モデルと動作する入力デバイスを確認してください。録音、一時停止中の録音、文字起こし処理中、完了したテキストを区別してください。文字起こしのコピーと別のアプリへの挿入は異なる操作です。タイピング前に意図されたターゲットを確認し、サポートされている場合はクリップボードの内容を保持してください。文字起こしが完了したからといって、テキストが配信されたと報告しないでください。
吹き替えでは、エクスポート前に欠落/失敗したセグメントとタイミングオーバーフローを検査してください。要求された場合、音楽や非音声オーディオを保持し、サウンドトラック全体を黙って置き換えないでください。ソースを保持し、出力を別のアーティファクトにしてください。翻訳スタイルプロンプトは選択された翻訳操作に属し、リモートエージェント翻訳にはユーザーが設定したプロバイダーの選択が必要です。
統合ディレクトリは、動作するコネクタの証明ではなく、発見とセットアップのガイダンスとして使用してください。接続の準備ができていると説明する前に、実際の認証情報、エンドポイントの到達可能性、およびサポートされている操作を確認してください。コンテナデプロイメントには、永続データボリュームと呼び出し元クライアントから到達可能なバックエンドURLが必要です。