OpenAI Videos 互換
OpenAI Videos API のリクエスト・レスポンス形式のまま、PopNow の動画モデルを呼び出す方法。
すでに OpenAI Videos API を使うコードがあるなら、接続先を PopNow に向けるだけでほとんどをそのまま使えます。互換エンドポイントは https://api.popnow.ai/v1 にあり、キー、制限、検証、クレジットはネイティブ API と共通です。
| OpenAI 形式の呼び出し | 内容 |
|---|---|
POST /v1/videos | 動画タスクを作成 |
GET /v1/videos/{id} | 状態を読む |
GET /v1/videos/{id}/content | 完成したファイルへリダイレクト(302) |
GET /v1/models | 呼び出せるモデルを OpenAI のリスト形式で返す |
一覧に出るのは動画・画像・音声のモデルだけです。チャットやテキストのエンドポイントは PopNow API に含まれません。
動画を作成する
curl -X POST "https://api.popnow.ai/v1/videos" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "alibaba/wan-3.0/image-to-video",
"prompt": "Waves roll in slowly, the camera drifts toward the lighthouse",
"input_reference": "https://media.popnow.ai/movie/lighthouse.webp",
"seconds": "5",
"size": "1280x720"
}'各フィールドがモデル固有の入力にどう対応するか:
| OpenAI のフィールド | 対応先 |
|---|---|
model | /v1/models にある動画モデルの ID |
prompt | prompt |
input_reference | image_url / image_urls(HTTPS の URL か popnow:// のアップロード) |
seconds | duration_seconds |
size(幅x高さ) | resolution と aspect_ratio のどちらかまたは両方。ピクセル指定のモデルでは width / height |
選んだモデルが対応していないフィールドは、黙って捨てずに 400 で拒否します。OpenAI の形式にない設定は、ネイティブの createTask を使ってください。
読み取りとダウンロード
状態は queued → queued、running → in_progress、succeeded → completed、failed / expired → failed(error オブジェクト付き)に対応します。GET /v1/videos/{id}/content は有効期間の短い署名付きリンクへ 302 でリダイレクトするので、クライアントでリダイレクトを追ってください。生成中は 409、失敗時は 404 です。
返されるオブジェクトに価格は含まれません。費用は同じ ID でネイティブの recordInfo から読んでください。
エラー
エラーは OpenAI の { "error": { "message", "type", "param", "code" } } 形式で、HTTP ステータスはネイティブ API と同じです。コンテンツ上の拒否は HTTP 400 と code: "content_rejected" なので、パラメーターのエラー(invalid_request または unsupported_parameter。param がフィールド名を示す)と区別できます。

