@ -7,6 +7,7 @@
import type { GenerateVideoNodeData } from "@/types" ;
import type { GenerateVideoNodeData } from "@/types" ;
import { buildGenerateHeaders } from "@/store/utils/buildApiHeaders" ;
import { buildGenerateHeaders } from "@/store/utils/buildApiHeaders" ;
import { pollGenerateTask } from "./pollTaskCompletion" ;
import type { NodeExecutionContext } from "./types" ;
import type { NodeExecutionContext } from "./types" ;
export interface GenerateVideoOptions {
export interface GenerateVideoOptions {
@ -123,7 +124,28 @@ export async function executeGenerateVideo(
throw new Error ( errorMessage ) ;
throw new Error ( errorMessage ) ;
}
}
const result = await response . json ( ) ;
let result = await response . json ( ) ;
// Handle polling response (long-running Kie tasks)
if ( result . polling ) {
result = await pollGenerateTask ( {
taskId : result.taskId ,
provider : result.pollProvider ,
modelId : result.pollModelId ,
modelName : result.pollModelName ,
mediaType : result.pollMediaType ,
headers ,
signal ,
} ) ;
if ( ! result . success ) {
updateNodeData ( node . id , {
status : "error" ,
error : result.error || "Generation failed" ,
} ) ;
throw new Error ( result . error || "Generation failed" ) ;
}
}
// Handle video response (video or videoUrl field)
// Handle video response (video or videoUrl field)
const videoData = result . video || result . videoUrl ;
const videoData = result . video || result . videoUrl ;