Zgodność z OpenAI Videos
Wywołuj modele wideo PopNow w formatach zapytań i odpowiedzi API OpenAI Videos.
Jeśli twój kod korzysta już z API OpenAI Videos, możesz skierować go na PopNow i zachować prawie wszystko. Zgodne endpointy są pod https://api.popnow.ai/v1 i dzielą klucze, limity, walidację oraz kredyty z natywnym API.
| Wywołanie w stylu OpenAI | Co robi |
|---|---|
POST /v1/videos | Tworzy zadanie wideo |
GET /v1/videos/{id} | Odczytuje jego stan |
GET /v1/videos/{id}/content | Przekierowuje (302) do gotowego pliku |
GET /v1/models | Lista dostępnych modeli w formacie listy OpenAI |
Na liście są tylko modele wideo, obrazu i audio; endpointy czatu i tekstu nie są częścią API PopNow.
Utwórz wideo
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"
}'Jak pola przekładają się na dane wejściowe modelu:
| Pole OpenAI | Staje się |
|---|---|
model | ID modelu wideo z /v1/models |
prompt | prompt |
input_reference | image_url / image_urls (URL HTTPS albo przesłany plik popnow://) |
seconds | duration_seconds |
size (SZEROKOŚĆxWYSOKOŚĆ) | resolution i/lub aspect_ratio albo width / height, gdy model przyjmuje piksele |
Pole, którego wybrany model nie obsługuje, jest odrzucane z 400, nigdy po cichu pomijane. Dla ustawień, których format OpenAI nie przewiduje, użyj natywnego createTask.
Odczyt i pobieranie
Stany przekładają się tak: queued → queued, running → in_progress, succeeded → completed, a failed / expired → failed z obiektem error. GET /v1/videos/{id}/content odpowiada 302 na krótko ważny podpisany link — niech klient podąża za przekierowaniami —, 409, gdy wideo jeszcze powstaje, i 404, gdy się nie udało.
Zwracane obiekty nigdy nie zawierają cen. Koszt odczytasz natywnym recordInfo z tym samym ID.
Błędy
Błędy mają format OpenAI { "error": { "message", "type", "param", "code" } } z takim samym statusem HTTP, jaki zwróciłoby natywne API. Odmowa z powodu treści to HTTP 400 z code: "content_rejected", więc odróżnisz ją od błędu parametru (invalid_request albo unsupported_parameter, a param wskazuje pole).
Lista kontrolna przed wdrożeniem
Co sprawdzić, zanim prawdziwi użytkownicy zaczną polegać na twojej integracji — klucze, ponowienia, webhooki, przechowywanie, koszty i monitoring.
Agenci AI i MCP
Jak już dziś używać API PopNow z Claude, ChatGPT, Cursora i innych agentów — i co doda serwer MCP, gdy ruszy.

