
Da testo a immagine
Crea immagini IA da prompt testuali
Anima un’immagine statica con l’API Google Gemini Omni 1.2 Flash. Descrivi il movimento e aggiungi un’immagine finale facoltativa per guidare l’ultimo fotogramma. Anima in 4K.
L’API Gemini Omni 1.2 Flash Image-to-Video crea un breve video da un’immagine iniziale e da una descrizione del movimento. Disponibile su Best Image AI, accetta un’immagine finale facoltativa per guidare la conclusione della sequenza. Anima fotografie di prodotti, illustrazioni o vignette di storyboard scegliendo il formato orizzontale o verticale.
Animazione di immagini statiche: Anima un’immagine utilizzandone la composizione per l’inquadratura iniziale della clip generata.
Transizioni tra fotogrammi: Guida la sequenza tra l’immagine iniziale e quella finale quando hai già definito l’aspetto conclusivo della scena.
Direzione del movimento tramite testo: Accompagna le immagini con un prompt che descriva l’azione e l’evoluzione desiderata della scena.
Input: Fornisci un’immagine iniziale e un prompt che spieghi il movimento desiderato. L’immagine finale è facoltativa.
Impostazioni di output: Scegli il formato orizzontale o verticale, la risoluzione e la durata della clip. L’aggiunta di un’immagine finale riduce la durata massima supportata. Consulta la documentazione dell’API per i limiti aggiornati.
Output: Recupera il video generato al termine dell’animazione dell’immagine.
Fatturazione: Il costo si calcola per ogni secondo di video richiesto in base alla risoluzione selezionata. L’aggiunta di un’immagine finale non comporta costi separati.
Animazione di foto di prodotti: Usa una foto del prodotto come primo fotogramma di una proposta per un breve video promozionale.
Transizioni per storyboard: Fornisci le illustrazioni di apertura e chiusura per esplorare il movimento tra due inquadrature previste.
Adattamento dei contenuti per i social: Crea versioni video di immagini di campagne o illustrazioni editoriali esistenti.
Revisione delle indicazioni di movimento: Abbina le illustrazioni approvate a diverse descrizioni del movimento per esplorare la scena prima di proseguire con la produzione.
Nota Descrivi il movimento tra i fotogrammi forniti oltre al contenuto delle singole immagini. L’immagine finale guida l’aspetto conclusivo della scena e riduce la durata massima della clip.
Confronto con Text-to-Video: Image-to-Video richiede un’immagine iniziale. Scegli Text-to-Video per creare una scena da una descrizione scritta senza fornire immagini.
Confronto con Reference-to-Video: Image-to-Video usa un’immagine di apertura e, facoltativamente, una di chiusura. Reference-to-Video accetta immagini e video come riferimenti per generare una nuova clip.
Confronto con Video Edit: Image-to-Video anima immagini statiche con la durata e l’orientamento selezionati. Video Edit parte da riprese esistenti che determinano la scansione temporale e le proporzioni del risultato.
Esplora vari strumenti di creazione IA per flussi di lavoro rapidi di immagini e video nel browser, poi amplia le idee di successo con le API dei modelli di Best Image AI pronte per la produzione. Best Image AI offre un livello API unificato per tutti i modelli, semplificando l'uso e la scalabilità dei flussi di lavoro.

Crea immagini IA da prompt testuali

Crea immagini IA da immagini e prompt testuali

Crea video IA da prompt testuali

Anima le immagini trasformandole in video IA

Crea immagini e video AI in un unico spazio di lavoro

Crea video coerenti a partire da media di riferimento

Crea flussi visivi di immagini e video IA su una tela infinita
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
model_name: 'gemini-omni-1.2-flash-image-to-video',
prompt: 'The girl walks toward the camera while the city lights shimmer behind her',
image_url: 'https://example.com/start-frame.jpg',
image_end_url: 'https://example.com/end-frame.jpg',
aspect_ratio: '9:16',
resolution: '1080p',
duration: 8
})
});
const { data } = await response.json();
const taskId = data.task_id;
// Step 2: Poll for results
const taskId = data.task_id;
const pollResult = async (taskId) => {
const res = await fetch(`https://api.flaq.ai/api/v1/video/${taskId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
return res.json();
};
while (true) {
const pollResultData = await pollResult(taskId);
const status = pollResultData.data.task_status;
if (status === 'succeed') {
console.log(pollResultData.data.task_result.videos[].);
;
}
(status === ) {
.(pollResultData..);
;
}
( (resolve, ));
}
import requests
response = requests.post(
'https://api.flaq.ai/api/v1/video/task',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
json={
'model_name': 'gemini-omni-1.2-flash-image-to-video',
'prompt': 'The girl walks toward the camera while the city lights shimmer behind her',
'image_url': 'https://example.com/start-frame.jpg',
'image_end_url': 'https://example.com/end-frame.jpg',
'aspect_ratio': '9:16',
'resolution': '1080p',
'duration': 8
}
)
result = response.json()
task_id = result['data']['task_id']
curl -X POST https://api.flaq.ai/api/v1/video/task \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model_name": "gemini-omni-1.2-flash-image-to-video",
"prompt": "The girl walks toward the camera while the city lights shimmer behind her",
"image_url": "https://example.com/start-frame.jpg",
"image_end_url": "https://example.com/end-frame.jpg",
"aspect_ratio": "9:16",
"resolution": "1080p",
"duration": 8
}'
# Step 2: Poll for results
# Replace {task_id} with the task_id returned from the submit response
curl -X GET "https://api.flaq.ai/api/v1/video/{task_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
# Step 2: Poll for results
task_id = response.json()['data']['task_id']
poll_url = f"https://api.flaq.ai/api/v1/video/{task_id}"
while True:
poll_result = requests.get(poll_url, headers={'Authorization': 'Bearer YOUR_API_KEY'}).json()
status = poll_result['data']['task_status']
if status == 'succeed':
print(poll_result['data']['task_result']['videos'][0]['url'])
break
if status == 'failed':
print(poll_result['data']['task_status_msg'])
break
time.sleep(10)