- Wersja 1 (tryb klasyczny): obsługuje parametry
duration(10/15/25 sekund),orientation(poziomo/pionowo),size(mała/duża jakość), referencyjne obrazyimage_urls, link do ###character_urlitp. - Wersja 2 (tryb partnera): obsługuje parametry
seconds(4/8/12 sekund), rozdzielczość na poziomie pikselisize(np. 1280x720), referencyjne obrazyinput_referenceitp.
Proces aplikacji
Aby korzystać z Sora Videos Generation API, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój token API, który należy zachować na przyszłość.
Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę.
Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Przy pierwszym wniosku przyznawana jest darmowa kwota, aby można było skorzystać z bezpłatnej wersji; w przypadku niewystarczającego salda można doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: Sora Videos Generation API →
Podstawowe użycie (Wersja 1)
Najpierw zapoznaj się z podstawowym sposobem użycia Wersji 1, polegającym na wprowadzeniu słowa kluczowegoprompt, tablicy linków do obrazów image_urls oraz modelu model, aby uzyskać przetworzony wynik, szczegóły są następujące:

accept: format odpowiedzi, który chcemy otrzymać, tutaj wpisujemyapplication/json, czyli format JSON.authorization: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.
model: model generujący wideo, obsługującysora-2(tryb standardowy) isora-2-pro(tryb HD). Modelsora-2-proobsługuje wideo o długości 25 sekund, podczas gdysora-2obsługuje tylko 10 i 15 sekund.size: jakość wideo,smallto standardowa jakość,largeto jakość HD (tylko Wersja 1).duration: długość wideo, obsługująca 10, 15, 25 sekund, z czego 25 sekund obsługuje tylkosora-2-pro(tylko Wersja 1).orientation: kierunek obrazu, obsługującylandscape(poziomo),portrait(pionowo) (tylko Wersja 1).image_urls: tablica linków do obrazów referencyjnych, używana do generowania wideo (tylko Wersja 1).character_url: link do ###, wideo nie może zawierać prawdziwych ludzi (tylko Wersja 1).character_start/character_end: czas pojawienia się postaci, różnica w zakresie od 1 do 3 sekund (tylko Wersja 1).prompt: słowo kluczowe (wymagane).callback_url: URL do asynchronicznego zwrotu wyników.async: opcjonalne, ustawione natrue, interfejs natychmiast zwracatask_id, nie ma potrzeby podawaniacallback_url, a następnie można uzyskać wyniki, korzystając z odpowiedniego interfejsu zapytań o zadania.version: wersja API,"1.0"(domyślnie) lub"2.0".

success, status zadania generowania wideo w danym momencie.task_id, ID zadania generowania wideo w danym momencie.trace_id, ID śledzenia generowania wideo w danym momencie.data, lista wyników zadania generowania wideo w danym momencie.id, ID wideo zadania generowania wideo w danym momencie.video_url, link do wideo zadania generowania wideo w danym momencie.state, status zadania generowania wideo w danym momencie.
data uzyskamy wygenerowane wideo Sora.
Dodatkowo, jeśli chcesz wygenerować odpowiedni kod integracyjny, możesz go bezpośrednio skopiować, na przykład kod CURL wygląda następująco:
Zadanie generowania wideo z obrazów (Wersja 1)
Jeśli chcesz przeprowadzić zadanie generowania wideo z obrazów, najpierw parametrimage_urls musi zawierać linki do referencyjnych obrazów, aby można było określić następujące treści:
image_urls: tablica linków do obrazów referencyjnych używanych w tym zadaniu generowania wideo. Należy pamiętać, aby nie przesyłać prawdziwych obrazów z postaciami z twarzami, ponieważ może to spowodować niepowodzenie zadania.


Zadanie generowania wideo z postacią (Wersja 1)
Jeśli chcesz przeprowadzić zadanie generowania wideo z postacią, najpierw parametrcharacter_url musi zawierać link do wideo potrzebnego do stworzenia postaci, pamiętaj, że w wideo nie mogą pojawiać się prawdziwe osoby, w przeciwnym razie operacja zakończy się niepowodzeniem, można określić następujące treści:
- character_url: link do wideo potrzebnego do stworzenia postaci, pamiętaj, że w wideo nie mogą pojawiać się prawdziwe osoby, w przeciwnym razie operacja zakończy się niepowodzeniem.


Tryb Wersja 2.0
Oprócz powyższego trybu Wersja 1.0, to API obsługuje również tryb Wersja 2.0, który można włączyć, ustawiając parametrversion na "2.0". Tryb Wersja 2.0 obsługuje krótszy czas trwania wideo oraz kontrolę rozdzielczości na poziomie pikseli.
Opis parametrów Wersji 2.0
Podstawowy przykład
Użycie obrazów referencyjnych (Wersja 2.0)
W trybie Wersja 2.0 można przekazać obrazy referencyjne za pomocą parametruimage_urls, aby prowadzić generację wideo (używając tylko pierwszego obrazu):
Uwaga: Wymiary obrazów referencyjnych powinny być zgodne z parametremsize, na przykład, gdysizewynosi1280x720, wymiary obrazu referencyjnego powinny wynosić 1280×720.
Porównanie parametrów Wersji 1.0 i Wersji 2.0
Asynchroniczny callback
Ponieważ czas generacji wideo przez API Sora jest stosunkowo długi, wynosi około 1-2 minut, jeśli API nie odpowiada przez dłuższy czas, żądanie HTTP będzie utrzymywać połączenie, co prowadzi do dodatkowego zużycia zasobów systemowych, dlatego to API oferuje również wsparcie dla asynchronicznych callbacków. Cały proces polega na tym, że klient inicjuje żądanie, dodatkowo określając polecallback_url, po wysłaniu żądania API natychmiast zwraca wynik, zawierający pole task_id, które reprezentuje bieżące ID zadania. Po zakończeniu zadania wynik generacji wideo zostanie wysłany do określonego przez klienta callback_url w formie POST JSON, w tym również zawierając pole task_id, dzięki czemu wyniki zadania można powiązać za pomocą ID.
Poniżej przedstawiamy przykład, aby zrozumieć, jak to działa.
Najpierw, callback Webhook to usługa, która może odbierać żądania HTTP, deweloperzy powinni zastąpić to URL swojego serwera HTTP. Dla wygody demonstracji używamy publicznej strony przykładowej Webhook https://webhook.site/, otwierając tę stronę można uzyskać URL Webhook, jak pokazano na obrazku:
Skopiuj ten URL, aby użyć go jako Webhook, przykładowy URL to https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa.
Następnie możemy ustawić pole callback_url na powyższy URL Webhook, jednocześnie wypełniając odpowiednie parametry, szczegóły jak na obrazku:

https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa zaobserwować wynik generacji wideo, jak pokazano na obrazku:
Treść jest następująca:
task_id, a inne pola są podobne do powyższych, dzięki czemu można powiązać zadanie za pomocą tego pola.
Obsługa błędów
Podczas wywoływania API, jeśli wystąpią błędy, API zwróci odpowiedni kod błędu i informacje. Na przykład:400 token_mismatched: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.400 api_not_implemented: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.401 invalid_token: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.429 too_many_requests: Zbyt wiele żądań, przekroczono limit.500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

