Grok Imagine vs Hailuo 02

Same start frame, same prompt, blind votes.

No votes yet. Vote on the arena page.

FactGrok ImagineHailuo 02
Arena score869869
5 second clip$0.25$0.23
Price sourceOfficialOfficial
Max length10s10s
Max resolution720p1080p
Native audioYesNo
Generation time119s129s

Side by side

Anime rooftop at dusk

She turns toward the camera as the wind lifts her red scarf. The camera slowly pushes in while the city lights flicker on behind her.

Grok Imagine
Hailuo 02

Latte art pour

The milk pours in a steady stream and draws a rosetta on the coffee. Steam rises. The camera holds still with a gentle focus breathing.

Grok Imagine
Hailuo 02

Skateboard bowl trick

The skater lands the trick, rolls across the bowl and carves up the far wall. The camera tracks alongside at speed.

Grok Imagine
Hailuo 02

Neon sign in the rain

Rain falls in front of the sign. The letters flicker once, then stay lit and sharp, still reading "OPEN LATE". A person with an umbrella walks past.

Grok Imagine
Hailuo 02

Fisherman portrait

He looks out to sea, then turns to the camera and smiles warmly, eyes crinkling. The boat sways gently.

Grok Imagine
Hailuo 02

Sneaker splash

The camera slowly orbits the shoes while water splashes around them in slow motion. Lighting stays crisp on the product.

Grok Imagine
Hailuo 02

Make this video in Korpi

Script, scenes, voice and captions in one place.

Run Grok Imagine via the API

Pay per clip on api.korpi.ai

Get API key
JavaScript
async function readResponse(response) {
  const result = await response.json();
  if (!response.ok || result.error || result.status === "failed") {
    throw new Error(JSON.stringify(result));
  }
  return result;
}

const res = await fetch("https://backend.korpi.ai/v1/videos/generations", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KORPI_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "grok-imagine",
    "prompt": "A girl with a red scarf turns toward the camera on a neon rooftop at dusk",
    "aspect_ratio": "9:16",
    "duration": 6
  }),
});
let result = await readResponse(res);

const deadline = Date.now() + 30 * 60_000;
while (true) {
  let next = result.result_url;
  if (!next && ["queued", "in_progress", "pending"].includes(result.status)) {
    next = `https://backend.korpi.ai/v1/videos/generations/${result.id}`;
  }
  if (!next) break;
  if (Date.now() >= deadline) throw new Error("Polling timed out");
  await new Promise((resolve) => setTimeout(resolve, 3000));
  const poll = await fetch(new URL(next, "https://backend.korpi.ai"), {
    headers: { Authorization: `Bearer ${process.env.KORPI_API_KEY}` },
  });
  result = await readResponse(poll);
}
console.log(result);