Documentazione API Hop
Generazione video Seedance 2.5
Parametri di contenuto multimodale, audio generato e riutilizzo di processi bozza di Seedance 2.5.
https://api.apihop.ai/v1/video/seedanceCrea un processo asincrono Seedance 2.5. Per Seedance 2.0 usa il riferimento separato dei parametri.
Autenticazione
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonCorpo della richiesta
modelstringobbligatorioseedance-2.5.
promptstringPrompt video. Obbligatorio per la generazione da solo testo; può essere omesso o vuoto quando si forniscono riferimenti immagine/video. Omettilo per il riutilizzo di draft_task. Gli elementi di testo in metadata.content vengono scartati; fa fede il prompt di primo livello.
durationnumberPredefinito: 5Intero da 4 a 30, oppure -1 per durata automatica. Il campo nativo seconds accetta la stringa intera equivalente. È accettato anche metadata.duration. Gli alias di durata forniti devono coincidere. Ometti tutti i controlli di durata per il riutilizzo di draft_task.
resolutionstringPredefinito: 720p480p, 720p o 1080p. Il campo nativo size può specificare la risoluzione; metadata.resolution ha la precedenza. 4k non è supportato.
aspectRatiostringPredefinito: 16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9 o adaptive. Sono accettati aspect_ratio, ratio e metadata.ratio. I rapporti d’aspetto esistenti in size restano accettati per compatibilità, ma un valore di risoluzione in size indica la risoluzione. L’input del primo/ultimo fotogramma richiede adaptive, selezionato quando sono presenti ruoli dei fotogrammi senza un rapporto esplicito.
metadataobjectAccetta resolution, ratio, duration, content, generate_audio e output_format. Imposta generate_audio su un booleano per l’audio generato. I campi di primo livello generateAudio / generate_audio sono alias; usa un solo controllo audio.
imageUrlsstring[]Immagini di riferimento. images, imageUrl, image_urls e image_url sono alias. La forma nativa abbreviata images usa le prime due immagini come primo/ultimo fotogramma; imageUrls mantiene la semantica di immagine di riferimento.
imageWithRolesobject[]Immagini basate su ruoli con url e role: first_frame, last_frame o reference_image. image_with_roles è un alias. È accettato anche metadata.content tipizzato.
videoUrlsstring[]Video di riferimento. videoUrl, video_urls e video_url sono alias.
audioUrlsstring[]Audio di riferimento. audioUrl, audio_urls e audio_url sono alias. Richiede un’immagine o un video nella stessa richiesta.
outputFormatstringPredefinito: mp4Solo mp4. Sono accettati output_format e metadata.output_format. mov e watermark non sono supportati.
callback_urlstringURL di callback nativo opzionale. La disponibilità dipende dal canale scelto; usa GET https://api.apihop.ai/v1/jobs/{jobId} come risultato autorevole.
Contenuto multimodale
Gli URL multimediali possono essere URL HTTP(S) pubblici o identificatori asset:// esistenti.
| Tipo | Campo annidato | Ruoli |
|---|---|---|
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 | Nessun ruolo; solo riutilizzo del campione |
Tra forme abbreviate e contenuti tipizzati sono accettati fino a 30 immagini, 10 video e 10 file audio, per un massimo complessivo di 50 elementi multimediali. L’audio richiede un’immagine o un video. Usa prompt di primo livello invece di contenuti type: "text". Fornisci un solo alias per impostazione. I controlli non supportati vengono rifiutati. I campi di primo livello first_frame_url, last_frame_url, reference_image_urls, reference_video_urls e reference_audio_urls sono forme abbreviate specifiche per ruolo. I campi non elencati negli elementi di contenuto non vengono inoltrati.
Riutilizzo di processi bozza
draft_task è esclusivo di Seedance 2.5. Riutilizza un campione esistente compatibile e completato; questa pagina non definisce i controlli per creare campioni.
metadata.contentdeve contenere esattamente un elementodraft_task.- Preferisci il
jobIddel campione esistente, una stringa decimale Synapse, comedraft_task.id. È accettato anche un identificatore di piattaformatask_...già registrato; non usare un ID grezzo del fornitore e non inventare identificatori. - Il campione deve appartenere allo stesso account, usare lo stesso modello e canale di elaborazione, essere completato ed essere stato creato meno di 7 giorni fa.
- Non fornire prompt, input immagine/video/audio, durata, rapporto, seed,
generate_audio, formato di output oomni_reference_task_type. Vengono riutilizzate le impostazioni del campione. - È possibile fornire la risoluzione di output.
I controlli di compatibilità e proprietà possono rifiutare il riutilizzo anche se il processo di riferimento è stato completato con successo. Non presumere che ogni generazione normale sia un campione riutilizzabile.
Esempi di richiesta
Riferimento multimodale
{
"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"}
]
}
}Primo e ultimo fotogramma
{
"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"}
]
}
}Riutilizzare un campione esistente
Sostituisci EXISTING_SAMPLE_JOB_ID con il jobId effettivamente restituito da un campione compatibile e completato. Il segnaposto sotto non è un identificatore di processo utilizzabile.
{
"model": "seedance-2.5",
"metadata": {
"resolution": "1080p",
"content": [
{"type": "draft_task", "draft_task": {"id": "EXISTING_SAMPLE_JOB_ID"}}
]
}
}Invio e risultato
Il campo data della risposta contiene jobId, status, model e message. Un invio riuscito significa che il processo è stato accettato, non completato. Interroga GET https://api.apihop.ai/v1/jobs/{jobId} con la chiave API dello stesso account. Consulta Recuperare un processo asincrono.
Quando lo stato è COMPLETED, leggi data.outputResult. Accetta sia stringhe sia array per url in ogni oggetto risultato.