Dokumentacja API Hop
Generowanie wideo Seedance 2.5
Parametry Seedance 2.5 dla treści multimodalnej, generowanego dźwięku i ponownego użycia zadania próbnego.
https://api.apihop.ai/v1/video/seedanceUtwórz asynchroniczne zadanie Seedance 2.5. Dla Seedance 2.0 skorzystaj z oddzielnej dokumentacji parametrów.
Uwierzytelnianie
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonTreść żądania
modelstringWymaganeseedance-2.5.
promptstringPrompt wideo. Wymagany przy generowaniu wyłącznie z tekstu; można go pominąć lub pozostawić pusty, gdy dostarczono referencje obrazowe/wideo. Pomiń go przy ponownym użyciu draft_task. Elementy tekstowe metadata.content są odrzucane; wiążący jest prompt na najwyższym poziomie.
durationnumberWartość domyślna: 5Liczba całkowita od 4 do 30 lub -1 dla automatycznego czasu trwania. Natywne seconds przyjmuje równoważny ciąg znaków liczby całkowitej. Akceptowane jest także metadata.duration. Podane aliasy czasu trwania muszą być zgodne. Przy ponownym użyciu draft_task pomiń wszystkie ustawienia czasu trwania.
resolutionstringWartość domyślna: 720p480p, 720p lub 1080p. Natywne size może określać rozdzielczość; metadata.resolution ma pierwszeństwo. 4k nie jest obsługiwane.
aspectRatiostringWartość domyślna: 16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9 lub adaptive. Akceptowane są aspect_ratio, ratio i metadata.ratio. Istniejące wartości proporcji w size nadal są przyjmowane dla zgodności, ale wartość rozdzielczości w size oznacza rozdzielczość. Wejście pierwszej/ostatniej klatki wymaga adaptive; ta wartość jest wybierana, gdy podano role klatek bez jawnych proporcji.
metadataobjectPrzyjmuje resolution, ratio, duration, content, generate_audio i output_format. Ustaw generate_audio na wartość logiczną dla generowanego dźwięku. generateAudio / generate_audio na najwyższym poziomie są aliasami; używaj tylko jednego ustawienia dźwięku.
imageUrlsstring[]Obrazy referencyjne. images, imageUrl, image_urls i image_url są aliasami. Natywny skrót images używa pierwszych dwóch obrazów jako pierwszej/ostatniej klatki; imageUrls zachowuje semantykę obrazów referencyjnych.
imageWithRolesobject[]Obrazy o określonych rolach z url i role: first_frame, last_frame lub reference_image. image_with_roles jest aliasem. Akceptowane jest 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 obrazu lub wideo w tym samym żądaniu.
outputFormatstringWartość domyślna: mp4Tylko mp4. Akceptowane są output_format i metadata.output_format. mov i watermark nie są obsługiwane.
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
Adresy multimediów mogą używać publicznych adresów URL HTTP(S) lub istniejących identyfikatorów asset://.
| Typ | Zagnieżdżone pole | 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 |
draft_task | draft_task.id | Bez roli; tylko ponowne użycie próbki |
Akceptowanych jest do 30 obrazów, 10 plików wideo i 10 plików audio, maksymalnie 50 elementów multimedialnych łącznie, w skróconym zapisie i treści z określonym typem. Dźwięk wymaga obrazu lub wideo. Używaj prompt na najwyższym poziomie zamiast treści type: "text". Podawaj tylko jeden alias dla każdego ustawienia. Nieobsługiwane ustawienia są odrzucane. 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.
Ponowne użycie zadania próbnego
draft_task jest dostępne wyłącznie w Seedance 2.5. Ponownie wykorzystuje istniejącą zgodną ukończoną próbkę; ta strona nie definiuje ustawień tworzenia próbek.
metadata.contentmusi zawierać dokładnie jeden elementdraft_task.- Preferuj
jobIdistniejącej próbki Synapse zapisany jako dziesiętny ciąg znaków wdraft_task.id. Akceptowany jest także istniejący zapisany identyfikator platformytask_...; nie używaj surowego identyfikatora zadania dostawcy ani nie wymyślaj identyfikatora. - Próbka musi należeć do tego samego konta, używać tego samego modelu i kanału przetwarzania, być ukończona i utworzona mniej niż 7 dni temu.
- Nie podawaj promptu, wejść obrazowych/wideo/audio, czasu trwania, proporcji, ziarna,
generate_audio, formatu wyjściowego aniomni_reference_task_type. Ustawienia próbki są używane ponownie. - Można podać rozdzielczość wyjściową.
Kontrole zgodności i własności mogą odrzucić ponowne użycie nawet wtedy, gdy wskazane zadanie zakończyło się pomyślnie. Nie zakładaj, że każde zwykłe generowanie jest próbką nadającą się do ponownego użycia.
Przykłady żądań
Referencja multimodalna
{
"model": "seedance-2.5",
"prompt": "Keep the referenced character and camera movement in a coherent film",
"seconds": "8",
"size": "720p",
"metadata": {
"ratio": "16:9",
"generate_audio": true,
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/character.png"}, "role": "reference_image"},
{"type": "video_url", "video_url": {"url": "https://example.com/camera.mp4"}, "role": "reference_video"},
{"type": "audio_url", "audio_url": {"url": "https://example.com/music.mp3"}, "role": "reference_audio"}
]
}
}Pierwsza i ostatnia klatka
{
"model": "seedance-2.5",
"duration": 5,
"metadata": {
"ratio": "adaptive",
"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"}
]
}
}Użyj ponownie istniejącej próbki
Zastąp EXISTING_SAMPLE_JOB_ID zwróconym jobId rzeczywistej, zgodnej i ukończonej próbki. Poniższy symbol zastępczy nie jest działającym identyfikatorem zadania.
{
"model": "seedance-2.5",
"metadata": {
"resolution": "1080p",
"content": [
{"type": "draft_task", "draft_task": {"id": "EXISTING_SAMPLE_JOB_ID"}}
]
}
}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, jak i tablicę jako wartość url w każdym obiekcie wyniku.