Generative AI with Node JS in Hindi #20 Generate Video with simple prompts
Generate Video with GenAI
Steps of video:-
- Use veo-3.0-generate-001
- Use Loop to show progress and check status
- Use AI method to store video
Code:-
import { GoogleGenAI } from '@google/genai'
import dotenv from 'dotenv'
import { writeFileSync } from 'fs'
import express from 'express';
const app = express();
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
dotenv.config();
const GoogleAI = new GoogleGenAI({ apiKey: process.env.geminiKey })
app.get("/", (req, resp) => {
resp.send(`<form action="/generate" method="post">
<input type='text' placeholder='enter your prompt' name="imageText" />
<button>Click Me</button>
</form>`)
})
app.post("/generate", async (req, resp) => {
const prompt = req.body.imageText;
await main(prompt)
resp.send("image generated")
})
async function main(prompt) {
let operation = await GoogleAI.models.generateVideos({
model: 'veo-3.0-generate-001',
prompt: "running a girl on grass",
config: {
numberOfImages: 1
}
})
while (!operation.done) {
console.log("please wait, video is getting ready")
await new Promise((resolve) => setTimeout(resolve, 1000));
operation = await GoogleAI.operations.getVideosOperation({
operation: operation
})
}
GoogleAI.files.download({
file: operation.response.generateVideos[0].video,
downloadPath: "video.mp4",
})
}
main();
// app.listen(3000)