@@ -22,6 +22,7 @@ import type {
2222 VideoGenerationTransformCapabilities as CoreVideoGenerationTransformCapabilities ,
2323} from "../video-generation/types.js" ;
2424
25+ /** Video asset returned by a provider after generation or transformation. */
2526export type GeneratedVideoAsset = {
2627 /** Raw video bytes. Either buffer or url must be present. */
2728 buffer ?: Buffer ;
@@ -34,6 +35,7 @@ export type GeneratedVideoAsset = {
3435 metadata ?: Record < string , unknown > ;
3536} ;
3637
38+ /** Resolution label accepted by video generation providers. */
3739export type VideoGenerationResolution =
3840 | "360P"
3941 | "480P"
@@ -55,6 +57,7 @@ export type VideoGenerationAssetRole =
5557 | "reference_video"
5658 | "reference_audio" ;
5759
60+ /** Source media asset supplied to image/video/audio-to-video providers. */
5861export type VideoGenerationSourceAsset = {
5962 url ?: string ;
6063 buffer ?: Buffer ;
@@ -69,11 +72,13 @@ export type VideoGenerationSourceAsset = {
6972 metadata ?: Record < string , unknown > ;
7073} ;
7174
75+ /** Context passed when checking whether a video provider is configured. */
7276export type VideoGenerationProviderConfiguredContext = {
7377 cfg ?: OpenClawConfig ;
7478 agentDir ?: string ;
7579} ;
7680
81+ /** Context passed when resolving model-specific video generation capabilities. */
7782export type VideoGenerationModelCapabilitiesContext = {
7883 provider : string ;
7984 model : string ;
@@ -83,6 +88,7 @@ export type VideoGenerationModelCapabilitiesContext = {
8388 timeoutMs ?: number ;
8489} ;
8590
91+ /** Normalized request object passed to a selected video generation provider. */
8692export type VideoGenerationRequest = {
8793 provider : string ;
8894 model : string ;
@@ -105,12 +111,14 @@ export type VideoGenerationRequest = {
105111 providerOptions ?: Record < string , unknown > ;
106112} ;
107113
114+ /** Provider video generation response returned to the runtime. */
108115export type VideoGenerationResult = {
109116 videos : GeneratedVideoAsset [ ] ;
110117 model ?: string ;
111118 metadata ?: Record < string , unknown > ;
112119} ;
113120
121+ /** Supported high-level video generation operation modes. */
114122export type VideoGenerationMode = "generate" | "imageToVideo" | "videoToVideo" ;
115123
116124/**
@@ -120,6 +128,7 @@ export type VideoGenerationMode = "generate" | "imageToVideo" | "videoToVideo";
120128 */
121129export type VideoGenerationProviderOptionType = "number" | "boolean" | "string" ;
122130
131+ /** Capability limits and supported options for one video generation mode. */
123132export type VideoGenerationModeCapabilities = {
124133 maxVideos ?: number ;
125134 maxInputImages ?: number ;
@@ -150,16 +159,19 @@ export type VideoGenerationModeCapabilities = {
150159 providerOptions ?: Readonly < Record < string , VideoGenerationProviderOptionType > > ;
151160} ;
152161
162+ /** Capability block for transform modes that may be independently enabled. */
153163export type VideoGenerationTransformCapabilities = VideoGenerationModeCapabilities & {
154164 enabled : boolean ;
155165} ;
156166
167+ /** Full provider capability map including base and transform mode overrides. */
157168export type VideoGenerationProviderCapabilities = VideoGenerationModeCapabilities & {
158169 generate ?: VideoGenerationModeCapabilities ;
159170 imageToVideo ?: VideoGenerationTransformCapabilities ;
160171 videoToVideo ?: VideoGenerationTransformCapabilities ;
161172} ;
162173
174+ /** Video generation provider contract implemented by provider plugins. */
163175export type VideoGenerationProvider = {
164176 id : string ;
165177 aliases ?: string [ ] ;
0 commit comments