`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은 만료될 수 있어요. 보존해야 하는 비디오는 별도의 워크플로 스텝에서 처리하세요.