
Texto para imagem
Crie imagens com IA a partir de prompts de texto
Anime uma imagem estática com a API Google Gemini Omni 1.2 Flash. Descreva o movimento e adicione uma imagem final opcional para orientar o último quadro. Gere vídeos em 4K.
A API Gemini Omni 1.2 Flash Image-to-Video cria um vídeo curto a partir de uma imagem inicial e uma descrição do movimento. Disponível na Best Image AI, aceita uma imagem final opcional para orientar o desfecho da sequência. Anime fotos de produtos, ilustrações ou quadros de storyboard com opções de saída em formato horizontal ou vertical.
Animação de imagens estáticas: Anime uma imagem usando sua composição como quadro de abertura do vídeo gerado.
Transições entre quadros: Oriente a sequência com imagens de abertura e encerramento quando já souber como a cena deve terminar.
Direção de movimento por texto: Envie as imagens com uma instrução que descreva a ação e como a cena deve evoluir.
Entrada: Forneça uma imagem inicial e descreva o movimento desejado. A imagem final é opcional.
Configurações de saída: Escolha o formato horizontal ou vertical, a resolução e a duração do vídeo. Incluir uma imagem final reduz a duração máxima aceita. Consulte os limites atuais na documentação da API.
Saída: Obtenha o vídeo gerado após a conclusão da tarefa de animação da imagem.
Cobrança: O uso é cobrado por segundo de vídeo solicitado, conforme a resolução selecionada. A imagem final não gera uma cobrança à parte.
Animação de fotos de produtos: Use uma foto de produto como quadro de abertura de uma proposta de vídeo promocional curto.
Transições de storyboard: Forneça as ilustrações de abertura e encerramento para explorar o movimento entre dois quadros planejados.
Adaptação para redes sociais: Crie versões em vídeo de imagens de campanhas ou ilustrações editoriais existentes.
Avaliação de propostas de movimento: Combine ilustrações aprovadas com diferentes descrições de movimento para explorar uma cena antes de prosseguir com a produção.
Observação Descreva o movimento entre os quadros fornecidos, além do conteúdo das imagens. Uma imagem final orienta o aspecto da cena no encerramento e reduz a duração máxima do vídeo.
Comparação com Text-to-Video: Image-to-Video exige uma imagem inicial. Escolha Text-to-Video para criar uma cena a partir de uma descrição escrita sem fornecer uma imagem.
Comparação com Reference-to-Video: Image-to-Video usa uma imagem para a abertura e, opcionalmente, outra para o encerramento. Reference-to-Video aceita imagens e vídeos como referências para gerar um novo vídeo.
Comparação com Video Edit: Image-to-Video anima imagens estáticas com a duração e a orientação escolhidas. Video Edit parte de uma filmagem existente que determina a estrutura temporal e a proporção do vídeo resultante.
Explore diversas ferramentas de criação com IA para agilizar fluxos de trabalho de imagem e vídeo no navegador e amplie as ideias de sucesso com as APIs de modelos do Best Image AI prontas para produção. O Best Image AI oferece uma camada de API unificada para todos os modelos, facilitando o uso e a expansão dos seus fluxos de trabalho.

Crie imagens com IA a partir de prompts de texto

Crie imagens com IA a partir de imagens e prompts de texto

Crie vídeos com IA a partir de prompts de texto

Anime imagens e transforme-as em vídeos com IA

Crie imagens e vídeos com IA em um espaço de trabalho unificado

Crie vídeos consistentes a partir de mídias de referência

Crie fluxos visuais de imagens e vídeos com IA em uma 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)