Defined in: packages/ai/src/activities/generateVideo/adapter.ts:69
Experimental
Video adapter interface with pre-resolved generics.
An adapter is created by a provider function: provider('model') → adapter All type resolution happens at the provider call site, not in this interface.
Video generation is an experimental feature and may change.
Generic parameters:
TModel extends string = string
TProviderOptions extends object = Record<string, unknown>
TModelProviderOptionsByName extends Record<string, any> = Record<string, any>
TModelSizeByName extends Record<string, string | undefined> = Record<string, string>
TModelInputModalitiesByName extends ModelInputModalitiesByName = ModelInputModalitiesByName
TModelDurationByName extends Record<string, string | number | undefined> = Record<string, number>
~types: object;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:99
Internal
Type-only properties for inference. Not assigned at runtime.
modelDurationByName: TModelDurationByName;modelInputModalitiesByName: TModelInputModalitiesByName;modelProviderOptionsByName: TModelProviderOptionsByName;modelSizeByName: TModelSizeByName;providerOptions: TProviderOptions;availableDurations: () => DurationOptions<TModelDurationByName[TModel]>;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:145
Experimental
Describe the durations this adapter's model accepts. Returns a tagged union so consumers can render UI / coerce input without provider-specific knowledge.
DurationOptions<TModelDurationByName[TModel]>
createVideoJob: (options) => Promise<VideoJobResult>;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:111
Experimental
Create a new video generation job. Returns a job ID that can be used to poll for status and retrieve the video.
VideoGenerationOptions<TProviderOptions, TModelSizeByName[TModel], TModelDurationByName[TModel]>
Promise<VideoJobResult>
optional getVideo?: (jobId) => Promise<
| VideoUrlResult
| VideoStreamResult>;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:132
Experimental
Get the finished video: a public URL when the provider has one, or the download stream for generation middleware to host. Call only after status is 'completed'.
Optional only so adapters written against getVideoUrl keep working. New adapters implement this.
string
Promise< | VideoUrlResult | VideoStreamResult>
getVideoStatus: (jobId) => Promise<VideoStatusResult>;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:122
Experimental
Get the current status of a video generation job.
string
Promise<VideoStatusResult>
getVideoUrl: (jobId) => Promise<VideoUrlResult>;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:138
Experimental
string
Promise<VideoUrlResult>
Use getVideo. This is getVideo with a provider stream buffered into a base64 data: URL, which holds the whole video in memory.
readonly kind: "video";Defined in: packages/ai/src/activities/generateVideo/adapter.ts:83
Experimental
Discriminator for adapter kind - used to determine API shape
readonly model: TModel;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:94
Experimental
The model this adapter is configured for
readonly name: string;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:85
Experimental
Adapter name identifier
snapDuration: (input) => TModelDurationByName[TModel] | undefined;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:154
Experimental
Coerce input to the closest duration this model accepts. input may be seconds (7), a numeric string ("7"), a template ("6s"), or a keyword the model lists ("auto"). Returns undefined when the model has no duration field, or when input is a keyword that model does not list.
string | number
TModelDurationByName[TModel] | undefined
readonly optional supportsFileSources?: boolean;Defined in: packages/ai/src/activities/generateVideo/adapter.ts:92
Experimental
Declares that this adapter can consume { type: 'file' } content sources (provider Files API references). The activity dispatcher rejects file sources in preflight for adapters that don't declare this, so adapters written before the file arm existed fail closed.