SpaceXAI: Grok Imagine Video
Grok Imagine Video genererer korte klip ud fra tekst, et startbillede eller op til syv visuelle referencer. Den klassiske udgave redigerer også eksisterende MP4-klip og tilføjer 2–10 sekunders fortsættelse. Generering når 720p med lyd; redigering og forlængelse bevarer kildens indramning inden for deres egne grænser.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Grok Imagine Video er den klassiske udgave af Grok Imagine-videofamilien. Producentens aktuelle dokumentation omfatter generering af et nyt klip fra en prompt, animation af et startbillede, brug af visuelle referencer og ændring eller fortsættelse af en eksisterende video. Arbejdsgangene producerer forskellige artefakter: en ny scene, en redigeret version af leverede optagelser eller én video med de oprindelige optagelser efterfulgt af nyt indhold. Vælg arbejdsgangen ud fra det materiale, der allerede er til rådighed, og den del af indstillingen, der skal ændres.
Til en ny tekst-til-video-indstilling skal motiv, miljø, synlig handling, kamera og lyd beskrives. Standardgenerering understøtter klip på 1–15 sekunder med output ved 480p eller 720p og genereret lyd. Kvadratiske, liggende, stående og bredere billedformater er dokumenteret, herunder 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 og 5:2. En oprindelig brief kan bede om en papirlanterne, der bevæger sig blidt over en stille gård, mens kameraet tracker sidelæns. Den nyttige gennemgang kontrollerer, om bevægelse, indramning og atmosfærelyd understøtter denne ene indstilling.
Ved billede-til-video er det leverede stillbillede det første billede. Forbered det med den ønskede beskæring, motiv og synlige detaljer, og beskriv derefter den efterfølgende handling. Outputtet følger billedets format. Et startstillbillede giver en præcis åbningskomposition, mens reference-til-video bruger billeder til at styre personer, produkter eller miljø i en nykomponeret scene. At holde de to roller adskilt hjælper med at undgå en utilsigtet begyndelse, når målet er at placere et kendt objekt i andre omgivelser.
Den klassiske model accepterer op til syv referencebilleder pr. referencestyret anmodning. Denne tilstand er begrænset til ti sekunder og 720p. Giv hver reference en tydelig rolle, og identificer den ved dens position i listen med start ved <IMAGE_0>. Til en produktvignet kan én reference identificere objektet og en anden det ønskede sted. Hold briefen fokuseret på objektets placering og indstillingens hovedhandling. Den klassiske referencetilstand bruger sin egen konfiguration; den fulde 1.5-udgave leverer de ekstra kontroller til valgt stemme og fastlagte billeder.
Videoredigering tager et eksisterende klip og en prompt, der beskriver ændringen. Producenten accepterer MP4-kilder med understøttede codecs som H.264, H.265 eller AV1 på op til 8.7 sekunder. Det redigerede resultat beholder kildens varighed og billedformat og følger opløsningen op til et loft på 720p. Brugerdefinerede kontroller for varighed, billedformat og opløsning gælder ikke denne redigeringsarbejdsgang. Forbered en kilde, der allerede har den nødvendige komposition og timing til slutbrugen, så prompten kan koncentrere sig om den ønskede visuelle ændring.
En oprindelig redigeringsbrief kan ændre et tørklædes farve og bevare personens ansigt, bevægelse, baggrund og kamera. Angiv disse bevarede elementer eksplicit sammen med ændringen. Producenten beskriver bevarelse af resten af kilden så tæt som muligt, hvilket er et nyttigt mål for gennemgangen frem for en garanti for, at hver pixel forbliver identisk. Sammenlign resultatet gennem hele klippet, især hvor objektet bevæger sig, krydser et andet objekt eller bliver delvist skjult. Den færdige leverance er det redigerede klip, ikke blot et stillbillede, der viser den nye farve.
Videoforlængelse fortsætter fra det sidste billede i en eksisterende MP4. Den dokumenterede kildelængde er 2–15 sekunder; den tilføjede del er 2–10 sekunder med seks sekunder som standard. Forlængelsesvarigheden gælder kun den nye del. En kilde på ti sekunder efterfulgt af fem sekunders fortsættelse giver en video på femten sekunder med begge dele. Resultatet bevarer kildens billedformat og opløsning inden for et loft på 720p. Forbered kildens sidste øjeblik, og beskriv, hvad der derefter skal ske, for eksempel at motivet drejer mod et objekt, der nærmer sig, mens kameraet fortsætter sin nuværende bevægelse.
Gennemgå en forlængelse omkring grænsen mellem kilde og nyt indhold. Kontrollér motividentitet, bevægelsesretning, kameratempo, lys og lyd, så fortsættelsen passer til den foregående handling. Hvis et klip slutter et visuelt akavet sted, skal denne grænse være en eksplicit del af planen for næste indstilling. Samling af længere scener er en redigeringsbeslutning: modellens varighedsgrænser for generering, reference, redigering og forlængelse er særskilte, og en forlængelses samlede resultat kan være længere end et almindeligt nygenereret klip.
Producentens videoarbejdsgang er asynkron. En anmodningsidentifikator sporer en opgave, indtil et færdigt resultat leverer videoens placering og varighed; outputplaceringer er midlertidige. Gem det afspillelige resultat og kildematerialerne, når en produktionsredigering forberedes. Fuld Grok Imagine Video 1.5 tilbyder direkte generering i 1080p og rigere forankring med visuelle referencer, stemmer og billeder, mens Lite er til enkel prompt- eller startbilledproduktion. Den klassiske udgave er fortsat nyttig, når udgangsmaterialet allerede er en video, der kræver en styret ændring eller fortsættelse.
Ailoot Ultra · Video POST /v1/videos x-ai/grok-imagine-video
x-ai/grok-imagine-videoStart
Grok Imagine Video genererer korte klip ud fra tekst, et startbillede eller op til syv visuelle referencer. Den klassiske udgave redigerer også eksisterende MP4-klip og tilføjer 2–10 sekunders fortsættelse. Generering når 720p med lyd; redigering og forlængelse bevarer kildens indramning inden for deres egne grænser.
- Accepterede input
- Tekst · Billeder
- Resultater
- Video
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Video POST /v1/videos
- Inputtyper
text,image- Outputtyper
video- Outputformat
- oprindelige MP4-bytes; ingen normalisering/transkodning
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser x-ai/grok-imagine-video | Standard— |
Feltprompt | Typestring | KravPåkrævet | Værdier og grænser | Standard— |
Feltduration | Typeinteger | KravPåkrævet | Værdier og grænser 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Minimum: 1 Maksimum: 600 | Standard— |
Feltresolution | Typestring | KravValgfrit | Værdier og grænser 480p, 720p | Standard— |
Feltaspect_ratio | Typestring | KravValgfrit | Værdier og grænser 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3 | Standard— |
Feltgenerate_audio | Typeboolean | KravValgfrit | Værdier og grænser false | Standard— |
Feltframe_images | Typearray | KravValgfrit | Værdier og grænser Minimumsantal elementer: 1 Maksimalt antal elementer: 1 Inputindhold: Array af billedobjekter. Hvert objekt har type=image_url, image_url med url samt frame_type. Brug en HTTPS URL til et billede, og sæt frame_type til first_frame. Hver billedrolle må højst forekomme én gang. Præcise nøgler: type, image_url, frame_type Betingelser: Disse nøgler beskriver hvert billedobjekt; image_url indeholder kun url. Udelad frame_images ved en forespørgsel med kun tekst. | Standard— |
Feltinput_references | Typearray | KravValgfrit | Værdier og grænser | Standard— |
Feltsize | Typestring | KravValgfrit | Værdier og 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— |
Feltcallback_url | Typestring | KravValgfrit | Værdier og grænser Mønster: ^https:// | Standard— |
Feltsession_id | Typestring | KravValgfrit | Værdier og grænser | Standard— |
Felttrace | Typeobject | KravValgfrit | Værdier og grænser | Standard— |
Feltuser | Typestring | KravValgfrit | Værdier og grænser | Standard— |
Kombinationer af inputmaterialer
Tekst til video · En skriftlig prompt. · Påkrævet: model, prompt, duration
Angiv prompten som tekst og varigheden i hele sekunder. Vælg en understøttet opløsning; tilføj et billedformat, eller brug en angivet størrelse.
model: Type: string · x-ai/grok-imagine-video
prompt: Type: string · Maksimalt antal UTF-8-bytes: 10.000 · Mindst ét tegn, der ikke er et blanktegn, kræves: Ja
Billede til video · En skriftlig prompt og et billede til første frame. · Påkrævet: model, prompt, duration, frame_images
frame_images er et array. Hvert billedobjekt har type, image_url og frame_type; image_url indeholder url. Sæt type til image_url. Brug first_frame. Hver billedrolle må højst forekomme én gang. Angiv en offentlig HTTPS URL til hvert billede. Brug enkeltbilleder eller billedreferencer i én forespørgsel; kombinér ikke begge. Vælg en understøttet opløsning; tilføj et billedformat, eller brug en angivet størrelse.
Præcise nøgler: type, image_url, frame_type
model: Type: string · x-ai/grok-imagine-video
prompt: Type: string · Maksimalt antal UTF-8-bytes: 10.000 · Mindst ét tegn, der ikke er et blanktegn, kræves: Ja
Reference to video · En skriftlig prompt og understøttede billedreferencer. · Påkrævet: model, prompt, duration, input_references
input_references er et array af objekter. Sæt type til image_url, og brug det tilsvarende felt med url. Brug offentlige HTTPS-URL’er. Udelad frame_images for at vælge referencetilstand. Kombinér ikke billedreferencer med enkeltbilleder. Vælg en understøttet opløsning; tilføj et billedformat, eller brug en angivet størrelse.
model: Type: string · x-ai/grok-imagine-video
prompt: Type: string · Maksimalt antal UTF-8-bytes: 10.000 · Mindst ét tegn, der ikke er et blanktegn, kræves: Ja
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, prompt, duration |
Parametermaterial_types | Kontrakttext, image |
Parameteradditional_properties | Kontraktfalse |
Parameteroptional_controls | Kontraktresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
Livscyklus: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Priser
Sådan beregnes det endelige beløb
De viste satser bruges til at anslå omkostningen før genereringen. Det endelige beløb beregnes ud fra den registrerede omkostning for den oprindelige generering. Den målte varighed af outputtet og de anslåede mængder er ikke den endelige fakturerbare mængde.
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Estimerede takster til sammenligning
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Forventet mængde | Afregningsenhed | Afregningsbetingelser | Beløb |
|---|---|---|---|---|---|
| KonfigurationGrundpriser for tokens | TakstplanGrundtakst | Forventet mængde— | Afregningsenhed— | Afregningsbetingelser— | Beløb Input · Inputtokens · Estimat kun til sammenligning — / 1K tokens Output · Outputtokens · Estimat kun til sammenligning — / 1K tokens Input · Cachelæsning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning, 1 time · Estimat kun til sammenligning — / 1K tokens |
| KonfigurationInputbillede | Takstplan— | Forventet mængde— | Afregningsenhedpr. billede | AfregningsbetingelserDer er ikke angivet nogen yderligere betingelse i denne prisnøgle. | Beløb Input · Inputbillede · Estimat kun til sammenligning $0.004 pr. billede |
| KonfigurationVideopris | Takstplan— | Forventet mængde— | Afregningsenhedpr. videosekund | Afregningsbetingelserresolution: 480p | Beløb Output · Videopris · Estimat kun til sammenligning $0.1 pr. videosekund |
| KonfigurationVideopris | Takstplan— | Forventet mængde— | Afregningsenhedpr. videosekund | Afregningsbetingelserresolution: 720p | Beløb Output · Videopris · Estimat kun til sammenligning $0.14 pr. videosekund |
| KonfigurationAnslået genereringsomkostning | Takstplan— | Forventet mængdeestimat for én generering | Afregningsenhed— | Afregningsbetingelser— | Beløb Output · Anslået genereringsomkostning · Estimat kun til sammenligning $0.1 estimat før generering Dette estimat er hverken et ekstra gebyr eller en fast pris for den færdige generering. |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Detaljer om referencetariffen
Referenceplaner på modelniveau ændrer ikke metodevalg, prisoverslag eller opkrævninger. Ved den aktive afregning anvendes taksterne for den valgte Ailoot-metode.
Prisreferencer for videokonfigurationer
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Afregningsbetingelser | Beløb |
|---|---|---|
| KonfigurationInputbillede | AfregningsbetingelserDer er ikke angivet nogen yderligere betingelse i denne prisnøgle. | Beløb Input · Inputbillede $0.004 pr. billede Offentliggjort prisreference for den viste konfiguration. Den endelige afregning følger den konfiguration, der faktisk faktureres. |
| KonfigurationVideopris | Afregningsbetingelserresolution: 480p | Beløb Output · Videopris $0.1 pr. videosekund Offentliggjort prisreference for den viste konfiguration. Den endelige afregning følger den konfiguration, der faktisk faktureres. |
| KonfigurationVideopris | Afregningsbetingelserresolution: 720p | Beløb Output · Videopris $0.14 pr. videosekund Offentliggjort prisreference for den viste konfiguration. Den endelige afregning følger den konfiguration, der faktisk faktureres. |
Eksempelanmodninger
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
Hent og gem resultater
Ailoot Ultra · Video
signerede indholds-URL’er, du ejer
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Kontrollér opgavestatus
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
Læsning af andet indhold
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
Behold alle færdige resultater
Gem hver færdig video eller returneret fil; hent hver faktisk returneret fil-URL.
Behold hvert faktisk output, du ejer, og dets returnerede, målte metadata.
Hvis det oprindelige svar skal kontrolleres
503 result_pending_check + originalid + X-Should-Retry:false; gentag aldrig originalen
Svarfelter
| Felt | Type | Betydning |
|---|---|---|
Feltindex | Typeinteger | BetydningDenne videos position i outputlisten, talt fra nul. |
Feltcontent_url | Typestring | BetydningSigneret HTTPS URL til download af denne færdige video. |
Feltsha256 | Typestring | null | BetydningSHA-256-hash af de oprindelige videobytes; null, hvis den ikke er tilgængelig. |
Feltsize_bytes | Typeinteger | null | BetydningDen oprindelige videofils størrelse i bytes; null, hvis den ikke er tilgængelig. |
Feltduration_ms | Typeinteger | null | BetydningMålt videovarighed i millisekunder; null, hvis den ikke er tilgængelig. |
Feltwidth | Typeinteger | null | BetydningVideoens bredde i pixels; null, hvis den ikke er tilgængelig. |
Feltheight | Typeinteger | null | BetydningVideoens højde i pixels; null, hvis den ikke er tilgængelig. |
Feltvideo_codec | Typestring | null | BetydningIdentifikator for videocodec; null, hvis den ikke er registreret. |
Felthas_audio | Typeboolean | null | BetydningOm videoen indeholder et lydspor; null, hvis det ikke er målt. |
Feltaudio_codec | Typestring | null | BetydningIdentifikator for lydcodec; null, når ingen identifikator er registreret. |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar404 · not_found_error | BetingelseVideoadgang er utilgængelig, eller dette video-ID blev ikke fundet. | Næste trinKontrollér videoadgang. For en eksisterende video skal du bruge dens oprindelige offentlige ID og samme API-nøgle. |
Svar401 · authentication_error | BetingelseAPI-nøglen stemmer ikke overens med den autentificerede konto. | Næste trinKontrollér din API-nøgle og kontoadgang, før du indsender. |
Svar400 · invalid_request_error | BetingelseForespørgslen kunne ikke læses, eller downloadindekset er ugyldigt. | Næste trinRet forespørgselsindholdet. Ved download skal du vælge et outputindeks, der er returneret af den oprindelige opgave. |
Svar422 · price_unavailable | BetingelseDen valgte videokonfiguration kan ikke prissættes. | Næste trinVælg en understøttet videokonfiguration, og udfyld dens påkrævede indstillinger, før du sender en rettet forespørgsel. |
Svar422 · invalid_request_error | BetingelseEt videoinput eller den oprindelige fortsættelsesopgave er ugyldigt. | Næste trinBrug gyldigt HTTPS-input. Ved fortsættelse skal du bruge din færdige originals offentlige video-ID med samme API-nøgle. |
Svar402 · billing_error | BetingelseDen tilgængelige saldo eller grænserne tillader ikke en reservation. | Næste trinKontrollér din tilgængelige saldo og dine grænser, før du sender en ny forespørgsel. |
Svar503 · server_error | BetingelseVideokontrol, lager eller tjenesteadgang er midlertidigt utilgængelig. | Næste trinVent, indtil tjenesten er tilgængelig. Hvis du allerede har et video-ID, skal du kontrollere den oprindelige opgave i stedet for at oprette en ny generering. |
Svar503 · result_pending_check | BetingelseDet oprindelige videoresultat og opkrævningen skal kontrolleres. | Næste trinBehold det returnerede video-ID, og kontrollér denne opgave. Send ikke en erstatningsforespørgsel om generering, mens den kontrolleres. |
Svar503 · owned_result_unavailable | BetingelseDownload af den eksisterende video er midlertidigt utilgængelig. | Næste trinKontrollér samme videoopgave senere, og download dens eksisterende output. En ny generering opretter en separat operation. |
Svar409 · video_not_ready | BetingelseVideoindholdet er ikke blevet offentliggjort. | Næste trinKontrollér den oprindelige opgaves status. Download, når den melder completed; hvis den melder failed, skal du følge dens meddelelse om kontrol af opkrævningen. |
Aliaser
Modelaliaser
Ailoot Ultra x-ai/grok-imagine-video
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
FAQ · SpaceXAI: Grok Imagine Video
- Hvilke input og resultater er tilgængelige?
POST /v1/videos·x-ai/grok-imagine-video:text,image→video- Hvilke felter bruger anmodningen?
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- Hvilke grænser gælder?
POST /v1/videos·x-ai/grok-imagine-video:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1