Dokumentacja API Hop
Generowanie wideo Seedance 2.0
Parametry Seedance 2.0 dla tekstu, pierwszej/ostatniej klatki, wejścia multimodalnego i generowania dźwięku.
https://api.apihop.ai/v1/video/seedanceUtwórz asynchroniczne zadanie Seedance 2.0. Dla Seedance 2.5 skorzystaj z oddzielnej dokumentacji parametrów.
Uwierzytelnianie
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonTreść żądania
modelstringWymaganeseedance-2.0 lub jego alias seedance-2-0.
promptstringPrompt wideo. Wymagany przy generowaniu wyłącznie z tekstu; można go pominąć lub pozostawić pusty, gdy dostarczono referencje obrazowe lub wideo. Sam dźwięk nie jest prawidłowym wejściem. Elementy tekstowe w metadata.content są odrzucane; używany jest tylko ten prompt na najwyższym poziomie.
secondsstringWartość domyślna: 5Ciąg znaków liczby całkowitej od "4" do "15". Akceptowany jest także liczbowy alias duration. Jeśli podano oba, muszą być zgodne. Automatyczny czas trwania (-1) nie jest obsługiwany.
sizestringWartość domyślna: 720pRozdzielczość wyniku: 480p, 720p, 1080p lub 4k. Nie są to proporcje. Kolejność pierwszeństwa rozdzielczości: metadata.resolution, size, następnie resolution.
aspectRatiostringWartość domyślna: 16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9 lub adaptive. aspect_ratio i ratio są aliasami; metadata.ratio ma pierwszeństwo. Używaj jednego aliasu dla każdego ustawienia.
metadataobjectPrzyjmuje resolution, ratio, content i generate_audio. Ustaw generate_audio na wartość logiczną, aby sterować generowanym dźwiękiem. generateAudio / generate_audio na najwyższym poziomie są aliasami; podaj tylko jedno ustawienie dźwięku.
imagesstring[]Skrócony zapis obrazów: pierwszy obraz to pierwsza klatka, a drugi to ostatnia. Do precyzyjnego określenia ról używaj metadata.content. Istniejące aliasy imageUrls, imageUrl, image_urls i image_url nadal są akceptowane z tą samą semantyką klatek.
imageWithRolesobject[]Obrazy z url i role: first_frame, last_frame lub reference_image. image_with_roles jest aliasem. Obie wersje przyjmują także metadata.content z określonymi typami.
videoUrlsstring[]Referencyjne wideo. videoUrl, video_urls i video_url są aliasami.
audioUrlsstring[]Referencyjny dźwięk. audioUrl, audio_urls i audio_url są aliasami. Wymaga referencji obrazowej lub wideo w tym samym żądaniu.
callback_urlstringOpcjonalny natywny adres URL wywołania zwrotnego. Dostępność zależy od wybranego kanału; traktuj GET https://api.apihop.ai/v1/jobs/{jobId} jako wiążący wynik.
Treść multimodalna
Każdy element multimedialny metadata.content zawiera odpowiadający mu zagnieżdżony obiekt URL. Adresy multimediów mogą używać publicznych adresów URL HTTP(S) lub istniejących identyfikatorów asset://.
| Typ | Pole URL | Role |
|---|---|---|
image_url | image_url.url | first_frame, last_frame, reference_image |
video_url | video_url.url | reference_video |
audio_url | audio_url.url | reference_audio |
Akceptowanych jest do 9 obrazów, 3 plików wideo i 3 plików audio, łącznie ze skróconym zapisem i treścią z określonym typem. Dźwięk wymaga obrazu lub wideo. draft_task nie jest obsługiwane. Używaj prompt na najwyższym poziomie zamiast elementów treści type: "text". Pola najwyższego poziomu first_frame_url, last_frame_url, reference_image_urls, reference_video_urls i reference_audio_urls są skrótami dla określonych ról. Niewymienione pola wewnątrz elementów treści nie są przekazywane dalej.
Nieobsługiwane ustawienia, takie jak negativePrompt, seed, returnLastFrame, nsfwCheck, tools, webhook, watermark, outputFormat i ich aliasy w formacie snake_case, są odrzucane. width, height, fps, cfgScale, steps i style nie są obsługiwane.
Przykłady żądań
Tekst na wideo
{
"model": "seedance-2.0",
"prompt": "A quiet city street at dawn, slow forward camera movement",
"seconds": "5",
"size": "720p",
"metadata": {"ratio": "16:9", "generate_audio": true}
}Pierwsza i ostatnia klatka
{
"model": "seedance-2.0",
"seconds": "5",
"metadata": {
"resolution": "720p",
"ratio": "9:16",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/first.jpg"}, "role": "first_frame"},
{"type": "image_url", "image_url": {"url": "https://example.com/last.jpg"}, "role": "last_frame"}
]
}
}Referencje obrazowe i dźwiękowe
{
"model": "seedance-2.0",
"prompt": "Animate the scene to match the rhythm",
"metadata": {
"resolution": "720p",
"generate_audio": true,
"content": [
{"type": "image_url", "image_url": {"url": "asset://existing-image-id"}, "role": "reference_image"},
{"type": "audio_url", "audio_url": {"url": "https://example.com/beat.mp3"}, "role": "reference_audio"}
]
}
}Zgłoszenie i wynik
Pole data odpowiedzi zawiera jobId, status, model i message. Powodzenie zgłoszenia oznacza przyjęcie zadania, a nie jego zakończenie. Odpytuj GET https://api.apihop.ai/v1/jobs/{jobId} kluczem API tego samego konta. Zobacz pobieranie zadania asynchronicznego.
Gdy stan to COMPLETED, odczytaj data.outputResult. Akceptuj zarówno ciąg znaków url, jak i tablicę adresów URL w każdym obiekcie wyniku. Opłaty zależą od rzeczywistych tokenów wygenerowanego wyniku i rozdzielczości wyjściowej; referencje wideo wybierają stawkę wejścia wideo, a referencje obejmujące wyłącznie obraz/dźwięk tego nie robią.