Video Generation Quickstart
Generate a video through AI Gateway and save it to a file. Video generation can take several minutes.
Paste this prompt into a coding agent with terminal access:
Add video generation through AI Gateway in the current environment. Use the AI Gateway skill for this task. If it is unavailable, run npx skills add vercel/vercel-plugin --skill ai-gateway, then find and read its SKILL.md before continuing. Reuse the environment's language, framework, and package manager when they support AI Gateway video generation. Otherwise, add the smallest supported TypeScript entry point and explain why. Add only required dependencies. Read AI_GATEWAY_API_KEY from the environment. If it is missing, run npx vercel@latest whoami and pause for login if needed. Determine the team, then run npx vercel@latest --scope <team-slug> ai-gateway api-keys create --name <descriptive-name>. Capture stdout directly into AI_GATEWAY_API_KEY for the request or existing ignored secret storage, and never expose the value. Use google/veo-3.1-fast-generate-001, save the first video to a file, run the result, and report the output.
Use Node.js 22.18 or later and a team with available AI Gateway Credits. Export AI_GATEWAY_API_KEY in your current shell. If you need a key, open the Create API Key dialog.
export AI_GATEWAY_API_KEY="your_ai_gateway_api_key"Install the AI SDK:
pnpm add ai@latestCreate index.mts:
import { experimental_generateVideo as generateVideo } from 'ai';
import { writeFile } from 'node:fs/promises';
const { videos } = await generateVideo({
model: 'google/veo-3.1-fast-generate-001',
prompt: 'A lighthouse above crashing waves at golden hour.',
aspectRatio: '16:9',
duration: 8,
});
await writeFile('output.mp4', videos[0].uint8Array);
console.log('Saved output.mp4');Run the script:
node index.mts- Run long generations with asynchronous generation, status checks, safe retries, or webhooks
- Generate video from images, first and last frames, motion controls, or reference media
- Host input media with Vercel Blob when a model requires URLs
- Browse video generation models
Was this helpful?