Skip to main content
Video generation is asynchronous. First create a task, then retrieve it until it reaches a terminal state.

Request structure

Generation modes

If mode is omitted, GENGEN can infer it from the supplied assets. Set it explicitly when you want predictable validation.

Media inputs

assets accepts HTTPS URLs and owned asset:// references where supported.
  • firstFrameImage and lastFrameImage control boundary frames.
  • referenceImages accepts up to 9 image references for supported Seedance modes.
  • referenceVideos accepts up to 3 video references per upstream request.
  • referenceAudio adds audio guidance and cannot be the only multimodal input.
  • sourceVideo is used by video modification and extension.
Use GENGEN asset references for files already registered in the same workspace. Requests cannot use private assets owned by another workspace.

Output controls

Common controls include:
  • duration: model-dependent output duration in seconds; supported Seedance models also accept -1 for model-selected duration.
  • resolution: 480p, 720p, 1080p, or 4k, subject to model support.
  • ratio: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, or adaptive.
  • generateAudio: request synchronized audio when supported.
  • watermark: add a provider watermark.
  • returnLastFrame: return a last-frame image when supported.
  • serviceTier: default or flex, subject to model support.

Task lifecycle

Poll the retrieve endpoint at a reasonable interval. Treat succeeded, failed, cancelled, and expired as terminal. Some provider compatibility responses can also use completed; GENGEN normalizes new responses where possible.
Creating a task reserves wallet balance. Retrieving a successful terminal result can finalize the corresponding charge. Deleting or cancelling a task changes remote and local task state.

Compatibility

Older integrations may still send provider-native content[] bodies or snake_case fields. They remain compatibility inputs, but new integrations should use assets, controls, and providerOptions.