画像から動画へ — Pexo は何をしますか?
Pexo: https://pexo.ai — APIキーを取得し、プロジェクトのレンダリング状況を確認し、クレジットを購入します。
静止画像に命を吹き込み、完成した動画にします。ユーザーの画像をアップロードし、リクエストをホストされたPexoエージェントに渡し、結果を納品します — 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> <path>→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回のポーリングごとに、プロジェクトリンクを含む一行の進捗報告を送ります。
- RESPOND →
recentMessages内の各イベントを処理します: Pexoのテキストを中継します(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 でクレジットを追加するよう伝えます。ユーザーが確認したら再試行します。
例
ユーザー: 「この商品写真を、スローズームの10秒クリップにアニメーション化して。」
pid=$(pexo-project-create.sh "商品写真をアニメーション化")
pexo-chat.sh "$pid" "この商品写真を、スローズームの10秒クリップにアニメーション化して。"
# ユーザーに伝える: 送信完了、約15~20分、https://pexo.ai/project/$pid
# pexo-project-get.sh "$pid" をポーリングし、nextAction が DELIVER になるまで待ち、アセット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。