VideoHero
VideoHeroは、サポートされているvideohero CLIを通じてのみ使用してください。SwiftUIインターフェースの自動化、VideoHeroのSwiftDataストアの編集、プライベートヘルパー実行ファイルの呼び出し、またはプロジェクトディレクトリ内へのファイルの直接構築は行わないでください。
CLI実行ファイルは、ユーザーまたはテストキットから提供された絶対パスから解決し、次に絶対パスのVIDEOHERO_CLIから、最後にPATH上のvideoheroコマンドから解決します。ワークフロー全体で、解決した実行ファイルをそのまま使用し続けてください。以下のように開始します。
CLI="/absolute/path/supplied/by/the/user/bin/videohero"
"$CLI" version --format json
"$CLI" capabilities --format json
絶対パスが提供されなかった場合は、command -v videoheroを解決し、返された絶対パスをCLIとして使用します。
実行ファイルが見つからない場合、自動化が無効になっている場合、または報告されたプロトコルに互換性がない場合は、処理を停止し、ユーザーがVideoHeroで有効化またはインストールする必要がある内容を説明してください。推測したコマンドを代用しないでください。期待される最初の安定プロトコルはバージョン1です。
ワークフロー
- 記憶されたエンジン、音声、フォーマット、デフォルトに頼るのではなく、現在の機能を読み取ります。
- 高価な生成の前に、
videohero doctor --workflow <workflow> --format jsonを実行します。具体的なリクエストについては、インストールされているCLIがサポートしている場合、その入力パラメーターと出力パラメーターを含めます。 - リクエストされた音声を
videohero voices list --format jsonから解決します。ローカライズされたタイトルではなく、安定したidを使用します。ユーザーの説明が複数の音声と一致する場合は、黙って選択するのではなく、意味のある候補を提示します。 - 絶対パスと
--format jsonを使用して--waitなしで操作を送信し、返されたジョブIDを解析します。長いテキストや機密性の高いテキストには--text-fileを優先します。 - 返されたジョブIDに対して、ユーザーが現在のターンで待機したい場合は
videohero jobs wait <job-id> --format ndjsonを使用します。それ以外の場合は、ジョブIDを報告し、後でjobs statusを使用します。プレゼンテーションジョブ中は、意味のあるステージ/進捗の変更と、estimateが存在する場合はそれを中継します。estimateがない場合は、VideoHeroに互換性のある履歴が不十分であることを意味します。完了時間を invent しないでください。jobs cancelは、ユーザーがキャンセルをリクエストした場合、または現在のタスクが明示的に許可した場合にのみ使用します。 - 最終状態が
succeeded、delivery.stateがdelivered、かつCLIが終了コード0で終了した場合にのみ、成功として扱います。レシートの実際のdestinationPathと警告を返します。
プレゼンテーションレンダリングは、capabilities.presentation.persistsProjectがtrueの場合、デフォルトで編集可能なVideoHeroプロジェクトを作成し、継続的に保存します。--save-projectオプションを追加または invent しないでください。テキスト読み上げは一時的なオーディオジョブのままであり、VideoHeroプロジェクトを作成してはなりません。どちらの場合も、VideoHeroのSwiftDataストアやプロジェクトディレクトリを自分で書き込まないでください。永続性はアプリが所有します。
ユーザーがそのアクションを許可しない限り、モデルのダウンロード、ライセンスの承諾、エージェント制御の有効化、個人ボイスの認証、既存の出力の上書き、または大幅に異なる設定での失敗した生成の再試行を行わないでください。タイムアウトは送信の失敗の証拠ではありません。ジョブをクエリするか、同じ冪等性キーで再試行してください。
ルート
- テキスト読み上げについては、references/cli-protocol.mdを読んでください。
- PPTX/PDFから動画への変換については、references/cli-protocol.mdを読んでください。
- ジョブの状態、構造化エラー、復旧、キャンセルについては、references/cli-protocol.mdを読んでください。
- ユーザーがローカル統合のインストール、設定、テストを依頼した場合は、references/setup-and-testing.mdを読んでください。
パスは個別のコマンド引数として保持してください。ユーザーテキストをシェル構文に interpolate しないでください。リクエストが複雑な場合は、capabilitiesでサポートされているバージョン管理されたリクエストJSONを作成し、そのパスを渡すことで、脆弱なコマンドラインを組み立てるのを避けてください。