Gemini 3.6 Flash and 3.5 Flash Lite are now live on CometAPI →
X

Grok Imagine Video

Setiap Saat:$0.04
Dilancarkan:Feb 27, 2026

Hasilkan video daripada gesaan teks, animasikan imej pegun, atau sunting video sedia ada menggunakan bahasa semula jadi. API menyokong tempoh, nisbah aspek dan resolusi yang boleh dikonfigurasi untuk video yang dijana — dengan SDK mengendalikan polling asinkron secara automatik.

Baru
Popular
Penggunaan komersial

Playground untuk Grok Imagine Video

Terokai Playground Grok Imagine Video — persekitaran interaktif untuk menguji model dan menjalankan pertanyaan dalam masa nyata. Cuba prompt, laraskan parameter, dan ulangi serta-merta untuk mempercepatkan pembangunan dan mengesahkan kes penggunaan.

📘 Spesifikasi Teknikal Grok Imagine Video

SpesifikasiButiran
ID Modelgrok-imagine-video
PenyediaxAI
JenisAI penjanaan & penyuntingan video
Jenis InputTeks (prompt); imej atau video pilihan. Prompt teks (bahasa semula jadi); input imej pilihan (imej→video); pilihan video_url untuk menyunting klip sedia ada. Tempoh maksimum video input untuk penyuntingan berbeza mengikut endpoint — dilaporkan ~8.7s bagi sesetengah aliran penyuntingan.
Jenis OutputVideo .mp4 melalui URL sementara
Julat Durasi (penjanaan)1–15 saat
Resolusi480p, 720p (boleh dikonfigurasi)
Nisbah Bidang1:1, 16:9, 9:16
Sokongan SuntinganYa — menganimasikan & mengubah suai video sehingga 8.7s
ModerasiModerasi kandungan disertakan
HargaDikenakan caj mengikut saat, berbeza mengikut resolusi

🚀 Apakah Grok Imagine Video?

Grok Imagine Video ialah model AI penjanaan dan penyuntingan video termaju oleh xAI yang diakses melalui CometAPI. Ia membolehkan pembangun menjana video pendek tersuai daripada prompt bahasa semula jadi dan secara pilihan menganimasikan imej pegun atau menyunting klip sedia ada. Model ini menyokong panjang, resolusi, dan nisbah bidang output yang boleh dikonfigurasi, dengan moderasi kandungan terbina bagi memastikan pematuhan dasar.

🧠 Ciri utama (yang membezakan Grok Imagine)

  • Audio asli + segerak bibir: Menjana audio ambien, kesan, dan pertuturan/narasi pendek yang disegerakkan dengan penyegerakan bibir anggaran.
  • Imej→Video / penyuntingan prompt: Menganimasikan imej pegun atau menyunting rakaman sedia ada melalui prompt teks (buang/ganti objek, ubah masa, ubah gaya).
  • Iterasi pantas & latensi rendah: Direka untuk kitaran maklum balas pantas yang sesuai untuk aliran kerja kreatif dan prototaip produk.
  • API produksi: Imagine API membuka endpoint berprogram untuk penjanaan kelompok, integrasi ke dalam saluran penyuntingan, dan kawalan perusahaan.
  • Pelbagai “mod” / gaya: Mod berorientasikan pengguna (contoh dilaporkan: Normal / Fun / Spicy atau pratetap serupa) untuk memihak kepada gaya atau permisiviti output (catatan: mod “Spicy” secara sejarah mengaktifkan NSFW).
Model (syarikat)Resolusi maks (awam)Panjang klip maks (awam)Audio asli?KekuatanKekangan
Grok Imagine (xAI)720p6–15sYaIterasi pantas, kos/latensi baik, penyuntingan bersepadu, audio asliHad 720p; kebimbangan moderasi; kesetiaan dunia nyata berubah-ubah
Sora (OpenAI)720p–1080p (bergantung pada peringkat)pendek (6–15s)YaKefidelitian visual tinggi; integrasi kukuh dengan ekosistem OpenAILebih mahal; moderasi/kawalan yang lebih terhad
Veo (Google DeepMind)Sehingga 1080p+pendek (berubah)YaFotorealisme kukuh, gerakan stabilKos lebih tinggi; kurang percubaan awam
Runway Gen-4.51080p+pendek (berubah)YaDiterima industri untuk aliran kerja kreatif, kefidelitian tinggiLebih mahal; tertumpu pada alatan kreatif
Vidu / Kling / Pika (pelbagai pakar)sehingga 1080ppendek (berubah)CampuranSesetengah menawarkan ciri niche (Smart Cuts, multi-shot chaining)Sokongan audio berbeza; kematangan API berbeza

⚠️ Had

  • Panjang video maksimum dihadkan kepada 15 saat.
  • Penyuntingan mengekalkan panjang video input (≤ 8.7s).
  • URL yang dijana bersifat sementara — muat turun dengan segera.

Cara mengakses dan mengintegrasikan Grok Imagine Video

Langkah 1: Daftar untuk Kunci API

Log masuk ke cometapi.com. Jika anda belum menjadi pengguna kami, sila daftar terlebih dahulu. Log masuk ke CometAPI console. Dapatkan kunci kelayakan akses API. Klik “Add Token” pada token API di pusat peribadi, dapatkan kunci token: sk-xxxxx dan serahkan.

Langkah 2: Hantar Permintaan ke API Grok Imagine Video

Pilih endpoint “grok-imagine-video” untuk menghantar permintaan API dan tetapkan badan permintaan. Kaedah permintaan dan badan permintaan diperoleh daripada dokumen API di laman web kami. Laman kami juga menyediakan ujian Apifox untuk kemudahan anda. Gantikan <YOUR_API_KEY> dengan kunci CometAPI sebenar daripada akaun anda. Di mana untuk memanggilnya: GROK Penjanaan Video dan Suntingan Video.

Langkah 3: Hantar Permintaan ke API Grok Imagine Video

Masukkan teks atau muat naik imej (anda boleh memilih untuk menyediakan imej sumber untuk dianimasikan). Grok Imagine AI API menganalisis input anda dan menyediakan kandungan untuk URL. Kedua-dua penukaran teks-ke-video dan imej-ke-video disokong.

Imej sumber boleh disediakan sebagai:

  • URL awam yang merujuk kepada imej
  • URI data yang dikodkan base64 (cth., data:image/jpeg;base64,<YOUR_BASE64_IMAGE>)

Langkah 4: Dapatkan dan Sahkan Keputusan

Proseskan respons API untuk mendapatkan hasil yang dijana. Selepas pemprosesan, API membalas dengan status tugas dan data output. Ia mengembalikan request_id sejurus selepas penyerahan; gunakan endpoint GET untuk menyemak status dan mendapatkan video yang dijana. Penyuntingan video adalah asinkron, anda mungkin perlu menyoal endpoint ini beberapa kali sehingga tugas selesai. Sila muat turun dengan segera.

Soalan Lazim

Harga untuk Grok Imagine Video

Terokai harga yang kompetitif untuk Grok Imagine Video, direka bentuk untuk memenuhi pelbagai bajet dan keperluan penggunaan. Pelan fleksibel kami memastikan anda hanya membayar untuk apa yang anda gunakan, menjadikannya mudah untuk meningkatkan skala apabila keperluan anda berkembang. Temui bagaimana Grok Imagine Video boleh meningkatkan projek anda sambil mengekalkan kos yang terurus.

Pricing Overview

CategoryItemPrice
Input PricingTextN/A (Free)
Image$0.0016
Video per second$0.008
Output Pricing480p$0.04
(Per second by resolution)720p$0.056

Note: When generating video via API, you are charged per second. You will also be charged when using video or images as input.

Kod contoh dan API untuk Grok Imagine Video

Akses kod sampel yang komprehensif dan sumber API untuk Grok Imagine Video bagi memperlancar proses integrasi anda. Dokumentasi terperinci kami menyediakan panduan langkah demi langkah, membantu anda memanfaatkan potensi penuh Grok Imagine Video dalam projek anda.

#!/bin/bash

# Get your CometAPI key from https://api.cometapi.com/console/token
# Export it as: export COMETAPI_KEY="your-key-here"

BASE_URL="https://api.cometapi.com/grok/v1"

# ============================================================
# Step 1: Create Video Generation Task
# ============================================================
echo "Step 1: Creating video generation task..."

CREATE_RESPONSE=$(curl -s --location --request POST "${BASE_URL}/videos/generations" \
  --header "Authorization: Bearer $COMETAPI_KEY" \
  --header "Content-Type: application/json" \
  --data-raw '{
    "model": "grok-imagine-video",
    "prompt": "A glowing crystal-powered rocket launching from the red dunes of Mars, ancient alien ruins lighting up in the background as it soars into a sky full of unfamiliar constellations",
    "duration": 10,
    "aspect_ratio": "16:9",
    "resolution": "720p"
  }')

echo "Create response: $CREATE_RESPONSE"

# Extract task ID using jq (install with: brew install jq)
TASK_ID=$(echo "$CREATE_RESPONSE" | jq -r '.request_id // .id')

if [ "$TASK_ID" == "null" ] || [ -z "$TASK_ID" ]; then
  echo "Error: Failed to get task ID from response"
  exit 1
fi

echo "Task ID: $TASK_ID"

# ============================================================
# Step 2: Poll for Task Status
# ============================================================
echo ""
echo "Step 2: Polling task status..."

while true; do
  QUERY_RESPONSE=$(curl -s --location --request GET "${BASE_URL}/videos/${TASK_ID}" \
    --header "Authorization: Bearer $COMETAPI_KEY")

  STATUS=$(echo "$QUERY_RESPONSE" | jq -r '.data.status')
  PROGRESS=$(echo "$QUERY_RESPONSE" | jq -r '.data.progress')
  echo "Status: $STATUS, Progress: $PROGRESS"

  if [ "$STATUS" == "FAILURE" ] || [ "$STATUS" == "failed" ]; then
    echo "Video generation failed!"
    echo "$QUERY_RESPONSE" | jq -r '.data.fail_reason'
    exit 1
  fi

  if [ "$STATUS" == "SUCCESS" ]; then
    VIDEO_URL=$(echo "$QUERY_RESPONSE" | jq -r '.data.data.video.url')
    echo "Video generation completed!"
    echo "Video URL: $VIDEO_URL"
    break
  fi

  sleep 10
done

cURL Code Example

#!/bin/bash

# Get your CometAPI key from https://api.cometapi.com/console/token
# Export it as: export COMETAPI_KEY="your-key-here"

BASE_URL="https://api.cometapi.com/grok/v1"

# ============================================================
# Step 1: Create Video Generation Task
# ============================================================
echo "Step 1: Creating video generation task..."

CREATE_RESPONSE=$(curl -s --location --request POST "${BASE_URL}/videos/generations" \
  --header "Authorization: Bearer $COMETAPI_KEY" \
  --header "Content-Type: application/json" \
  --data-raw '{
    "model": "grok-imagine-video",
    "prompt": "A glowing crystal-powered rocket launching from the red dunes of Mars, ancient alien ruins lighting up in the background as it soars into a sky full of unfamiliar constellations",
    "duration": 10,
    "aspect_ratio": "16:9",
    "resolution": "720p"
  }')

echo "Create response: $CREATE_RESPONSE"

# Extract task ID using jq (install with: brew install jq)
TASK_ID=$(echo "$CREATE_RESPONSE" | jq -r '.request_id // .id')

if [ "$TASK_ID" == "null" ] || [ -z "$TASK_ID" ]; then
  echo "Error: Failed to get task ID from response"
  exit 1
fi

echo "Task ID: $TASK_ID"

# ============================================================
# Step 2: Poll for Task Status
# ============================================================
echo ""
echo "Step 2: Polling task status..."

while true; do
  QUERY_RESPONSE=$(curl -s --location --request GET "${BASE_URL}/videos/${TASK_ID}" \
    --header "Authorization: Bearer $COMETAPI_KEY")

  STATUS=$(echo "$QUERY_RESPONSE" | jq -r '.data.status')
  PROGRESS=$(echo "$QUERY_RESPONSE" | jq -r '.data.progress')
  echo "Status: $STATUS, Progress: $PROGRESS"

  if [ "$STATUS" == "FAILURE" ] || [ "$STATUS" == "failed" ]; then
    echo "Video generation failed!"
    echo "$QUERY_RESPONSE" | jq -r '.data.fail_reason'
    exit 1
  fi

  if [ "$STATUS" == "SUCCESS" ]; then
    VIDEO_URL=$(echo "$QUERY_RESPONSE" | jq -r '.data.data.video.url')
    echo "Video generation completed!"
    echo "Video URL: $VIDEO_URL"
    break
  fi

  sleep 10
done

Python Code Example

import os
import time
import requests

# Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here
COMETAPI_KEY = os.environ.get("COMETAPI_KEY") or "<YOUR_COMETAPI_KEY>"
BASE_URL = "https://api.cometapi.com/grok/v1"

headers = {
    "Authorization": f"Bearer {COMETAPI_KEY}",
    "Content-Type": "application/json",
}

# ============================================================
# Step 1: Create Video Generation Task
# ============================================================
print("Step 1: Creating video generation task...")

create_payload = {
    "model": "grok-imagine-video",
    "prompt": "A glowing crystal-powered rocket launching from the red dunes of Mars, ancient alien ruins lighting up in the background as it soars into a sky full of unfamiliar constellations",
    "duration": 10,
    "aspect_ratio": "16:9",
    "resolution": "720p",
}

create_response = requests.post(
    f"{BASE_URL}/videos/generations", headers=headers, json=create_payload
)

create_result = create_response.json()
print(f"Create response: {create_result}")

# Extract task ID from the response
task_id = create_result.get("request_id") or create_result.get("id")
if not task_id:
    print("Error: Failed to get task ID from response")
    exit(1)

print(f"Task ID: {task_id}")

# ============================================================
# Step 2: Poll for Task Status
# ============================================================
print("\nStep 2: Polling task status...")

while True:
    query_response = requests.get(
        f"{BASE_URL}/videos/{task_id}", headers=headers
    )
    query_result = query_response.json()

    data = query_result.get("data", {})
    status = data.get("status", "unknown")
    progress = data.get("progress", "0%")
    print(f"Status: {status}, Progress: {progress}")

    if status in ["FAILURE", "failed"]:
        print("Video generation failed!")
        print(f"Reason: {data.get('fail_reason')}")
        exit(1)

    if status == "SUCCESS":
        video_url = data.get("data", {}).get("video", {}).get("url")
        print(f"Video generation completed!")
        print(f"Video URL: {video_url}")
        break

    time.sleep(10)

JavaScript Code Example

// Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here
const api_key = process.env.COMETAPI_KEY || "<YOUR_COMETAPI_KEY>";
const base_url = "https://api.cometapi.com/grok/v1";

const headers = {
  "Authorization": `Bearer ${api_key}`,
  "Content-Type": "application/json",
};

// ============================================================
// Step 1: Create Video Generation Task
// ============================================================
console.log("Step 1: Creating video generation task...");

const createPayload = {
  model: "grok-imagine-video",
  prompt: "A glowing crystal-powered rocket launching from the red dunes of Mars, ancient alien ruins lighting up in the background as it soars into a sky full of unfamiliar constellations",
  duration: 10,
  aspect_ratio: "16:9",
  resolution: "720p",
};

const createResponse = await fetch(`${base_url}/videos/generations`, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(createPayload),
});

const createResult = await createResponse.json();
console.log("Create response:", JSON.stringify(createResult, null, 2));

const taskId = createResult?.request_id || createResult?.id;
if (!taskId) {
  console.log("Error: Failed to get task ID from response");
  process.exit(1);
}

console.log(`Task ID: ${taskId}`);

// ============================================================
// Step 2: Poll for Task Status
// ============================================================
console.log("\nStep 2: Polling task status...");

const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

while (true) {
  const queryResponse = await fetch(`${base_url}/videos/${taskId}`, {
    method: "GET",
    headers: headers,
  });

  const queryResult = await queryResponse.json();
  const data = queryResult?.data || {};
  const status = data?.status || "unknown";
  const progress = data?.progress || "0%";
  console.log(`Status: ${status}, Progress: ${progress}`);

  if (["FAILURE", "failed"].includes(status)) {
    console.log("Video generation failed!");
    console.log(`Reason: ${data?.fail_reason}`);
    process.exit(1);
  }

  if (status === "SUCCESS") {
    const videoUrl = data?.data?.video?.url;
    console.log("Video generation completed!");
    console.log(`Video URL: ${videoUrl}`);
    break;
  }

  await sleep(10000);
}