SpaceXAI: Grok Imagine Video
Grok Imagine Video genera brevi clip da testo, un’immagine iniziale o fino a sette riferimenti visivi. L’edizione classica modifica anche clip MP4 esistenti e aggiunge 2–10 secondi di continuazione. La generazione arriva a 720p con audio; modifica ed estensione preservano l’inquadratura sorgente entro i rispettivi limiti.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Grok Imagine Video è l’edizione classica della famiglia video Grok Imagine. L’attuale documentazione del produttore copre la generazione di un nuovo clip da un prompt, l’animazione di un’immagine iniziale, l’uso di riferimenti visivi e la modifica o continuazione di un video esistente. Questi flussi producono risultati differenti: una nuova scena, una versione modificata del filmato fornito oppure un video contenente il filmato originale seguito da nuovi contenuti. Scegli il flusso in base al materiale già disponibile e alla parte dell’inquadratura da cambiare.
Per una nuova inquadratura generata da testo, descrivi soggetto, ambiente, azione visibile, camera e suono. La generazione standard supporta clip di 1–15 secondi, con output a 480p o 720p e audio generato. Sono documentati rapporti quadrati, orizzontali, verticali e più ampi, tra cui 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 e 5:2. Un brief può chiedere una lanterna di carta che si muove delicatamente sopra un cortile tranquillo mentre la camera si sposta lateralmente. Il controllo utile verifica che movimento, inquadratura e suono ambientale sostengano quella singola ripresa.
Nella generazione da immagini, l’immagine fissa fornita è il primo fotogramma. Preparala con il ritaglio, il soggetto e i dettagli visibili desiderati, poi descrivi l’azione successiva. L’output segue il rapporto d’aspetto dell’immagine. Un’immagine iniziale offre una composizione d’apertura esatta, mentre la generazione da riferimenti usa immagini per guidare persone, prodotti o ambiente in una scena composta ex novo. Distinguere questi due ruoli aiuta a evitare un’apertura indesiderata quando l’obiettivo è collocare un oggetto noto in un’altra ambientazione.
Il modello classico accetta fino a sette immagini di riferimento per richiesta guidata da riferimenti. Questa modalità è limitata a dieci secondi e 720p. Assegna a ogni riferimento un ruolo chiaro e identificalo tramite la posizione nell’elenco, iniziando da <IMAGE_0>. Per una breve scena di prodotto, un riferimento può identificare l’oggetto e un altro il luogo desiderato. Concentra il brief sulla posizione dell’oggetto e sull’azione principale dell’inquadratura. La modalità classica di riferimenti usa una propria configurazione; l’edizione 1.5 completa offre i controlli aggiuntivi di voci selezionate e fotogrammi fissati.
La modifica video usa un clip esistente e un prompt che descrive il cambiamento. Il produttore accetta sorgenti MP4 con codec supportati come H.264, H.265 o AV1, fino a 8,7 secondi di durata. Il risultato modificato mantiene durata e rapporto d’aspetto della sorgente e ne segue la risoluzione entro un massimo di 720p. I controlli personalizzati di durata, rapporto d’aspetto e risoluzione non si applicano a questo flusso di modifica. Prepara una sorgente che abbia già composizione e tempi necessari per l’uso finale, così il prompt può concentrarsi sulla modifica visiva prevista.
Un brief di modifica può cambiare il colore di una sciarpa mantenendo il volto e il movimento della persona, lo sfondo e la camera. Indica esplicitamente gli elementi da preservare insieme al cambiamento. Il produttore descrive il mantenimento del resto della sorgente il più fedelmente possibile, un obiettivo utile per il controllo e non una garanzia che ogni pixel resti identico. Confronta il risultato lungo tutto il clip, soprattutto dove l’oggetto si muove, incrocia un altro oggetto o viene parzialmente nascosto. Il risultato finale è il clip modificato, non una semplice immagine fissa che mostra il nuovo colore.
L’estensione video continua dall’ultimo fotogramma di un MP4 esistente. La durata sorgente documentata è di 2–15 secondi; la parte aggiunta dura 2–10 secondi, con sei secondi come valore predefinito. La durata dell’estensione riguarda soltanto la parte nuova. Una sorgente di dieci secondi seguita da cinque secondi di continuazione produce un video di quindici secondi contenente entrambe le parti. Il risultato preserva rapporto d’aspetto e risoluzione della sorgente entro un massimo di 720p. Prepara il momento finale della sorgente e descrivi ciò che deve accadere dopo, come il soggetto che si volta verso un oggetto in avvicinamento mentre la camera prosegue il movimento attuale.
Controlla un’estensione intorno al confine tra la sorgente e il nuovo contenuto. Verifica identità del soggetto, direzione del movimento, ritmo della camera, luce e suono, affinché la continuazione si accordi con l’azione precedente. Se un clip termina in un punto visivamente scomodo, tratta esplicitamente quel confine nella preparazione dell’inquadratura successiva. L’assemblaggio di scene più lunghe è una decisione di montaggio: i limiti di durata di generazione, riferimenti, modifica ed estensione sono separati, e il risultato totale di un’estensione può essere più lungo di un normale clip generato ex novo.
Il flusso video del produttore è asincrono. Un identificatore di richiesta segue un lavoro fino a quando il risultato completato fornisce l’indirizzo del video e la durata; gli indirizzi di output sono temporanei. Conserva il risultato riproducibile e i materiali sorgenti quando prepari un montaggio di produzione. Grok Imagine Video 1.5 completo offre generazione a 1080p nativi e ancoraggi visivi, vocali e di fotogrammi più ricchi, mentre Lite serve per lavori semplici da prompt o immagine iniziale. L’edizione classica resta utile quando il materiale di partenza è già un video che richiede una modifica guidata o una continuazione.
Ailoot Ultra · Video POST /v1/videos x-ai/grok-imagine-video
x-ai/grok-imagine-videoIntroduzione
Grok Imagine Video genera brevi clip da testo, un’immagine iniziale o fino a sette riferimenti visivi. L’edizione classica modifica anche clip MP4 esistenti e aggiunge 2–10 secondi di continuazione. La generazione arriva a 720p con audio; modifica ed estensione preservano l’inquadratura sorgente entro i rispettivi limiti.
- Input accettati
- Testo · Immagini
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Video POST /v1/videos
- Tipi di input
text,image- Tipi di output
video- Formato di output
- byte MP4 originali; nessuna normalizzazione o transcodifica
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti x-ai/grok-imagine-video | Predefinito— |
Campoprompt | Tipostring | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campoduration | Tipointeger | RequisitoObbligatorio | Valori e limiti 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Minimo: 1 Massimo: 600 | Predefinito— |
Camporesolution | Tipostring | RequisitoFacoltativo | Valori e limiti 480p, 720p | Predefinito— |
Campoaspect_ratio | Tipostring | RequisitoFacoltativo | Valori e limiti 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3 | Predefinito— |
Campogenerate_audio | Tipoboolean | RequisitoFacoltativo | Valori e limiti false | Predefinito— |
Campoframe_images | Tipoarray | RequisitoFacoltativo | Valori e limiti Numero minimo di elementi: 1 Numero massimo di elementi: 1 Contenuto in input: Array di oggetti fotogramma. Ogni oggetto contiene type=image_url, image_url con url e frame_type. Usa un URL HTTPS dell'immagine e imposta frame_type su first_frame. Ogni ruolo del fotogramma compare al massimo una volta. Chiavi esatte: type, image_url, frame_type Condizioni: Queste chiavi descrivono ogni oggetto fotogramma; image_url contiene solo url. Ometti frame_images per una richiesta di solo testo. | Predefinito— |
Campoinput_references | Tipoarray | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Camposize | Tipostring | RequisitoFacoltativo | Valori e limiti 854x480, 1280x720, 480x854, 720x1280, 480x480, 720x720, 640x480, 960x720, 480x640, 720x960, 720x480, 1080x720, 480x720, 720x1080 Schema: ^[1-9][0-9]*x[1-9][0-9]*$ | Predefinito— |
Campocallback_url | Tipostring | RequisitoFacoltativo | Valori e limiti Schema: ^https:// | Predefinito— |
Camposession_id | Tipostring | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Campotrace | Tipoobject | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Campouser | Tipostring | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Combinazioni di materiali in input
Da testo a video · Un prompt scritto. · Obbligatorio: model, prompt, duration
Fornisci il prompt come testo e la durata in secondi interi. Scegli una risoluzione supportata; aggiungi un rapporto d'aspetto oppure usa una dimensione elencata.
model: Tipo: string · x-ai/grok-imagine-video
prompt: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì
Da immagine a video · Un prompt scritto e un'immagine del primo fotogramma. · Obbligatorio: model, prompt, duration, frame_images
frame_images è un array. Ogni oggetto fotogramma contiene type, image_url e frame_type; image_url contiene url. Imposta type su image_url. Usa first_frame. Ogni ruolo del fotogramma può comparire al massimo una volta. Fornisci un URL HTTPS pubblico dell'immagine per ogni fotogramma. In una richiesta usa immagini dei fotogrammi oppure riferimenti a immagini; non combinare entrambi. Scegli una risoluzione supportata; aggiungi un rapporto d'aspetto oppure usa una dimensione elencata.
Chiavi esatte: type, image_url, frame_type
model: Tipo: string · x-ai/grok-imagine-video
prompt: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì
Reference to video · Un prompt scritto e riferimenti a immagini supportati. · Obbligatorio: model, prompt, duration, input_references
input_references è un array di oggetti. Imposta type su image_url e usa il campo corrispondente contenente url. Usa URL HTTPS pubblici. Ometti frame_images per selezionare la modalità con riferimenti. Non combinare riferimenti a immagini con immagini dei fotogrammi. Scegli una risoluzione supportata; aggiungi un rapporto d'aspetto oppure usa una dimensione elencata.
model: Tipo: string · x-ai/grok-imagine-video
prompt: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, prompt, duration |
Parametromaterial_types | Contrattotext, image |
Parametroadditional_properties | Contrattofalse |
Parametrooptional_controls | Contrattoresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
Ciclo di vita: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Tariffe
Calcolo del costo finale
Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe stimate per il confronto
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Listino delle tariffe | Quantità prevista | Unità di fatturazione | Condizioni di fatturazione | Costo |
|---|---|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità prevista— | Unità di fatturazione— | Condizioni di fatturazione— | Costo Input · Token in input · Stima solo a fini di confronto — / 1K token Output · Token in output · Stima solo a fini di confronto — / 1K token Input · Lettura dalla cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache, 1 ora · Stima solo a fini di confronto — / 1K token |
| ConfigurazioneImmagine in ingresso | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper immagine | Condizioni di fatturazioneIn questa chiave tariffaria non è dichiarata alcuna condizione aggiuntiva. | Costo Input · Immagine in ingresso · Stima solo a fini di confronto $0.004 per immagine |
| ConfigurazionePrezzo del video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper secondo di video | Condizioni di fatturazioneresolution: 480p | Costo Output · Prezzo del video · Stima solo a fini di confronto $0.1 per secondo di video |
| ConfigurazionePrezzo del video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper secondo di video | Condizioni di fatturazioneresolution: 720p | Costo Output · Prezzo del video · Stima solo a fini di confronto $0.14 per secondo di video |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Unità di fatturazione— | Condizioni di fatturazione— | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $0.1 stima prima della generazione Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata. |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Dettagli della tariffa di riferimento
I listini di riferimento del modello non modificano la selezione del metodo, i preventivi o gli addebiti. Gli addebiti attivi usano le tariffe del metodo Ailoot selezionato.
Riferimenti tariffari delle configurazioni video
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Condizioni di fatturazione | Costo |
|---|---|---|
| ConfigurazioneImmagine in ingresso | Condizioni di fatturazioneIn questa chiave tariffaria non è dichiarata alcuna condizione aggiuntiva. | Costo Input · Immagine in ingresso $0.004 per immagine Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata. |
| ConfigurazionePrezzo del video | Condizioni di fatturazioneresolution: 480p | Costo Output · Prezzo del video $0.1 per secondo di video Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata. |
| ConfigurazionePrezzo del video | Condizioni di fatturazioneresolution: 720p | Costo Output · Prezzo del video $0.14 per secondo di video Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata. |
Esempi di richieste
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
Ricevi e salva i risultati
Ailoot Ultra · Video
URL firmati di contenuti di tua proprietà
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Verifica lo stato dell’attività
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
Altre letture di contenuto
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
Conserva tutti i risultati completati
Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.
Conserva ogni risultato effettivo di tua proprietà e i metadati misurati restituiti.
Se occorre verificare la risposta originale
503 result_pending_check + id originale + X-Should-Retry:false; non ripetere mai l'operazione originale
Campi della risposta
| Campo | Tipo | Significato |
|---|---|---|
Campoindex | Tipointeger | SignificatoPosizione di questo video nell'elenco dei risultati, con indice a partire da zero. |
Campocontent_url | Tipostring | SignificatoURL HTTPS firmato per il download di questo video completato. |
Camposha256 | Tipostring | null | SignificatoDigest SHA-256 dei byte video originali; null se non disponibile. |
Camposize_bytes | Tipointeger | null | SignificatoDimensione del file video originale in byte; null se non disponibile. |
Campoduration_ms | Tipointeger | null | SignificatoDurata misurata del video in millisecondi; null se non disponibile. |
Campowidth | Tipointeger | null | SignificatoLarghezza del video in pixel; null se non disponibile. |
Campoheight | Tipointeger | null | SignificatoAltezza del video in pixel; null se non disponibile. |
Campovideo_codec | Tipostring | null | SignificatoIdentificatore del codec video; null se non registrato. |
Campohas_audio | Tipoboolean | null | SignificatoIndica se il video contiene una traccia audio; null se non misurato. |
Campoaudio_codec | Tipostring | null | SignificatoIdentificatore del codec audio; null quando non è registrato alcun identificatore. |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta404 · not_found_error | CondizioneL'accesso al video non è disponibile oppure questo ID video non è stato trovato. | Passaggio successivoVerifica l'accesso al video. Per un video esistente, usa l'ID pubblico originale e la stessa chiave API. |
Risposta401 · authentication_error | CondizioneLa chiave API non corrisponde all'account autenticato. | Passaggio successivoVerifica la chiave API e l'accesso all'account prima dell'invio. |
Risposta400 · invalid_request_error | CondizioneNon è stato possibile leggere la richiesta oppure l'indice di download non è valido. | Passaggio successivoCorreggi il corpo della richiesta. Per un download, scegli un indice di uscita restituito dall'attività originale. |
Risposta422 · price_unavailable | CondizioneNon è possibile determinare il prezzo della configurazione video selezionata. | Passaggio successivoScegli una configurazione video supportata e completa le opzioni obbligatorie prima di inviare una richiesta corretta. |
Risposta422 · invalid_request_error | CondizioneUn input video o l'attività originale di continuazione non è valido. | Passaggio successivoUsa input HTTPS validi. Per la continuazione, usa l'ID video pubblico del tuo originale completato con la stessa chiave API. |
Risposta402 · billing_error | CondizioneIl saldo disponibile o i limiti non consentono di riservare l'importo. | Passaggio successivoControlla il saldo disponibile e i limiti prima di inviare una nuova richiesta. |
Risposta503 · server_error | CondizioneLa verifica video, l’archiviazione o l’accesso al servizio sono temporaneamente indisponibili. | Passaggio successivoAttendi che il servizio sia disponibile. Se hai già un ID video, verifica quell'attività originale invece di creare un'altra generazione. |
Risposta503 · result_pending_check | CondizioneIl risultato video originale e l'addebito devono essere verificati. | Passaggio successivoConserva l'ID video restituito e verifica quell'attività. Non inviare una richiesta di generazione sostitutiva mentre la verifica è in corso. |
Risposta503 · owned_result_unavailable | CondizioneIl download del video esistente è temporaneamente indisponibile. | Passaggio successivoVerifica in seguito la stessa attività video e scarica il risultato esistente. Una nuova generazione crea un'operazione separata. |
Risposta409 · video_not_ready | CondizioneIl contenuto video non è stato pubblicato. | Passaggio successivoVerifica lo stato dell'attività originale. Scarica dopo che segnala completed; se segnala failed, segui l'avviso di verifica dell'addebito. |
Alias
Alias del modello
Ailoot Ultra x-ai/grok-imagine-video
Alias dei percorsi dei metodi
Usa i percorsi dei metodi indicati sopra.
ID di chiamata correlati
FAQ · SpaceXAI: Grok Imagine Video
- Quali input e risultati sono disponibili?
POST /v1/videos·x-ai/grok-imagine-video:text,image→video- Quali campi usa la richiesta?
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- Quali limiti si applicano?
POST /v1/videos·x-ai/grok-imagine-video:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1