SpaceXAI: Grok Imagine Video
Grok Imagine Video genererar korta klipp från text, en startbild eller upp till sju visuella referenser. Den klassiska versionen redigerar också befintliga MP4-klipp och lägger till 2–10 sekunders fortsättning. Generering når 720p med ljud; redigering och förlängning bevarar källans bildutsnitt inom sina egna gränser.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Grok Imagine Video är den klassiska versionen i Grok Imagine-videofamiljen. Tillverkarens aktuella dokumentation omfattar generering av ett nytt klipp från en prompt, animering av en startbild, användning av visuella referenser och ändring eller fortsättning av en befintlig video. Arbetsflödena skapar olika leveranser: en ny scen, en redigerad version av angivet material eller en video som innehåller originalmaterialet följt av nytt innehåll. Välj arbetsflöde utifrån materialet som redan finns och den del av tagningen som behöver ändras.
Beskriv motiv, miljö, synlig handling, kamera och ljud för en ny text-till-video-tagning. Standardgenerering stöder klipp på 1–15 sekunder, med utdata i 480p eller 720p och genererat ljud. Kvadratiska, liggande, stående och bredare förhållanden dokumenteras, inklusive 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 och 5:2. Ett ursprungligt uppdrag kan be om en papperslykta som rör sig varsamt över en stillsam gård medan kameran åker i sidled. En användbar granskning kontrollerar om rörelse, bildutsnitt och atmosfärljud stödjer denna enda tagning.
I bild-till-video är den angivna stillbilden den första bildrutan. Förbered den med avsedd beskärning, motiv och synliga detaljer och beskriv sedan handlingen som följer. Utdata följer bildens bildförhållande. En startbild ger en exakt öppningskomposition, medan referens-till-video använder bilder för att vägleda personer, produkter eller miljö i en nykomponerad scen. Att hålla rollerna åtskilda hjälper till att undvika en oavsiktlig öppning när målet är att placera ett känt objekt i en annan miljö.
Den klassiska modellen accepterar upp till sju referensbilder per referensstyrd begäran. Läget är begränsat till tio sekunder och 720p. Ge varje referens en tydlig roll och identifiera den genom dess position i listan, med början på <IMAGE_0>. En referens kan identifiera objektet och en annan önskad plats för en produktvinjett. Håll uppdraget fokuserat på objektets placering och tagningens huvudhandling. Det klassiska referensläget använder sin egen konfiguration; fullständiga 1.5 erbjuder ytterligare kontroller för vald röst och fixerade bildrutor.
Videoredigering tar ett befintligt klipp och en prompt som beskriver förändringen. Tillverkaren accepterar MP4-källor med kodekar som stöds, till exempel H.264, H.265 eller AV1, på upp till 8,7 sekunder. Det redigerade resultatet behåller källans längd och bildförhållande och följer dess upplösning upp till ett tak på 720p. Anpassade kontroller för längd, bildförhållande och upplösning gäller inte i detta redigeringsarbetsflöde. Förbered en källa som redan har kompositionen och timingen som slutbruket behöver, så att prompten kan koncentrera sig på avsedd visuell ändring.
Ett ursprungligt redigeringsuppdrag kan ändra färgen på en halsduk samtidigt som personens ansikte, rörelse, bakgrund och kamera behålls. Ange de bevarade elementen uttryckligen tillsammans med ändringen. Tillverkaren beskriver att resten av källan ska behållas så nära som möjligt, vilket är ett användbart granskningsmål snarare än en garanti för att varje pixel förblir identisk. Jämför resultatet genom hela klippet, särskilt där objektet rör sig, korsar ett annat objekt eller blir delvis dolt. Slutleveransen är det redigerade klippet, inte enbart en stillbild som visar den nya färgen.
Videoförlängning fortsätter från den sista bildrutan i en befintlig MP4. Dokumenterad källängd är 2–15 sekunder; den tillagda delen är 2–10 sekunder, med sex sekunder som standard. Förlängningslängden gäller bara den nya delen. En källa på tio sekunder följd av fem sekunders fortsättning skapar en femtonsekunders video som innehåller båda delarna. Resultatet bevarar källans bildförhållande och upplösning inom ett tak på 720p. Förbered källans sista ögonblick och beskriv vad som ska hända sedan, till exempel att motivet vänder sig mot ett närmande objekt medan kameran fortsätter sin nuvarande rörelse.
Granska en förlängning runt gränsen mellan källan och det nya innehållet. Kontrollera motividentitet, rörelseriktning, kameratempo, ljus och ljud så att fortsättningen passar föregående handling. Om ett klipp slutar vid en visuellt besvärlig punkt gör du den gränsen till en uttrycklig del av planen för nästa tagning. Montering av längre scener är ett redigeringsbeslut: modellens längdgränser för generering, referens, redigering och förlängning är separata och ett totalt förlängningsresultat kan vara längre än ett vanligt nygenererat klipp.
Tillverkarens videoarbetsflöde är asynkront. En begäransidentifierare spårar jobbet tills ett färdigt resultat ger videoadress och längd; utdataadresser är tillfälliga. Spara det spelbara resultatet och dess källmaterial när en produktionsredigering förbereds. Fullständiga Grok Imagine Video 1.5 erbjuder direkt generering i 1080p och rikare förankring av visuellt innehåll, röst och bildrutor, medan Lite tjänar enkla uppdrag från prompt eller startbild. Den klassiska versionen förblir användbar när startmaterialet redan är en video som behöver en styrd ändring eller fortsättning.
Ailoot Ultra · Video POST /v1/videos x-ai/grok-imagine-video
x-ai/grok-imagine-videoStart
Grok Imagine Video genererar korta klipp från text, en startbild eller upp till sju visuella referenser. Den klassiska versionen redigerar också befintliga MP4-klipp och lägger till 2–10 sekunders fortsättning. Generering når 720p med ljud; redigering och förlängning bevarar källans bildutsnitt inom sina egna gränser.
- Godkända indata
- Text · Bilder
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Video POST /v1/videos
- Indatatyper
text,image- Utdatatyper
video- Utdataformat
- ursprungliga MP4-byte; ingen normalisering/omkodning
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser x-ai/grok-imagine-video | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser | Standard— |
Fältduration | Typinteger | KravObligatoriskt | Värden & gränser 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Minimum: 1 Maximum: 600 | Standard— |
Fältresolution | Typstring | KravValfritt | Värden & gränser 480p, 720p | Standard— |
Fältaspect_ratio | Typstring | KravValfritt | Värden & gränser 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3 | Standard— |
Fältgenerate_audio | Typboolean | KravValfritt | Värden & gränser false | Standard— |
Fältframe_images | Typarray | KravValfritt | Värden & gränser Minsta antal objekt: 1 Maximalt antal objekt: 1 Indatainnehåll: Array med bildruteobjekt. Varje objekt har type=image_url, image_url som innehåller url samt frame_type. Använd en HTTPS URL till en bild och sätt frame_type till first_frame. Varje bildruteroll förekommer högst en gång. Exakta nycklar: type, image_url, frame_type Villkor: Dessa nycklar beskriver varje bildruteobjekt; image_url innehåller endast url. Utelämna frame_images för en begäran med enbart text. | Standard— |
Fältinput_references | Typarray | KravValfritt | Värden & gränser | Standard— |
Fältsize | Typstring | KravValfritt | Värden & gränser 854x480, 1280x720, 480x854, 720x1280, 480x480, 720x720, 640x480, 960x720, 480x640, 720x960, 720x480, 1080x720, 480x720, 720x1080 Mönster: ^[1-9][0-9]*x[1-9][0-9]*$ | Standard— |
Fältcallback_url | Typstring | KravValfritt | Värden & gränser Mönster: ^https:// | Standard— |
Fältsession_id | Typstring | KravValfritt | Värden & gränser | Standard— |
Fälttrace | Typobject | KravValfritt | Värden & gränser | Standard— |
Fältuser | Typstring | KravValfritt | Värden & gränser | Standard— |
Kombinationer av indatamaterial
Text till video · En skriven prompt. · Krävs: model, prompt, duration
Ange prompt som text och längd i hela sekunder. Välj en upplösning som stöds; lägg till ett bildförhållande eller använd en angiven storlek.
model: Typ: string · x-ai/grok-imagine-video
prompt: Typ: string · Maximalt antal UTF-8-byte: 10 000 · Minst ett tecken som inte är blanksteg krävs: Ja
Bild till video · En skriven prompt och en bild för den första bildrutan. · Krävs: model, prompt, duration, frame_images
frame_images är en array. Varje bildruteobjekt har type, image_url och frame_type; image_url innehåller url. Sätt type till image_url. Använd first_frame. Varje bildruteroll förekommer högst en gång. Ange en offentlig HTTPS URL till en bild för varje bildruta. Använd bildrutor eller bildreferenser i en begäran; kombinera inte båda. Välj en upplösning som stöds; lägg till ett bildförhållande eller använd en angiven storlek.
Exakta nycklar: type, image_url, frame_type
model: Typ: string · x-ai/grok-imagine-video
prompt: Typ: string · Maximalt antal UTF-8-byte: 10 000 · Minst ett tecken som inte är blanksteg krävs: Ja
Reference to video · En skriven prompt och bildreferenser som stöds. · Krävs: model, prompt, duration, input_references
input_references är en array med objekt. Sätt type till image_url och använd motsvarande fält som innehåller url. Använd offentliga HTTPS-länkar. Utelämna frame_images för att välja referensläge. Kombinera inte bildreferenser med bildrutor. Välj en upplösning som stöds; lägg till ett bildförhållande eller använd en angiven storlek.
model: Typ: string · x-ai/grok-imagine-video
prompt: Typ: string · Maximalt antal UTF-8-byte: 10 000 · Minst ett tecken som inte är blanksteg krävs: Ja
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt, duration |
Parametermaterial_types | Avtaltext, image |
Parameteradditional_properties | Avtalfalse |
Parameteroptional_controls | Avtalresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
Livscykel: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Debiteringsenhet | Debiteringsvillkor | Avgift |
|---|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Debiteringsenhet— | Debiteringsvillkor— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationIndatabild | Prislista— | Prognostiserad mängd— | Debiteringsenhetper bild | DebiteringsvillkorInget ytterligare villkor anges i denna prisnyckel. | Avgift Indata · Indatabild · Uppskattning endast för jämförelse $0.004 per bild |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Debiteringsenhetper videosekund | Debiteringsvillkorresolution: 480p | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $0.1 per videosekund |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Debiteringsenhetper videosekund | Debiteringsvillkorresolution: 720p | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $0.14 per videosekund |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsenhet— | Debiteringsvillkor— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.1 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Detaljer om referenstariffen
Referensprislistor på modellnivå ändrar inte metodval, prisuppgifter eller avgifter. Aktiva avgifter använder priserna för den valda Ailoot-metoden.
Prisreferenser för videokonfigurationer
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Debiteringsvillkor | Avgift |
|---|---|---|
| KonfigurationIndatabild | DebiteringsvillkorInget ytterligare villkor anges i denna prisnyckel. | Avgift Indata · Indatabild $0.004 per bild Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
| KonfigurationVideopris | Debiteringsvillkorresolution: 480p | Avgift Utdata · Videopris $0.1 per videosekund Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
| KonfigurationVideopris | Debiteringsvillkorresolution: 720p | Avgift Utdata · Videopris $0.14 per videosekund Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
Exempelbegäranden
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"x-ai/grok-imagine-video","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Ta emot och spara resultat
Ailoot Ultra · Video
signerade innehållslänkar som du äger
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Kontrollera jobbstatus
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Andra innehållsläsningar
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Behåll varje faktiskt resultat som du äger och dess returnerade, uppmätta metadata.
Om det ursprungliga svaret behöver kontrolleras
503 result_pending_check + ursprungligt id + X-Should-Retry:false; upprepa aldrig originalet
Svarsfält
| Fält | Typ | Betydelse |
|---|---|---|
Fältindex | Typinteger | BetydelseNollbaserad position för denna video i utdatalistan. |
Fältcontent_url | Typstring | BetydelseSignerad HTTPS URL för hämtning av denna färdiga video. |
Fältsha256 | Typstring | null | BetydelseSHA-256-kontrollsumma för den ursprungliga videons byte; null om den inte är tillgänglig. |
Fältsize_bytes | Typinteger | null | BetydelseStorleken på den ursprungliga videofilen i byte; null om den inte är tillgänglig. |
Fältduration_ms | Typinteger | null | BetydelseUppmätt videolängd i millisekunder; null om den inte är tillgänglig. |
Fältwidth | Typinteger | null | BetydelseVideobredd i pixlar; null om den inte är tillgänglig. |
Fältheight | Typinteger | null | BetydelseVideohöjd i pixlar; null om den inte är tillgänglig. |
Fältvideo_codec | Typstring | null | BetydelseIdentifierare för videokodek; null om ingen har registrerats. |
Fälthas_audio | Typboolean | null | BetydelseOm videon innehåller ett ljudspår; null om detta inte har mätts. |
Fältaudio_codec | Typstring | null | BetydelseIdentifierare för ljudkodek; null när ingen identifierare har registrerats. |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar404 · not_found_error | VillkorVideoåtkomst är inte tillgänglig eller detta video-ID hittades inte. | Nästa stegKontrollera videoåtkomst. För en befintlig video använder du dess ursprungliga offentliga ID och samma API-nyckel. |
Svar401 · authentication_error | VillkorAPI-nyckeln motsvarar inte det autentiserade kontot. | Nästa stegKontrollera din API-nyckel och kontoåtkomst innan du skickar in. |
Svar400 · invalid_request_error | VillkorBegäran kunde inte läsas eller hämtningsindexet är ogiltigt. | Nästa stegKorrigera begäranskroppen. Vid hämtning väljer du ett utdataindex som returnerats av den ursprungliga uppgiften. |
Svar422 · price_unavailable | VillkorDen valda videokonfigurationen kan inte prissättas. | Nästa stegVälj en videokonfiguration som stöds och fyll i dess obligatoriska alternativ innan du skickar en korrigerad begäran. |
Svar422 · invalid_request_error | VillkorVideoindata eller den ursprungliga fortsättningsuppgiften är ogiltig. | Nästa stegAnvänd giltiga HTTPS-indata. För fortsättning använder du det färdiga originalets offentliga video-ID med samma API-nyckel. |
Svar402 · billing_error | VillkorDet tillgängliga saldot eller gränserna medger ingen reservation. | Nästa stegKontrollera ditt tillgängliga saldo och dina gränser innan du skickar en ny begäran. |
Svar503 · server_error | VillkorVideoverifiering, lagring eller tjänsteåtkomst är tillfälligt otillgänglig. | Nästa stegVänta tills tjänsten är tillgänglig. Om du redan har ett video-ID kontrollerar du den ursprungliga uppgiften i stället för att skapa en ny generering. |
Svar503 · result_pending_check | VillkorDet ursprungliga videoresultatet och debiteringen behöver kontrolleras. | Nästa stegBehåll det returnerade video-ID:t och kontrollera den uppgiften. Skicka ingen ersättande genereringsbegäran medan den kontrolleras. |
Svar503 · owned_result_unavailable | VillkorHämtningen av den befintliga videon är tillfälligt otillgänglig. | Nästa stegKontrollera samma videouppgift senare och hämta dess befintliga resultat. En ny generering skapar en separat operation. |
Svar409 · video_not_ready | VillkorVideoinnehållet har inte publicerats. | Nästa stegKontrollera den ursprungliga uppgiftens status. Hämta när den rapporterar completed; om den rapporterar failed följer du dess meddelande om debiteringskontroll. |
Alias
Modellalias
Ailoot Ultra x-ai/grok-imagine-video
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
FAQ · SpaceXAI: Grok Imagine Video
- Vilka indata och resultat finns?
POST /v1/videos·x-ai/grok-imagine-video:text,image→video- Vilka fält använder begäran?
POST /v1/videos·x-ai/grok-imagine-video:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,callback_url,session_id,trace,user- Vilka gränser gäller?
POST /v1/videos·x-ai/grok-imagine-video:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1