Seedance 2.0
Generuj wideo za pomocą modelu Seedance 2.0, używając tekstu, pierwszej i ostatniej klatki lub referencji multimodalnych. Ta strona opisuje pełny proces od wysłania żądania do otrzymania gotowego wyniku.
ID modelu w API: seedance-2-0
Generowanie odbywa się asynchronicznie. Zapisz identyfikator taskId zwrócony przy tworzeniu zadania, a następnie odpytuj o jego status lub odbierz webhook.
Możliwości
| Funkcja | Obsługiwane wartości |
|---|---|
| Rozdzielczość wyjściowa | 480p · 720p · 1080p · 4k |
| Czas trwania wyniku | 4–15 s |
| Proporcje obrazu | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive |
| Obrazy referencyjne | Maksymalnie 9 zdjęć |
| Wideo referencyjne | Maksymalnie 3 filmów |
| Pliki audio referencyjne | Maksymalnie 3 plików dźwiękowych |
| Suma wszystkich plików referencyjnych | Łącznie maksymalnie 12 plików referencyjnych |
| Łączny czas trwania na grupę wideo/audio | Sekundy: 15 |
| seed | -1 do 4294967295 |
Cennik i kredyty
Generowanie wideo jest rozliczane w kredytach na podstawie naliczanego czasu trwania w sekundach. Bez wejściowego pliku wideo naliczany czas trwania odpowiada długości wygenerowanego materiału; w przypadku korzystania z wejściowego pliku wideo uwzględnia się również czas trwania wideo referencyjnego.
Poniższa tabela przedstawia liczbę kredytów pobieranych za sekundę, a nie całkowity koszt zadania. Stawka zależy od modelu, rozdzielczości wyjściowej oraz tego, czy w trybie referencyjnym (reference-to-video) dostarczono wideo referencyjne. Wzory i przykłady obliczania całkowitego kosztu znajdują się pod tabelą.
| Rozdzielczość wyjściowa | Bez wejściowego wideo | Z wejściowym wideo |
|---|---|---|
480p | 6 kredytów/sekundę | 4 kredytów/sekundę |
720p | 12 kredytów/sekundę | 8 kredytów/sekundę |
1080p | 30 kredytów/sekundę | 20 kredytów/sekundę |
4k | 70 kredytów/sekundę | 40 kredytów/sekundę |
- Bez wejściowego wideo: sekundy wyjściowe × stawka bez wideo.
- Z wejściowym wideo: (sekundy wyjściowe + zmierzony czas trwania wejściowego wideo) × stawka z wideo. Serwer mierzy łączny czas trwania referencyjnego materiału wideo i przed naliczeniem opłaty zaokrągla go w górę do pełnych sekund.
- Użycie samych obrazów lub plików audio jako referencji rozliczane jest według stawki bez wideo. Stawka dla referencji wideo ma zastosowanie wyłącznie w trybie referencyjnym (reference-to-video), gdy dostarczono pliki wideo.
Przykłady obliczania kosztów
5-sekundowe wideo 720p z tekstu (text-to-video): 5 × 12 = 60 kredytów.
5-sekundowy wynik 720p z 5-sekundowym wideo referencyjnym: (5 + 5) × 8 = 80 kredytów.
Kredyty są rezerwowane w momencie przesłania zadania i pobierane po jego pomyślnym zakończeniu. Zadania zakończone błędem lub przerwane z powodu limitu czasu trafiają do procesu zwrotu. Status rozliczenia refund_failed oznacza, że zwrot nie został sfinalizowany – sprawdź wtedy logi API lub skontaktuj się ze wsparciem.
Uwierzytelnianie
Utwórz klucz API w panelu użytkownika. Pełny klucz zostanie wyświetlony tylko raz. Przechowuj go bezpiecznie na swoim serwerze i przesyłaj w nagłówku jako token Bearer przy każdym żądaniu.
Bazowy adres URL
https://api.seevio.aiAuthorization: Bearer sk_live_your_api_key
Content-Type: application/jsonPrzed uruchomieniem poniższych przykładów ustaw zmienną środowiskową SEEVIO_API_KEY. Przykłady w JavaScript należy uruchamiać na serwerze przy użyciu Node.js; przykłady w Pythonie korzystają z pakietu requests.
Szybki start
Wyślij to proste żądanie, zapisz zwrócony identyfikator taskId, a następnie użyj poniższego przykładu odpytywania o stan zadania. Liczba kredytów w odpowiedzi na utworzenie zadania to kwota zarezerwowana.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "text-to-video",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'Przykładowa odpowiedź na utworzenie zadania
Po zaakceptowaniu powyższego żądania interfejs API zwraca tę odpowiedź JSON. taskId to identyfikator zadania służący do późniejszego sprawdzania jego statusu, a credits określa liczbę kredytów zarezerwowanych na poczet tego zadania. Ta odpowiedź potwierdza jedynie utworzenie zadania, a nie gotowość wideo. Aby otrzymać gotowy plik wideo, należy odpytywać API o status zadania lub skorzystać z Webhooka.
{
"taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"credits": 60
}Utwórz zadanie
POST https://api.seevio.ai/v1/videos/generationsWyślij obiekt JSON zawierający model, input oraz opcjonalny callback_url. Zawsze podawaj dokładny identyfikator modelu pokazany na tej stronie; pominięcie pola model spowoduje wybranie seedance-2-0.
Treść żądania
| Pole | Typ | Wymagane | Opis i ograniczenia |
|---|---|---|---|
model | string | Tak | Identyfikator modelu. Aby użyć modelu Seedance 2.0, ustaw w tym polu wartość seedance-2-0. |
callback_url | string | Nie | Publiczny punkt końcowy HTTPS dla wywołań zwrotnych POST po zakończeniu lub błędzie zadania. Sieci prywatne i localhost nie są obsługiwane. Przykład: https://example.com/webhooks/seevio |
input | object | Tak | Ustawienia generowania. Pole musi zawierać niepusty prompt. |
Parametry wejściowe
Podaj wartości image_urls, video_urls i audio_urls jako tablice ciągów znaków URL (string[]). Każdy podany adres URL musi być publicznie dostępny przez protokół HTTPS, w tym również multimedia ignorowane przez wybrany tryb.
| Pole | Typ | Wymagane | Domyślnie | Opis i ograniczenia |
|---|---|---|---|---|
input.prompt | string | Tak | — | Prompt jest wymagany w każdym trybie. Może składać się z maksymalnie 10000 znaków (przed skróceniem) i nie może zawierać samych białych znaków. Przykład: A cat surfing at sunset |
input.generation_type | string | Nie | text-to-video | Tryb text-to-video korzysta tylko z promptu; image-to-video używa 1–2 obrazów; reference-to-video korzysta z referencji obrazu, wideo i/lub audio. Obsługiwane wartości text-to-video | image-to-video | reference-to-video |
input.image_urls | string[] | Warunkowo | [] | image-to-video: 1 obraz jako pierwsza klatka lub 2 uporządkowane obrazy jako pierwsza i ostatnia klatka. reference-to-video: maksymalnie 9 obrazów. Ignorowane w trybie text-to-video. Przykład: ["https://example.com/first-frame.jpg"] |
input.video_urls | string[] | Warunkowo | [] | Przekazywane tylko w trybie reference-to-video; maksymalnie 3 plików wideo o łącznym czasie trwania do 15 s. Ignorowane w pozostałych trybach. Przykład: ["https://example.com/source.mp4"] |
input.audio_urls | string[] | Warunkowo | [] | Przekazywane tylko w trybie reference-to-video; maksymalnie 3 plików audio o łącznym czasie trwania do 15 s. Ignorowane w pozostałych trybach. W tym modelu plik dźwiękowy nie może być jedynym materiałem referencyjnym. Jeśli podajesz parametry audio_urls, musisz również dodać co najmniej jeden obraz referencyjny w image_urls lub jeden film referencyjny w video_urls. Przykład: ["https://example.com/music.mp3"] |
input.duration | integer | Nie | 5 | Czas trwania wygenerowanego wideo jako liczba całkowita od 4 do 15 sekund. Obsługiwane wartości 4–15Przykład: 5 |
input.aspect_ratio | string | Nie | adaptive | Proporcje obrazu wyjściowego. Wartość adaptive pozwala modelowi samodzielnie określić proporcje. Obsługiwane wartości 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptivePrzykład: adaptive |
input.resolution | string | Nie | 720p | Użyj jednej z obsługiwanych rozdzielczości wyjściowych wymienionych w tym miejscu. Obsługiwane wartości 480p | 720p | 1080p | 4kPrzykład: 720p |
input.generate_audio | boolean | Nie | true | Zażądaj wygenerowania zsynchronizowanej ścieżki dźwiękowej. Obsługiwane wartości true | falsePrzykład: true |
input.watermark | boolean | Nie | false | Zażądaj dodania znaku wodnego AI do wygenerowanego wideo. Obsługiwane wartości true | falsePrzykład: false |
input.web_search | boolean | Nie | false | Zezwól na wyszukiwanie w sieci, jeśli model obsługuje tę funkcję. Obsługiwane wartości true | falsePrzykład: false |
input.return_last_frame | boolean | Nie | false | Zażądaj wyodrębnienia ostatniej klatki. Wynik zapytania będzie zawierał adres w data.last_frame_url, gdy klatka będzie gotowa; w przeciwnym razie wartość wyniesie null. Obsługiwane wartości true | falsePrzykład: true |
input.seed | integer | Nie | -1 | Liczba całkowita z zakresu od -1 do 4294967295. Wartość -1 wybiera losowe ziarno. Obsługiwane wartości -1 do 4294967295Przykład: 42 |
Pola logiczne (boolean) muszą mieć wartość true lub false w formacie JSON (nie jako ciąg znaków czy liczba).
Odpowiedź na utworzenie
Kod HTTP 200 zwraca taskId (string) oraz credits (number). Oznacza to przyjęcie zadania do realizacji, a nie jego zakończenie. Wartość poniżej odpowiada 5-sekundowemu wideo 720p z sekcji szybkiego startu.
{
"taskId": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"credits": 60
}Tryby generowania i przykłady
Tekst na wideo
Generowanie na podstawie promptu tekstowego. Adresy URL multimediów nie są przekazywane w tym trybie.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "text-to-video",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'Pierwsza klatka
Prześlij jeden obraz jako pierwszą klatkę, a następnie opisz ruch w prompcie.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "image-to-video",
"image_urls": [
"https://example.com/first-frame.jpg"
],
"aspect_ratio": "adaptive"
}
}'Pierwsza i ostatnia klatka
Prześlij dwa adresy URL obrazów w kolejności: pierwsza klatka, a następnie ostatnia klatka. Ten przykład żąda również wyodrębnienia ostatniej klatki wygenerowanego wideo.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "image-to-video",
"image_urls": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"aspect_ratio": "adaptive",
"return_last_frame": true
}
}'Referencja multimodalna
Połącz referencje obrazu, wideo i audio. Prompt tekstowy pozostaje wymagany. Przesłanie wideo referencyjnego zmienia sposób naliczania opłat.
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0",
"input": {
"prompt": "Follow the reference camera movement and keep the character consistent. Use the audio for ambience.",
"duration": 5,
"resolution": "720p",
"generation_type": "reference-to-video",
"image_urls": [
"https://example.com/character.jpg"
],
"video_urls": [
"https://example.com/camera.mp4"
],
"audio_urls": [
"https://example.com/ambience.mp3"
],
"aspect_ratio": "adaptive"
}
}'Sprawdź stan zadania
GET https://api.seevio.ai/v1/tasks/{taskId}Zastąp przykładowy identyfikator wartością taskId otrzymaną przy tworzeniu zadania. Zapytania zwracają wyłącznie zadania należące do użytkownika powiązanego z danym kluczem API; nieznane lub niedostępne identyfikatory zwracają HTTP 404.
Na początek odpytuj o stan co 10–20 sekund, wydłużaj odstępy w przypadku błędu HTTP 429 i przerwij, gdy status zmieni się na completed lub failed. W środowisku produkcyjnym zalecamy korzystanie z webhooków. Każdy poniższy przykład kodu wykonuje jedno zapytanie.
curl --fail-with-body https://api.seevio.ai/v1/tasks/3f2aK9mR7xQp4TnZ8bLc6YwH \
-H "Authorization: Bearer $SEEVIO_API_KEY"| Status | Opis i ograniczenia |
|---|---|
queued | Zaakceptowano i oczekuje na uruchomienie. |
generating | Trwa generowanie wideo. |
completed | Zakończono sukcesem. Pobierz pliki z data.results przed upływem limitu czasu. |
failed | Zakończono błędem. Sprawdź failed_reason oraz billing_status. |
| Pole | Typ | Opis i ograniczenia |
|---|---|---|
id | string | Identyfikator zadania. Jest to wartość taskId z odpowiedzi na utworzenie. |
created_at | number | Czas utworzenia zadania jako znacznik czasu Unix (w sekundach). |
model | string | Publiczny identyfikator modelu użyty do tego zadania. |
billing_status | string | Status rozliczenia: reserved (zarezerwowane), charged (pobrane), refunded (zwrócone) lub refund_failed (błąd zwrotu). |
credits | number | Kredyty zarezerwowane dla tego zadania. Wartość ta jest widoczna również po zwrocie; sprawdź billing_status, aby poznać ostateczny wynik rozliczenia. |
failed_reason | string | null | Powód błędu dla zadań zakończonych niepowodzeniem; w przeciwnym razie null. Odpowiedzi na zapytania o błędne zadania nie zawierają obiektu data. |
data | object | Obecne w zapytaniach o zadania, które nie zakończyły się błędem. Zawiera szczegóły dotyczące wyniku i przetwarzania. |
data.results | string[] | Tablica adresów URL wygenerowanych wideo. Pusta do momentu zakończenia zadania lub po wygaśnięciu plików wideo. |
data.video_expires_at | string | null | Czas wygaśnięcia plików wideo jako znacznik czasu ISO 8601 (lub null, zanim plik będzie dostępny). Zapisz wynik przed tym czasem. |
data.last_frame_url | string | null | Adres URL ostatniej klatki (jeśli o nią wnioskowano i jest dostępna); w przeciwnym razie null. |
data.processing_time | number | null | Czas przetwarzania po stronie dostawcy w sekundach (jeśli jest dostępny); w przeciwnym razie null. |
Zakończone zadanie: odpowiedź na zapytanie z wynikowym wideo
Gdy zapytanie zwróci status=completed, oznacza to, że generowanie wideo zostało zakończone. Pobierz adresy URL materiałów wideo z pola data.results i zapisz pliki przed upływem czasu wskazanego w data.video_expires_at. Wartość billing_status=charged oznacza, że zarezerwowane kredyty zostały pobrane.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0",
"status": "completed",
"billing_status": "charged",
"credits": 60,
"failed_reason": null,
"data": {
"results": [
"https://cdn.seevio.ai/api/videos/example.mp4"
],
"video_expires_at": "2026-09-07T00:00:00Z",
"last_frame_url": null,
"processing_time": 48
}
}Nieudane zadanie: odpowiedź na zapytanie ze szczegółami błędu i rozliczenia
Gdy zapytanie zwróci status=failed, oznacza to, że generowanie zakończyło się niepowodzeniem. Przyczynę błędu znajdziesz w polu failed_reason, a wynik zwrotu środków w billing_status. W tym przykładzie status refunded oznacza, że kredyty zostały zwrócone. Pole credits zachowuje pierwotnie zarezerwowaną wartość, a odpowiedź nie zawiera obiektu data.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0",
"status": "failed",
"billing_status": "refunded",
"credits": 60,
"failed_reason": "provider_failed"
}Webhooki
Ustaw parametr callback_url w żądaniu utworzenia, aby otrzymać żądanie POST z formatem JSON, gdy zadanie zostanie zakończone sukcesem lub błędem. Zwróć odpowiedź z kodem 2xx w ciągu 15 sekund. Nieudane doręczenia są ponawiane; powtarzające się wywołania należy przetwarzać idempotentnie na podstawie identyfikatora zadania.
Twój punkt końcowy (callback endpoint) musi akceptować żądania POST z treścią w formacie JSON (Content-Type: application/json).
Utwórz zadanie z wywołaniem zwrotnym (callback)
curl --fail-with-body https://api.seevio.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEVIO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-0",
"input": {
"prompt": "A cat surfing at sunset, cinematic lighting",
"duration": 5,
"resolution": "720p",
"generation_type": "text-to-video",
"aspect_ratio": "16:9",
"generate_audio": true
},
"callback_url": "https://example.com/webhooks/seevio"
}'Zawartość webhooka różni się od odpowiedzi na zapytanie o stan zadania: nie zawiera parametrów billing_status i credits; szczegóły błędu znajdują się w data.failed_reason oraz data.credits_refunded. Pole created_at w webhooku to czas utworzenia zdarzenia (Unix timestamp).
Zadanie zakończone: struktura danych pomyślnego wywołania zwrotnego
Gdy generowanie zakończy się sukcesem, wywołanie zwrotne zawiera status=completed. Użyj parametru id do identyfikacji zadania, a data.results do pobrania adresów URL wideo. Pobierz i zapisz wyniki przed upływem czasu określonego w data.video_expires_at.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0",
"status": "completed",
"data": {
"results": [
"https://cdn.seevio.ai/api/videos/example.mp4"
],
"video_expires_at": "2026-09-07T00:00:00Z",
"last_frame_url": null,
"processing_time": 48
}
}Zadanie nie powiodło się: struktura danych błędu wywołania zwrotnego
Gdy generowanie nie powiedzie się, wywołanie zwrotne zawiera status=failed. Użyj parametru id do identyfikacji zadania, data.failed_reason, aby poznać przyczynę błędu, oraz data.credits_refunded, aby sprawdzić liczbę zwróconych kredytów.
{
"id": "3f2aK9mR7xQp4TnZ8bLc6YwH",
"created_at": 1788652800,
"model": "seedance-2-0",
"status": "failed",
"data": {
"failed_reason": "provider_failed",
"credits_refunded": 60
}
}Przykładowy odbiorca
export async function POST(request: Request) {
const callbackData = await request.json();
if (callbackData.status === "completed") {
const videoUrls = callbackData.data.results;
// Save the video URLs and mark this task as completed in your application.
console.log(callbackData.id, videoUrls);
}
if (callbackData.status === "failed") {
const { failed_reason, credits_refunded } = callbackData.data;
// Record the failure reason and refunded credits for this task.
console.error(callbackData.id, failed_reason, credits_refunded);
}
return new Response(null, { status: 200 });
}Ten przykład dla Next.js odczytuje treść wywołania zwrotnego JSON i bezpośrednio obsługuje zakończone oraz nieudane zadania. W swojej aplikacji dodaj mechanizm trwałości danych oraz deduplikację identyfikatorów zadań (task-ID). Przed potwierdzeniem odbioru wywołania zwrotnego dodaj czasochłonne operacje do kolejki.
Wymagania i ograniczenia plików
- Wszystkie adresy URL multimediów i wywołań zwrotnych muszą być publicznymi adresami HTTPS. Unikaj adresów localhost, prywatnych IP oraz plików wymagających plików cookie lub logowania. Adresy URL referencyjnych wideo/audio muszą wskazywać bezpośrednio na pliki multimedialne.
- W trybie reference-to-video prześlij co najmniej jedną referencję, maksymalnie do 9 obrazów, 3 wideo, 3 plików audio i łącznie do 12 materiałów. Łączny czas trwania wideo oraz łączny czas trwania audio nie mogą przekraczać 15 sekund każdy.
- Tryb text-to-video ignoruje wszystkie referencje multimedialne. Tryb image-to-video uwzględnia wyłącznie obrazy pierwszej/ostatniej klatki, a ignoruje referencje wideo i audio. Aby łączyć różne multimedia, użyj trybu reference-to-video.
- W modelach Seedance 2.0, ze względu na kompatybilność, używaj dźwięku w połączeniu z co najmniej jednym obrazem lub wideo. Przykłady generowania z samego dźwięku są dostępne na stronie modelu Seedance 2.5.
Wymagania dotyczące obrazów
- Rozmiar pojedynczego obrazu nie może przekraczać 30 MB.
- Obsługiwane formaty: jpeg, png, webp, bmp, tiff, gif.
- Proporcje obrazu (szerokość ÷ wysokość): od 0,4 do 2,5 włącznie.
- Szerokość i wysokość muszą mieścić się w przedziale od 300 do 6000 pikseli włącznie.
Wymagania dotyczące filmów
- Obsługiwane formaty: mp4, mov.
- Rozmiar pojedynczego pliku wideo nie może przekraczać 100 MB.
- Liczba klatek na sekundę: od 24 do 60 FPS włącznie.
- Proporcje obrazu (szerokość ÷ wysokość): od 0,4 do 2,5 włącznie.
- Całkowita liczba pikseli (szerokość × wysokość): od 407 696 do 8 295 044 włącznie. Na przykład: 614 × 664 = 407 696 oraz 3326 × 2494 = 8 295 044. Są to jedynie przykłady liczby pikseli, a nie sztywne wymagania dotyczące szerokości i wysokości.
Wymagania dotyczące dźwięku
- Obsługiwane formaty: wav, mp3.
- Rozmiar pojedynczego pliku audio nie może przekraczać 15 MB.
Błędy
Błędy HTTP zawierają obiekt error z polami code i message. Pomyślnie przyjęte zadanie może nadal zakończyć się błędem na późniejszym etapie – sprawdzaj stan zadania lub obsłuż wywołanie zwrotne (callback) informujące o błędzie.
{
"error": {
"code": "invalid_request",
"message": "input.prompt is required."
}
}| HTTP | Pole | Co zrobić |
|---|---|---|
| 400 | invalid_request | Przed ponownym wysłaniem popraw strukturę JSON, brakujący prompt, zakresy parametrów lub adresy URL multimediów. |
| 401 | invalid_api_key | Sprawdź poprawność tokenu Bearer oraz czy klucz API jest aktywny. |
| 402 | insufficient_credits | Doładuj konto lub zmniejsz koszt zadania. Odpowiedź może zawierać informacje o wymaganej i dostępnej liczbie kredytów. |
| 403 | forbidden | Sprawdź ograniczenia na poziomie konta opisane w komunikacie o błędzie. |
| 404 | not_found | Sprawdź identyfikator zadania oraz czy klucz API należy do właściciela zadania. |
| 429 | rate_limited | Odczekaj czas wskazany w nagłówku Retry-After przed ponowną próbą. |
| 500 | internal_error | Sprawdź treść błędu oraz logi API. Ponawiaj próby ostrożnie – ponowne wysłanie żądania utworzenia może wygenerować kolejne płatne zadanie. |
Limity żądań
Tworzenie zadań: każdy klucz API pozwala domyślnie na maksymalnie 100 żądań na minutę. Niestandardowe limity żądań nie są obecnie dostępne.
Zapytania o zadania: każdy klucz API pozwala domyślnie na maksymalnie 120 żądań na minutę. Zapytania i żądania utworzenia zadań są liczone oddzielnie.