Przejdź do treści

Dokumentacja programisty UlazAI

Dokumentacja Seedance API: generowanie, status, 1080p i wycena

Referencja Seedance 1.5 Pro

Dokumentacja Seedance API

Aby skorzystać z Seedance API, uwierzytelnij się kluczem okaziciela, użyj POST /seedance/generate/ tworzyć miejsca pracy i przeprowadzać ankiety GET /seedance/status/{generation_id}/ dopóki film nie będzie gotowy. UlazAI obsługuje obecnie wyjście Seedance 1.5 Pro 480p, 720p i 1080p o czasie trwania 4, 8 lub 12 sekund.

Podstawowe punkty końcowe

POST /seedance/upload/

POST /seedance/generate/

GET /seedance/status/{generation_id}/

Aktualne możliwości

Tekst na wideo i obraz na wideo

Do 2 obrazów przewodników

Opcjonalny natywny dźwięk

Wskazówka

Ta strona odpowiada na cały przebieg działania programisty na pierwszym ekranie: generowanie punktu końcowego, odpytywanie stanu, obsługa 1080p, uwierzytelnianie nośnika i trasa cenowa.

Użyj /seedance/upload/ tylko wtedy, gdy potrzebujesz generowania wideo sterowanego obrazem. W przypadku wiadomości tekstowych zadzwoń /seedance/generate/ bezpośrednio i pomiń krok przesyłania.

Rodzina modeli Seedance: 1.5 Pro, 2.0 i 2.5

Seedance to model przetwarzania tekstu na wideo i obrazu na wideo firmy ByteDance. ByteDance uruchomiło pierwszy Seedance w czerwcu 2025 r., wydany Siedzenie 2.0 w lutym 2026 r. i od tego czasu pokazuje Seedacja 2.5. Każdy generacja kontynuuje tę samą podstawową ideę: kinowy ruch, mocniejsze sceny po prompt, odniesienia do obrazów i wideo oraz opcjonalny natywny dźwięk w jednym renderowaniu. Przewodnik API obejmuje aktualnie obsługiwane Wersje Seedance bez konieczności konfigurowania własnej platformy ByteDance.

WersjaWydany przez ByteDanceCo dodaje
Seedance 1.5 Pro2025Tekst i obraz na wideo, do 2 obrazów pomocniczych, opcjonalny dźwięk, 480p/720p/1080p. Dzisiaj podłączono do UlazAI.
Seedance 2.0luty 2026Wejścia multimodalne (tekst, obraz, wideo, audio), opowiadanie historii z wielu kamer, natywna kogeneracja dźwięku, dłuższe klipy.
Seedance 2.52026Najnowszy krok pokazany przez ByteDance ma na celu szybsze generowanie oraz dalsze korzyści w zakresie jakości i kontroli.

Ten sam kod, nowszy model

Publiczne UlazAI API generuje za pomocą bytedance/seedance-1.5-pro dzisiaj. Ważna część dla programistów: gdy włączona jest tutaj nowsza wersja Seedance, ponownie wykorzystuje plik to samo Uwierzytelnienie na okaziciela i to samo wygeneruj i odpytuj punkty końcowe poniżej. Twoja integracja się nie zmienia – zmienia się tylko identyfikator modelu – tak możesz teraz bazować na tym odniesieniu, a później przenieść rodzinę w górę.

ByteDance i ARK: oficjalny model, jedna ujednolicona trasa

Osoby szukające Oficjalna dokumentacja ByteDance Seedance lub Nasiona arki API zazwyczaj szukają dwóch różnych rzeczy: samego modelu i sposobu, aby go nazwać. Seedance należy do ByteDance własny model, opublikowany przez Volcano Engine firmy ByteDance ARKA platforma. Ta trasa oznacza utworzenie ARK konto, dostęp do regionu i punkty końcowe modelu surowego.

UlazAI znajduje się przed nią jako warstwa API innej firmy. Dostajesz jeden klucz na okaziciela, gospodarz przesyłanie obrazu step, wspólny portfel kredytowy i mały zestaw punktów końcowych na tej stronie — brak ARK wdrożenia, brak regionalnego obejścia oraz brak VPN lub chińskiego numeru telefonu umożliwiającego połączenie się z modelem. Jeśli specjalnie szukałeś Przesyłanie zdjęć ARK API Seedance, odpowiednikiem tutaj jest pojedyncze wywołanie: POST /seedance/upload/ zwraca stały adres URL, na który wchodzisz input_urls podczas generowania (zobacz punkt końcowy przesyłania poniżej).

Koncepcje ARK odwzorowane na tym API

Jeśli już przeczytałeś dokumentację ARK ByteDance, słownictwo jest inne, ale kroki są takie same. Oto bezpośrednie tłumaczenie:

Na ByteDance ARK Tutaj Co się dla Ciebie zmienia
Konfiguracja konta ARK, projektu i punktu końcowego Jeden klucz na okaziciela Brak możliwości wdrożenia platformy przed pierwszą rozmową.
Hostuj obraz przewodnika samodzielnie, podaj publiczny adres URL POST /seedance/upload/ Możesz wysłać surowy plik; odpowiedź zawiera stały adres URL.
Identyfikator modelu w treści żądania model pole Ten sam pomysł; pomiędzy wersjami zmienia się tylko identyfikator.
Odpytuj zadanie, aż zostanie ukończone GET /seedance/status/{generation_id}/ Ten sam kształt odpytywania, jeden punkt końcowy.

Obraz do wideo w dwóch rozmowach

Oto cały proces przesyłania obrazu. Pierwsze wywołanie przechowuje obraz i zwraca adres URL, drugie wywołanie wykorzystuje ten adres URL jako wizualną wskazówkę dotyczącą filmu.

Jeden przesłany nieruchomy obraz po lewej stronie, zasilający sekwencję wygenerowanych klatek wideo po prawej stronie
# 1. upload the guide image
curl -X POST https://ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -F "[email protected]"

# -> {"url": "https://cdn.ulazai.com/uploads/<id>.jpg"}

# 2. generate, passing that URL back in input_urls
curl -X POST https://ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "slow dolly in, warm evening light",
        "input_urls": ["https://cdn.ulazai.com/uploads/<id>.jpg"],
        "resolution": "1080p"
      }'

Możesz przekazać maksymalnie dwa adresy URL input_urls. Na początek czytane są dwa obrazy i odniesienie końcowe, co jest typowym sposobem na zachowanie spójności znaku lub produktu w całej witrynie klip. W przypadku generowania wyłącznie tekstu całkowicie pomiń wywołanie przesyłania.

Szybkie podsumowanie integracji

Autoryt Klucz na okaziciela API od /dashboard/ -> Klucze API
Identyfikator modelu bytedance/seedance-1.5-pro
Czasy trwania 4s, 8s, 12s
Uchwały 480p, 720p, 1080p
Proporcje proporcji 1:1, 21:9, 4:3, 3:4, 16:9, 9:16
Wejścia Tylko Prompt lub prompt plus maksymalnie 2 adresy URL obrazów
Przepływ odpytywania Utwórz pracę, sklep generation_id, a następnie stan ankiety do completed

Podsumowanie publicznego punktu końcowego

Metoda Punkt końcowy Kiedy go używać
POST /seedance/upload/ Jeśli chcesz uzyskać wskazówki dotyczące konwersji obrazu na film, najpierw prześlij obraz
POST /seedance/generate/ Utwórz zadanie generacji Seedance 1.5 Pro
DOBIERZ /seedance/status/{generation_id}/ Sprawdź, czy zadanie jest nadal przetwarzane, zakończone lub nie powiodło się

Uwierzytelnianie

Wszystkie żądania API wymagają tokena okaziciela:

Authorization: Bearer YOUR_API_KEY

Zdobądź klucz API ze swojego pulpitu nawigacyjnego pod Klucze API. Jeśli nadal potrzebujesz kredytów, przejdź do pakiety pierwszy.

POST /seedance/upload/

Prześlij obrazy wejściowe, aby uzyskać wskazówki dotyczące konwersji obrazu na wideo

Prześlij obraz przewodnika przed wygenerowaniem, jeśli chcesz, aby Seedance zakotwiczył kompozycję, kadrowanie postaci lub konfigurację sceny. W odpowiedzi otrzymasz stały adres URL, pod który możesz przejść input_urls.

Nagłówki żądań

Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data

Parametry danych formularza

plik * (plik)

JPG, PNG lub WebP, do 10 MB.

Odpowiedź na sukces (200)

{
  "success": true,
  "url": "https://media.ulazai.com/seedance_images/u1_abc123.jpg",
  "filename": "seedance_images/u1_abc123.jpg"
}

Przykładowe użycie (cURL)

curl -X POST https://api.ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg"
POST /seedance/generate/

Utwórz zadanie generacji Seedance 1.5 Pro

Wyślij poniższy uproszczony ładunek lub jawny model plus input formatować. Użyj uproszczonej wersji, jeśli potrzebujesz tylko publicznej trasy Seedance z prompt, opcjonalnymi obrazami przewodników i ustawieniami wyjściowymi.

Treść żądania (prosta)

{
  "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
  "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
  "aspect_ratio": "16:9",
  "resolution": "1080p",
  "duration": "4",
  "fixed_lens": true,
  "generate_audio": false,
  "prompt_directory_optin": true
}

Treść żądania (model/styl wejściowy)

{
  "model": "bytedance/seedance-1.5-pro",
  "input": {
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": "8",
    "fixed_lens": true,
    "generate_audio": true
  }
}

Parametry

prompt * (ciąg)

Od 3 do 2500 znaków opisujących scenę, ruch, kadrowanie i intencję dźwiękową.

input_urls (tablica)

Opcjonalne. Maksymalnie 2 adresy URL obrazów do wskazówek dotyczących konwersji obrazu na wideo.

aspect_ratio (ciąg)

Jeden z: 1:1, 21:9, 4:3, 3:4, 16:9, 9:16.

rozdzielczość (ciąg)

Jedna z: 480p, 720p, 1080p.

czas trwania (ciąg)

4, 8 lub 12 sekund.

fixed_lens (wartość logiczna)

Włącz, aby uzyskać bardziej stabilny widok z kamery.

generate_audio (wartość logiczna)

Włącz zsynchronizowane generowanie dźwięku. Zwiększa to wykorzystanie kredytu.

prompt_directory_optin (wartość logiczna)

Opcjonalne. Udostępnij kwalifikujące się prompt w katalogu prompt i zastosuj zniżkę, jeśli jest obsługiwana.

Odpowiedź na sukces (200)

{
  "success": true,
  "generation_id": "abc12345-1234-1234-1234-123456789012",
  "task_id": "seedance_task_xyz789",
  "credits_used": 40,
  "directory_discount_applied": true,
  "message": "Video generation started. This may take a few minutes."
}
DOBIERZ /seedance/status/{generation_id}/

Stan zadania ankiety

Sonduj ten punkt końcowy do momentu opuszczenia zadania processing. Jeśli się powiedzie, otrzymasz z powrotem adres URL filmu; na niepowodzeniu powinieneś sprawdzić błąd i spróbować ponownie z poprawionym ładunkiem.

Przetwarzanie odpowiedzi

{
  "success": true,
  "status": "processing",
  "message": "Video is being generated..."
}

Odpowiedź na sukces (200)

{
  "success": true,
  "status": "completed",
  "video_url": "https://media.ulazai.com/seedance_outputs/video.mp4"
}

Przykłady kodu: cURL, Python i JavaScript

Pełny proces to przesyłanie → przechowywanie generation_id → stan ankiety. Oto wywołanie generowania w trzech typowych stosach; zamień swój własny klucz i prompt.

ZWIŃ

curl -X POST https://api.ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4"
  }'

Python (żądania)

import time, requests

BASE = "https://api.ulazai.com"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

# 1. Start the job
job = requests.post(f"{BASE}/seedance/generate/", headers=HEADERS, json={
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4",
}).json()
generation_id = job["generation_id"]

# 2. Poll until it leaves "processing"
while True:
    status = requests.get(f"{BASE}/seedance/status/{generation_id}/", headers=HEADERS).json()
    if status.get("status") == "completed":
        print("Video:", status["video_url"])
        break
    if status.get("status") == "failed":
        raise RuntimeError(status)
    time.sleep(8)  # back off; do not hammer generate

JavaScript (pobierz)

const BASE = "https://api.ulazai.com";
const HEADERS = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" };

const job = await fetch(`${BASE}/seedance/generate/`, {
  method: "POST",
  headers: HEADERS,
  body: JSON.stringify({
    prompt: "A cinematic close-up of a chef flipping noodles in slow motion",
    aspect_ratio: "16:9",
    resolution: "1080p",
    duration: "4",
  }),
}).then(r => r.json());

const id = job.generation_id;
let video;
while (!video) {
  const s = await fetch(`${BASE}/seedance/status/${id}/`, { headers: HEADERS }).then(r => r.json());
  if (s.status === "completed") video = s.video_url;
  else if (s.status === "failed") throw new Error(JSON.stringify(s));
  else await new Promise(r => setTimeout(r, 8000));  // poll every ~8s
}
console.log("Video:", video);

Przepływ użytkowania

  1. Prześlij jeden lub dwa obrazy przewodników za pomocą /seedance/upload/ tylko wtedy, gdy potrzebujesz wskazówek dotyczących konwersji obrazu na wideo.
  2. Zadzwoń /seedance/generate/ z prompt, ustawieniami wyjściowymi i opcjonalnymi input_urls.
  3. Przechowuj zwrócone generation_id.
  4. Ankieta /seedance/status/{generation_id}/ aż status staje się completed.
  5. Użyj zwróconego video_url aby pobrać, osadzić lub przekazać końcowy zasób do własnego przepływu pracy.

Kody błędów

400 Nieprawidłowe parametry żądania

401 Uwierzytelnienie nie powiodło się (brak lub nieprawidłowy klucz API)

402 Niewystarczające kredyty

429 Przekroczono limit stawki

500 Wewnętrzny błąd serwera

Ceny i limity stawek

Rozliczanie Seedance w UlazAI opiera się na kredytach, więc koszty skalują się w zależności od rozdzielczości i czasu trwania, a nie stałej stawki za sekundę. Użyj tego jako przewodnika planowania; rzeczywisty koszt kredytu jest pokazany w pakiety oraz w momencie żądania.

WyjścieTypowe zastosowanieSterownik kosztów
480pSzkice i szybkie iteracjeNajniższe kredyty na sekundę
720pKlipy gotowe do użytku społecznościowegoŚrednie kredyty na sekundę
1080pOstateczna dostawaNajwyższe kredyty na sekundę; dłuższe okresy kosztują więcej

Limity szybkości i obsługa 429: jeśli prześlesz wiele ofert pracy równolegle, możesz je otrzymać 429 Rate limit exceeded. Traktuj API jako oparty na zadaniu: prześlij, zapisz generation_idi ankieta /seedance/status/{generation_id}/ co 5-10 sekund, zamiast generować młotkiem. Na 429, cofnij się wykładniczo (na przykład 2, 4, 8) przed ponowną próbą.

Seedance 1.5 Pro kontra Seedance 2.0: to odniesienie obejmuje bytedance/seedance-1.5-pro, model aktualnie podłączony do Video Studio. Od tego czasu ByteDance wprowadziło Seedance 2.0 jako następną generację; gdy jest tutaj włączona, używa tego samego przepływu generowania i odpytywania oraz tego samego uwierzytelniania, więc kod integracji nie ulega zmianie — zmienia się tylko identyfikator modelu.

Często zadawane pytania

Czy UlazAI Seedance API obsługuje Seedance 2.0 i 2.5?

API generuje za pomocą bytedance/seedance-1.5-pro dzisiaj. ByteDance wypuściło Seedance 2.0 w lutym 2026 roku i od tego czasu pokazało wersję 2.5. Gdy w tym miejscu włączona jest nowsza wersja, używa ona tego samego uwierzytelniania nośnika i tych samych punktów końcowych generowania i odpytywania, więc kod integracji nie ulega zmianie — zmienia się tylko identyfikator modelu.

Jak UlazAI ma się do oficjalnego Seedance/ARK API ByteDance?

Seedance to własny model ByteDance, oferowany poprzez platformę Volcano Engine ARK firmy ByteDance. UlazAI to warstwa API innej firmy, która uruchamia Seedance za jedną uproszczoną trasą z jednym kluczem nośnika, przesyłaniem hostowanych obrazów i współdzielonym portfelem kredytowym — bez konta ARK ani punktów końcowych surowego modelu do zarządzania.

Jak przesłać obraz do konwersji obrazu na wideo Seedance?

Wyślij obraz jako dane wieloczęściowe/formularz do POST /seedance/upload/ za pomocą klucza na okaziciela. Odpowiedź zwraca stały adres URL; przekaż go (do dwóch) w input_urls tablica włączona POST /seedance/generate/. prompt zawierające wyłącznie tekst pomijają etap przesyłania.

Ile kosztuje Seedance API?

Rozliczenia opierają się na kredytach, więc koszty rosną wraz z rozdzielczością i czasem trwania. Krótka wersja robocza w rozdzielczości 480p kosztuje najmniej kredytów; 12-sekundowy render 1080p z dźwiękiem kosztuje najwięcej. Dokładny koszt jest podany w pakiety i znowu jako credits_used w odpowiedzi generującej.

Czy Seedance jest dostępny na całym świecie poprzez API?

Tak. Do punktów końcowych HTTPS hostowanych przez UlazAI dzwonisz za pomocą klucza nośnika, więc nie jest potrzebna żadna sieć VPN, obejście regionalne ani chiński numer telefonu. Każdy serwer, który może wysłać uwierzytelnione żądanie HTTPS, może przesyłać zadania i sondować wyniki.

Gdzie iść dalej