PopNowAPI-Doku
Kompatibilität und KI-Agenten
Hauptinhalt

OpenAI-Videos-Kompatibilität

PopNow-Videomodelle mit den Anfrage- und Antwortformaten der OpenAI Videos API aufrufen.

Spricht dein Code schon die OpenAI Videos API, kannst du ihn auf PopNow umstellen und das meiste behalten. Die kompatiblen Endpunkte liegen unter https://api.popnow.ai/v1 und teilen sich Schlüssel, Limits, Prüfung und Credits mit der nativen API.

Aufruf im OpenAI-StilFunktion
POST /v1/videosEinen Video-Task erstellen
GET /v1/videos/{id}Seinen Zustand lesen
GET /v1/videos/{id}/contentWeiterleitung (302) zur fertigen Datei
GET /v1/modelsAufrufbare Modelle im Listenformat von OpenAI

Gelistet werden nur Video-, Bild- und Audiomodelle; Chat- und Textendpunkte gehören nicht zur PopNow API.

Ein Video erstellen

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"
  }'

So werden die Felder auf die Eingabe des Modells abgebildet:

OpenAI-FeldWird zu
modelEiner Video-Modell-ID aus /v1/models
promptprompt
input_referenceimage_url / image_urls (eine HTTPS-URL oder ein popnow://-Upload)
secondsduration_seconds
size (BREITExHÖHE)resolution und/oder aspect_ratio, oder width / height, wenn das Modell Pixel erwartet

Ein Feld, das das gewählte Modell nicht unterstützt, wird mit 400 abgelehnt – nie still verworfen. Für Einstellungen, für die das OpenAI-Format kein Feld hat, nimm das native createTask.

Lesen und herunterladen

Die Zustände werden so abgebildet: queued → queued, running → in_progress, succeeded → completed und failed / expired → failed mit einem error-Objekt. GET /v1/videos/{id}/content antwortet mit 302 auf einen kurzlebigen signierten Link – lass deinen Client Weiterleitungen folgen –, mit 409, solange das Video noch entsteht, und mit 404, wenn es gescheitert ist.

Die zurückgegebenen Objekte enthalten nie Preise. Die Kosten liest du mit dem nativen recordInfo unter derselben ID.

Fehler

Fehler kommen im OpenAI-Format { "error": { "message", "type", "param", "code" } } mit demselben HTTP-Status, den die native API liefern würde. Eine inhaltliche Ablehnung ist HTTP 400 mit code: "content_rejected", sodass du sie von einem Parameterfehler unterscheiden kannst (invalid_request oder unsupported_parameter, wobei param das Feld nennt).

Auf dieser Seite