Interface VideoGenerateRequest

Request payload for text-to-video generation.

Passed to IVideoGenerator.generateVideo by the high-level orchestration layer after normalising user input.

interface VideoGenerateRequest {
    modelId?: string;
    prompt: string;
    negativePrompt?: string;
    durationSec?: number;
    aspectRatio?: VideoAspectRatio;
    resolution?: string;
    referenceImages?: VideoImageInput[];
    outputFormat?: VideoOutputFormat;
    fps?: number;
    seed?: number;
    n?: number;
    userId?: string;
    providerOptions?: Record<string, unknown> | VideoProviderOptionBag;
}

Properties

modelId?: string

Model identifier to use for generation (e.g. 'gen-3-alpha').

prompt: string

Text prompt describing the desired video content.

negativePrompt?: string

Negative prompt describing content to avoid.

durationSec?: number

Desired output duration in seconds.

aspectRatio?: VideoAspectRatio

Desired aspect ratio (e.g. '16:9').

resolution?: string

Desired output resolution, in the model's own vocabulary (for example '720p', '1080p', or fal's '768P' for MiniMax). Sent as given.

referenceImages?: VideoImageInput[]

Images of subjects or assets the video must keep consistent (reference-to-video). Sent as fal's reference_image_urls, Replicate's reference_images, or Gemini image parts.

outputFormat?: VideoOutputFormat

Output container format. Defaults to 'mp4'.

fps?: number

Frames per second for the output video.

seed?: number

Seed for reproducible output.

n?: number

Number of videos to generate. Defaults to 1.

userId?: string

Identifier of the requesting user (for billing / rate limiting).

providerOptions?: Record<string, unknown> | VideoProviderOptionBag

Provider-specific model inputs: a VideoProviderOptionBag keyed by provider id, or a flat object that fal, Replicate and Gemini receive whole.