テキストから動画へ — Pexo は何をしますか?
Pexo: https://pexo.ai — APIキーを取得し、プロジェクトのレンダリングを確認、クレジットを購入できます。
書かれたプロンプトやスクリプトを、公開可能な完成動画に変換します。自分で何かを生成する必要はありません。リクエストをホスト型のPexoエージェント(pexo-agentと同じバックエンド、テキストから動画用にスコープ指定)に渡し、結果を受け取るだけです。Pexoがスクリプトを書き、ショットごとに最適なモデルを選び、すべてのショットを生成し、音楽、字幕、トランジションを追加します。
あなたの役割:中継、生成は不要
プロジェクトを作成し、ユーザーのリクエストをそのまま送信し、ポーリングし、結果を提供します。Pexoのバックエンドがすべてのクリエイティブ作業(スクリプト作成、モデル選択、プロンプト、音楽)を処理します。ユーザーが要求していない長さやスタイル、モデルなどをあなたが指定すると、Pexoの判断が上書きされ、品質の低い動画になります。
設定
~/.pexo/config:
PEXO_BASE_URL="https://pexo.ai"
PEXO_API_KEY="sk-<your-api-key>"
アカウント未作成 / 初回実行時 → references/SETUP-CHECKLIST.md を読み、ユーザーをガイドしてください。そこには、新規ユーザーにボーナスクレジットを付与する招待コードを使用したサインアップ手順と、上記の設定ファイルの作成方法が記載されています。設定エラー時 → scripts/pexo-doctor.sh を実行し、その出力に従ってください。
ワークフロー
スクリプトはこのスキルの scripts/ ディレクトリにあります。ユーザーへの応答はそのユーザーの言語で行います。
- プロジェクトを作成:
pexo-project-create.sh "<簡単な概要>"→project_idを保存します。 - ユーザーが提供したファイルをアップロード:
pexo-upload.sh <project_id> <パス>→asset_idを保存し、インラインで<original-image>asset_id</original-image>(または<original-video>/<original-audio>) として参照します。タグは必須です — 生のasset_idは無視されます。PexoはURLをクロールできません — ダウンロードしてからアップロードしてください。 - リクエストを送信:
pexo-chat.sh <project_id> "<ユーザーの正確な言葉> <アセットタグ>"。ユーザーの言葉を正確にコピーし、アセットタグのみ追加します。 - ユーザーに伝える(そのユーザーの言語で): 送信済み ✓ · 約15~20分 ·
https://pexo.ai/project/<project_id> - ポーリング: 60秒以上間隔で
pexo-project-get.sh <project_id>を実行し、nextActionに応じて行動:- WAIT → ポーリングを継続。約5回のポーリングごとに、プロジェクトリンクを含む1行のアップデートを送信します。
- RESPOND →
recentMessages内の各イベントを処理: Pexoのテキストを中継(質問があればユーザーの回答を待ち、その返信をpexo-chat.shで送信);preview_videoの場合は、各オプションに対してpexo-asset-get.sh <project_id> <assetId>を実行し、URL(A/B/C)を表示してユーザーに選択させ、pexo-chat.sh <project_id> "<選択>" --choice <assetId>で送信;documentイベントの場合は、ユーザーにその旨を伝えます。 - DELIVER →
pexo-asset-get.sh <project_id> <最終的なassetId>を実行し、完全なアセットURL(?…クエリパラメータも含め、決して切り詰めたりマークダウンで囲んだりしない)をプレーンテキストで、プロジェクトリンクとともにユーザーに送信します。 - FAILED →
nextActionHintを平易な言葉で説明し、再試行を提案します。 - RECONNECT →
pexo-chat.sh <project_id> "continue"を実行し、接続が切れて復旧中であることをユーザーに伝え、ポーリングを継続します。 - WAIT中に
pexo-chat.shを呼び出さないでください — 重複した生成を引き起こします。 - 時間がかかりすぎる場合 → 30分以上経過してもWAITのままの場合、ユーザーに(プロジェクトリンク +
https://pexo.ai/connect/openclawとともに)長時間実行中であることを伝え、待つか停止するか尋ねてください。永遠にポーリングしないでください。
リビジョン
納品後、ユーザーから微調整(「短くして」、「音楽を変えて」、「別のショットで」)があった場合は、同じプロジェクトを再利用します: pexo-chat.sh <project_id> "<フィードバック>" を実行し、再度ポーリングします(ステップ5)。リビジョンで新しいプロジェクトを作成しないでください — Pexoサーバー側のコンテキストが失われます。
クレジット
スクリプトが「Credits balance」/「Insufficient credits」エラーで失敗した場合: エラーに購入リンクが含まれている場合はそれをユーザーに渡し、そうでない場合は https://pexo.ai/home → Credits → Buy Credits でクレジットを追加するよう伝えます。ユーザーが確認したら再試行します。
例
ユーザー: 「新しいコーヒーサブスクリプションについて30秒の動画を作って」
pid=$(pexo-project-create.sh "coffee subscription promo")
pexo-chat.sh "$pid" "新しいコーヒーサブスクリプションについて30秒の動画を作って。"
# ユーザーに伝える: 送信済み、約15~20分、https://pexo.ai/project/$pid
# nextAction が DELIVER になるまで pexo-project-get.sh "$pid" をポーリングし、アセットURLを提供。
スクリプト
| スクリプト | 使用法 | 戻り値 |
|---|---|---|
pexo-project-create.sh | "<概要>" | project_id |
pexo-upload.sh | <project_id> <ファイル> | asset_id |
pexo-chat.sh | <project_id> "<メッセージ>" [--choice <id>] | 応答確認(非同期) |
pexo-project-get.sh | <project_id> | JSON: nextAction, recentMessages |
pexo-asset-get.sh | <project_id> <asset_id> | url を含むJSON |
pexo-doctor.sh | — | セットアップ診断 |
エラーコードとエッジケース → references/TROUBLESHOOTING.md。