API Hop

Documentazione

Documentazione API Hop

Generazione video Seedance 2.0

Parametri di testo, primo/ultimo fotogramma, contenuti multimodali e generazione audio di Seedance 2.0.

POSThttps://api.apihop.ai/v1/video/seedance

Crea un processo asincrono Seedance 2.0. Per Seedance 2.5 usa il riferimento separato dei parametri.

Autenticazione

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Corpo della richiesta

modelstringobbligatorio

seedance-2.0 o il suo alias seedance-2-0.

promptstring

Prompt video. Obbligatorio per la generazione da solo testo; può essere omesso o vuoto quando si forniscono immagini o video di riferimento. Il solo audio non è un input valido. Gli elementi di testo in metadata.content vengono scartati; si usa solo questo prompt di primo livello.

secondsstringPredefinito: 5

Stringa intera da "4" a "15". È accettato anche l’alias numerico duration. Se sono presenti entrambi, devono coincidere. La durata automatica (-1) non è supportata.

sizestringPredefinito: 720p

Risoluzione di output: 480p, 720p, 1080p o 4k. Non è un rapporto d’aspetto. Precedenza della risoluzione: metadata.resolution, poi size, quindi resolution.

aspectRatiostringPredefinito: 16:9

16:9, 9:16, 1:1, 4:3, 3:4, 21:9 o adaptive. aspect_ratio e ratio sono alias; metadata.ratio ha la precedenza. Usa un solo alias per ogni impostazione.

metadataobject

Accetta resolution, ratio, content e generate_audio. Imposta generate_audio su un booleano per controllare l’audio generato. I campi di primo livello generateAudio / generate_audio sono alias; fornisci un solo controllo audio.

imagesstring[]

Forma abbreviata delle immagini: la prima è il primo fotogramma e la seconda è l’ultimo. Per ruoli precisi usa metadata.content. Gli alias esistenti imageUrls, imageUrl, image_urls e image_url restano accettati con la stessa semantica dei fotogrammi.

imageWithRolesobject[]

Immagini con url e role: first_frame, last_frame o reference_image. image_with_roles è un alias. Entrambe le versioni accettano 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 di riferimento nella stessa richiesta.

callback_urlstring

URL di callback nativo opzionale. La disponibilità dipende dal canale scelto; usa GET https://api.apihop.ai/v1/jobs/{jobId} come risultato autorevole.

Contenuto multimodale

Ogni elemento multimediale di metadata.content contiene l’oggetto URL annidato corrispondente. Gli URL multimediali possono essere URL HTTP(S) pubblici o identificatori asset:// esistenti.

TipoCampo URLRuoli
image_urlimage_url.urlfirst_frame, last_frame, reference_image
video_urlvideo_url.urlreference_video
audio_urlaudio_url.urlreference_audio

Sono accettati fino a 9 immagini, 3 video e 3 file audio, comprese forme abbreviate e contenuti tipizzati. L’audio richiede un’immagine o un video. draft_task non è supportato. Usa prompt di primo livello invece degli elementi type: "text". 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.

Controlli non supportati come negativePrompt, seed, returnLastFrame, nsfwCheck, tools, webhook, watermark, outputFormat e i relativi alias snake_case vengono rifiutati. width, height, fps, cfgScale, steps e style non sono supportati.

Esempi di richiesta

Da testo a video

json
{
  "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}
}

Primo e ultimo fotogramma

json
{
  "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"}
    ]
  }
}

Riferimenti immagine e audio

json
{
  "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"}
    ]
  }
}

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 una stringa url sia un array di URL in ogni oggetto risultato. Gli addebiti dipendono dai token effettivi di completamento e dalla risoluzione di output; i video di riferimento selezionano la tariffa di input video, mentre i riferimenti di sole immagini/audio no.