TL;DR
Grok metinden videoya API'si ile bir metin isteminden video oluşturabilirsiniz. POST /v1/videos/generations çağrısı ile hemen bir request_id alırsınız, ardından durum "done" olana kadar GET /v1/videos/{request_id} ile sorgulama yaparsınız. Model adı grok-imagine-video'dur. Fiyatlandırma, 480p çözünürlükte saniye başına 0,05 dolar olarak başlar. xAI Python SDK'sı bu sorgulamayı otomatik olarak yönetir.
Giriş
xAI, Ocak 2026'da yalnızca bir ayda 1,2 milyar video üretti. Bu, Grok metinden videoya API'sinin 28 Ocak 2026'daki lansmanından sonraki ilk aydı. Model, Artificial Analysis metinden videoya liderlik tablosunda da aynı ay birinci oldu. Bu rakamlar, altyapının büyük ölçekte çalıştığını gösteriyor.
Bu rehberde, ilk API isteğinizden başlayarak sorgulama, parametre ayarlama, etkili istemler yazma, referans görseller kullanımı, mevcut videoları uzatma/düzenleme ve hangi kullanımda metinden videoya tercih edilmesi gerektiğine kadar tüm adımları pratik olarak bulacaksınız.
💡 API eş zamansızdır. Yani, video hazır olmadan ön uçta render bekleyemezsiniz. Video oluşturma UI'si geliştiriyorsanız, gerçek kredi harcamadan sorgulama akışınızı test etmeniz gerekir. Apidog'un Akıllı Sahte (Smart Mock) özelliği ile oluşturma ve sorgulama uç noktalarını taklit edebilirsiniz. Böylece arka uç geliştirilirken ön uç ekibiniz video oynatıcı UI'sini rahatça geliştirebilir. Test bölümünde Apidog'un nasıl kullanılacağını bulacaksınız.
Grok Metinden Videoya API'si Nedir?
Grok metinden videoya API'si, xAI'nin https://api.x.ai adresindeki medya oluşturma paketindedir. Bir metin istemi göndererek grok-imagine-video modeliyle sıfırdan kısa video klipler üretebilirsiniz. Kaynak görsel gerekmez.
API, ayrıca görselden görsele (POST /v1/images/generations, model: grok-imagine-image), videoları uzatma ve düzenleme uç noktalarını içerir.
Metinden videoya ile görselden videoya arasındaki ana fark: metinden videoda yalnızca kelimeler verirsiniz, sahne ve görsellik tamamen açıklamanıza göre oluşur. Kaynak görselle başlamak için Grok görselden videoya API rehberine bakın.
Metinden Videoya Oluşturma Nasıl Çalışır? (Eş Zamansız Desen)
Video oluşturma API'sinde eş zamansız bir akış vardır çünkü video üretimi birkaç saniye ila dakika sürebilir. Akış şu şekildedir:
-
POSTile isteminizi gönderin. - Yanıt olarak anında bir
request_idalın. - Video arka planda oluşturulmaya başlar.
-
GET /v1/videos/{request_id}ile durumu sorgulayın. - Durum
"done"olduğunda, yanıt video URL'sini içerir.
Bu desen, API bağlantılarınızı kısa tutar ve ön ucunuzun yükleme durumu yönetmesini gerektirir.
Ön Koşullar
Başlamadan önce:
- xAI hesabı: console.x.ai adresinden oluşturun. Faturalandırma bilgisi eklenmeli.
- API Anahtarı: xAI konsolunda API Anahtarları'ndan oluşturup güvenli bir yere kaydedin. Bearer token olarak kullanacaksınız.
API anahtarını ortam değişkenine atayın:
export XAI_API_KEY="your_api_key_here"
İsteğe bağlı: xAI Python SDK'sını kurmak için:
pip install xai-sdk
İlk Metinden Videoya İsteğiniz
Uç nokta: POST https://api.x.ai/v1/videos/generations
Gerekli alanlar: model, prompt.
Curl ile
curl -X POST https://api.x.ai/v1/videos/generations \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video",
"prompt": "A golden retriever running through autumn leaves in slow motion, cinematic lighting"
}'
Yanıt:
{
"request_id": "d97415a1-5796-b7ec-379f-4e6819e08fdf"
}
Python requests ile
import requests
import os
API_KEY = os.environ["XAI_API_KEY"]
BASE_URL = "https://api.x.ai"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
payload = {
"model": "grok-imagine-video",
"prompt": "A golden retriever running through autumn leaves in slow motion, cinematic lighting"
}
response = requests.post(
f"{BASE_URL}/v1/videos/generations",
headers=headers,
json=payload
)
data = response.json()
request_id = data["request_id"]
print(f"Generation started. Request ID: {request_id}")
Video Sonucu için Sorgulama
Bir request_id aldıktan sonra, video tamamlanana kadar döngüde sorgulama yapmalısınız.
Durum değerleri:
-
"processing": hala oluşturuluyor -
"done": tamamlandı, video URL'si mevcut -
"failed": hata oluştu
Eksiksiz Python sorgulama döngüsü:
import requests
import time
import os
API_KEY = os.environ["XAI_API_KEY"]
BASE_URL = "https://api.x.ai"
headers = {
"Authorization": f"Bearer {API_KEY}"
}
def poll_video(request_id: str, interval: int = 5, max_attempts: int = 60) -> dict:
url = f"{BASE_URL}/v1/videos/{request_id}"
for attempt in range(max_attempts):
response = requests.get(url, headers=headers)
data = response.json()
status = data.get("status")
progress = data.get("progress", 0)
print(f"Attempt {attempt + 1}: status={status}, progress={progress}%")
if status == "done":
return data
elif status == "failed":
raise RuntimeError(f"Video generation failed: {data}")
time.sleep(interval)
raise TimeoutError(f"Video not ready after {max_attempts} attempts")
def generate_video(prompt: str) -> str:
response = requests.post(
f"{BASE_URL}/v1/videos/generations",
headers={**headers, "Content-Type": "application/json"},
json={"model": "grok-imagine-video", "prompt": prompt}
)
request_id = response.json()["request_id"]
print(f"Request ID: {request_id}")
result = poll_video(request_id)
video_url = result["video"]["url"]
print(f"Video ready: {video_url}")
return video_url
video_url = generate_video(
"A timelapse of a city skyline at sunset transitioning to night, aerial view"
)
Örnek tamamlanmış yanıt:
{
"status": "done",
"video": {
"url": "https://vidgen.x.ai/....mp4",
"duration": 8,
"respect_moderation": true
},
"progress": 100,
"usage": {
"cost_in_usd_ticks": 500000000
}
}
xAI Python SDK ile Otomatik Sorgulama
xAI Python SDK ile sorgulama işlemini elle yazmadan çözebilirsiniz:
from xai_sdk import Client
import os
client = Client(api_key=os.environ["XAI_API_KEY"])
result = client.video.generate(
model="grok-imagine-video",
prompt="A golden retriever running through autumn leaves in slow motion",
duration=8,
resolution="720p",
aspect_ratio="16:9"
)
print(f"Video URL: {result.video.url}")
print(f"Süre: {result.video.duration}s")
SDK ile hızlıca üretim alabilirsiniz. Daha fazla kontrol için ham isteklerle kendi sorgulama döngünüzü yazın.
Video Üretimi için Etkili İstemler Yazmak
Başarılı video üretimi için isteminizi şu şekilde yapılandırın:
- Sahne açıklaması: Konu ve ortamı birlikte tanımlayın. Detaylı açıklama gerçekçi sahneler üretir.
- Hareket: Ne hareket edecek, nasıl ve hangi yönde belirtin. Örn: "Kamera kupanın etrafında döner; buhar yukarı yükselir."
- Kamera stili: "Yakın çekim", "havadan drone çekimi" gibi terimler kullanın.
- Aydınlatma ve ruh hali: "Altın saat", "sisli sabah, melankolik atmosfer" gibi ifadeler kullanın.
- Stil referansları: "Sinematik", "anime", "stop-motion". Birden fazla stili birleştirmek ilginç sonuçlar verebilir.
Örnek istem yapısı:
A lone astronaut floats past the International Space Station,
tether drifting behind them. The camera tracks slowly
alongside, showing Earth below. Cinematic, IMAX quality,
warm sunrise light reflecting off the visor.
Çözünürlük, Süre, En Boy Oranı Parametreleri
Süre
"duration": 10
- 1-15 saniye arasında, varsayılan 6 saniye.
Çözünürlük
"resolution": "720p"
-
"480p"(varsayılan),"720p"
En Boy Oranı
"aspect_ratio": "9:16"
Mevcut oranlar:
| Oran | En uygun |
|---|---|
| 16:9 | Masaüstü, YouTube |
| 9:16 | TikTok, Reels, mobil |
| 1:1 | Instagram akışı |
| 4:3 | Klasik video |
| 3:4 | Dikey mobil içerik |
| 3:2 | Standart foto oranı |
| 2:3 | Dikey fotoğrafçılık |
Tüm Parametrelerle Örnek
curl -X POST https://api.x.ai/v1/videos/generations \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video",
"prompt": "A coastal town at dawn, waves breaking gently on a rocky shore",
"duration": 10,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
Referans Görseller ile Stil Yönlendirme
reference_images parametresi ile en fazla 7 adet görsel URL'si gönderebilirsiniz. Bunlar, videonun görsel stilini yönlendirir:
{
"model": "grok-imagine-video",
"prompt": "A coastal town at dawn, waves breaking gently on a rocky shore",
"reference_images": [
{"url": "https://example.com/my-style-reference.jpg"},
{"url": "https://example.com/color-palette-reference.jpg"}
]
}
Tutarlı stil için benzer estetikte görseller kullanın. Referans görselde sahne isteminiz yönlendirir; görselden videoda ise kaynak görsel ilk kare olur.
Oluşturulan Videoları Uzatma ve Düzenleme
Bir Videoyu Uzatmak
POST /v1/videos/extensions ile mevcut bir videoya yeni çekimler ekleyebilirsiniz. Orijinal request_id ve yeni bir istem ile çağırın. 15 saniye sınırını aşmak için kullanılır.
Bir Videoyu Düzenlemek
POST /v1/videos/edits ile bir videoyu metin talimatına göre düzenleyebilirsiniz. Stil, sahne veya efektleri değiştirmek için kullanılır.
Her iki uç nokta da eş zamansızdır ve sonucu GET /v1/videos/{request_id} ile sorgulayabilirsiniz.
API Yanıtından Maliyeti Okuma
Tamamlanan yanıtın usage nesnesinde tick cinsinden maliyet bulunur:
"usage": {
"cost_in_usd_ticks": 500000000
}
Dolar karşılığı: cost_in_usd_ticks / 10_000_000
cost_in_usd = result["usage"]["cost_in_usd_ticks"] / 10_000_000
print(f"Cost: ${cost_in_usd:.4f}")
Fiyatlandırma Tablosu
| Çözünürlük | Saniye başı | 10 sn klip |
|---|---|---|
| 480p | $0.05 | $0.50 |
| 720p | $0.07 | $0.70 |
Her yanıttan tick değerini kaydederek kullanım panosu oluşturabilirsiniz.
Grok Video API'nizi Apidog ile Test Etme
Eş zamansız sorgulama deseni nedeniyle, ön uç kodunuzun yükleme, başarı ve hata durumlarını test etmesi gerekir. Gerçek API ile test maliyetli olacağı için Apidog'un Akıllı Sahte (Smart Mock) özelliğini kullanarak uç noktaları taklit edin.
Kullanım Durumu 1: Ön Uç Geliştirme için Smart Mock
-
POST /v1/videos/generationsuç noktasını oluşturun, yanıt şeması olarak tek birrequest_iddize alanı tanımlayın. -
GET /v1/videos/{request_id}için,status,video.url,progressveusage.cost_in_usd_ticksalanlarını içeren yanıt şeması tanımlayın. Sahte yanıtla"status": "done"ve örnek bir MP4 URL'si döndürün.
Artık ön uç ekibi, yükleme, başarı ve hata durumlarını gerçek API kredisi harcamadan test edebilir.
Kullanım Durumu 2: Sorgulama Döngüsü için Test Senaryoları
- Test senaryonuza
POST /v1/videos/generationsadımını ekleyin. Yanıttanrequest_id'yi çıkarıp değişkende saklayın. -
GET /v1/videos/{{videoRequestId}}adımını ekleyin, döngüye alıpstatus == "done"olana kadar kontrol edin. 5 sn bekleme ekleyin. - Döngüden sonra,
$.video.url'nin boş olmadığını doğrulayan bir kontrol ekleyin.
Bu şekilde, sorgulama mantığınız CI ortamında otomatik olarak test edilebilir.
Metinden Videoya mı, Görselden Videoya mı?
Aynı model kullanılsa da farklı kullanımlar için uygundur:
Metinden videoya tercih edin:
- Sıfırdan içerik üretecekseniz
- Modelin kompozisyonu özgürce oluşturmasını istiyorsanız
- Kullanıcıların istem yazdığı bir uygulama geliştiriyorsanız
- Kaynak görseliniz yoksa
Görselden videoya tercih edin:
- Belirli bir görseli canlandırmak istiyorsanız
- Mevcut görseldeki detayları korumak istiyorsanız
- Tutarlı animasyonlar üretmek için
Daha fazla detay için Grok görselden videoya API rehberine bakabilirsiniz.
Sık Karşılaşılan Hatalar ve Çözümleri
- 401 Yetkisiz: API anahtarı eksik/hatalı. Bearer token'ı doğru biçimde gönderin, anahtar aktif mi kontrol edin.
- 429 Çok Fazla İstek: Hız sınırı. Dakikada 60, saniyede 1 istek hakkınız var. Sorgulamalar arası gecikme ekleyin.
- Durum "failed": İçerik denetiminden geçmedi. İstemi revize edin, hassas ifadeleri çıkarın.
- Video URL'si 404: Video URL'si geçicidir. Hemen indirin, uzun süre saklamayın.
- Boş veya donmuş video: Belirsiz veya hareketsiz istemlerde olabilir. Açık hareket talimatları ekleyin.
- Yavaş sorgulama süreleri: 720p ve uzun klipler daha uzun sürer. Geliştirme için kısa ve düşük çözünürlük kullanın.
Sonuç
Grok metinden videoya API'si ile metin isteminden hızlıca video üretebilir, sorgulama döngüsü ile sonucu çekebilir ve çıktınızın parametrelerini (süre, çözünürlük, oran, stil) kolayca yönetebilirsiniz. Maliyet takibi için cost_in_usd_ticks değerini kullanın. Geliştirme ve test süreçlerinde Apidog ile uç noktaları taklit edin, Test Senaryoları ile entegrasyonunuzu sürekli doğrulayın.
Grok video API'si için sahte sunucunuzu ve test senaryolarınızı Apidog ile hızlıca kurabilirsiniz.
Sıkça Sorulan Sorular (SSS)
Metinden videoya oluşturma için hangi model adını kullanmalıyım?
grok-imagine-video kullanın. Bu, /v1/videos/generations POST isteğinde model alanıdır.
Video oluşturma ne kadar sürer?
Çözünürlük ve süreye göre değişir. 480p kısa klipler 30 saniyeden kısa sürebilir, 720p ve uzun klipler birkaç dakika alabilir. Her 5-10 saniyede bir sorgulama yapın.
15 saniyeden uzun video üretebilir miyim?
Tek seferde mümkün değil, maksimum duration 15 saniye. Daha uzun klipler için POST /v1/videos/extensions ile uzatma yapın.
Oluşturulan videoyu nasıl indiririm?
Sorgulama yanıtındaki result.video.url ile MP4 dosyasını hemen indirin. URL geçicidir.
İstemim içerik denetimini ihlal ederse ne olur?
status "failed" olur. Yanıtta respect_moderation alanı denetimin uygulandığını gösterir. İstemi değiştirip tekrar deneyin.
Video API'si için ücretsiz katman var mı?
xAI, çıktı saniyesi başına ücret alır. Ücretsiz katman yoktur. Kredi kampanyalarını console.x.ai üzerinden kontrol edin.
reference_images ile kaynak görsel arasında fark nedir?
Referans görseller, metinden videoya çalışmasında stil rehberliği sunar. Görselden videoda ise kaynak görsel ilk kare olur.
Kredi harcamadan sorgulama döngüsü nasıl test edilir?
Apidog'un Smart Mock özelliği ile her iki uç noktayı taklit edin. "processing" ve "done" durumları için sahte yanıtlar ayarlayın, kodunuz gerçek API'ye dokunmadan çalışır.


Top comments (0)