`generateVideo()`

generateVideo()

워크플로 안에서 비디오를 내구성(durably) 있게 생성해요. 이 헬퍼는 Workflow 웹훅 URL로 비동기 비디오 생성 작업을 시작하고, provider가 종료 알림을 보낼 때까지 워크플로를 일시 중단한 뒤, 상태 요청 한 번으로 완료된 결과를 가져와요.

ai의 experimental_generateVideo와 달리, 이 헬퍼는 provider가 호스팅한 비디오를 다운로드하지 않아요. URL 결과는 URL로 남으므로, 비디오 바이트를 워크플로 스텝 경계를 통해 직렬화하지 않고도 워크플로가 다른 스텝에서 보존·복사·처리할지를 결정할 수 있어요.

import { experimental_generateVideo as generateVideo } from '@ai-sdk/workflow/video';

export async function videoWorkflow(prompt: string) {
  'use workflow';

  // The workflow suspends while the video renders, consuming no compute.
  const result = await generateVideo({
    model: 'klingai/kling-v3.0-t2v',
    prompt,
  });

  return result.videos;
}

선택한 모델은 비동기 시작·상태 연산과 provider 웹훅을 지원해야 해요. 이 헬퍼는 Workflow SDK 워크플로에서 호출해야 해요.

출처: 문서

본문

Import

import { experimental_generateVideo as generateVideo } from "@ai-sdk/workflow/video"

파라미터 (Parameters)

이 헬퍼는 ai의 experimental_startVideo와 같은 파라미터를 받지만, webhookUrl과 abortSignal은 제외해요. 웹훅 URL을 만들고 관리해요.

이름 타입 필수 설명
model VideoModel 필수 사용할 비동기 비디오 모델. Vercel AI Gateway 호환 문자열 또는 직렬화 가능한 provider 모델.
prompt string | GenerateVideoPrompt 필수 비디오를 생성하는 데 쓸 프롬프트 또는 이미지 프롬프트.
n number 선택 생성할 비디오 수. 기본값: 1.
aspectRatio `${number}:${number}` | "adaptive" 선택 생성된 비디오의 종횡비.
resolution `${number}x${number}` 선택 생성된 비디오의 해상도.
duration number 선택 각 생성 비디오의 길이(초).
maxVideosPerCall number 선택 한 번의 호출에서 시작할 수 있는 최대 비디오 수.
fps number 선택 생성된 비디오의 초당 프레임 수.
seed number 선택 지원 시 결정적 생성을 위한 시드.
frameImages Array<{ image: DataContent; frameType: VideoModelV4FrameType }> 선택 역할 태그가 붙은 첫·마지막 프레임 이미지.
inputReferences Array<DataContent | { data: DataContent; mediaType?: string }> 선택 생성에 쓰는 참조 이미지 또는 비디오.
generateAudio boolean 선택 비디오와 함께 오디오를 생성할지.
providerOptions ProviderOptions 선택 추가 provider별 옵션.
headers Record<string, string> 선택 시작·상태 요청용 추가 HTTP 헤더.
maxRetries number 선택 각 시작·상태 요청에 대한 AI SDK 재시도 최대 횟수. 기본값: 2.

반환 (Returns)

provider의 완료된 상태 결과를 반환해요. videos는 type으로 구분되는 원시 provider 비디오 데이터를 담아요:

  • url: provider가 호스팅한 URL과 미디어 타입
  • base64: Base64 인코딩된 비디오 데이터와 미디어 타입
  • binary: Uint8Array와 미디어 타입

호스팅 URL은 만료될 수 있어요. 보존해야 하는 비디오는 별도의 워크플로 스텝에서 처리하세요.

더 알아보기 (Learn more)