
Texto a imagen
Crea imágenes con IA a partir de prompts de texto
Convierte una descripción de escena en un video corto con la API Google Gemini Omni 1.2 Flash. Dirige la acción y la cámara en un plano vertical u horizontal. Elige 3–15 s.
En Best Image AI, la API Gemini Omni 1.2 Flash Text-to-Video convierte una descripción escrita en un vídeo corto. Empieza por el sujeto y la acción, y luego describe el entorno y el estilo visual deseado. La selección de resolución, duración y formato horizontal o vertical permite integrar la generación de vídeo a partir de texto en herramientas creativas y procesos de producción de contenidos sin aportar imágenes ni grabaciones.
Escenas a partir de texto: Convierte una idea escrita en imágenes en movimiento sin preparar ilustraciones ni grabaciones.
Dirección de escena mediante instrucciones: Describe en lenguaje natural el sujeto, el entorno, el movimiento y el tratamiento visual que buscas.
Dirección de cámara: Incluye el movimiento de cámara y el encuadre en la descripción para orientar la presentación de la acción.
Entrada: Describe la escena que quieres generar. Define la acción principal antes de detallar la iluminación, la composición o el movimiento de cámara.
Ajustes de salida: Elige el formato horizontal o vertical, la resolución y una duración dentro del intervalo admitido para vídeos cortos. Consulta los límites vigentes en la documentación de la API.
Salida: Envía la tarea de generación y recupera el vídeo cuando termine el procesamiento.
Facturación: El uso se cobra por segundo de duración solicitada según la resolución seleccionada.
Guiones gráficos de campaña: Convierte ideas de escenas en propuestas de vídeo para la revisión de una campaña.
Vídeos para redes sociales: Desarrolla escenas breves horizontales o verticales en torno a un mensaje de lanzamiento o un tema editorial.
Exploración en preproducción: Prueba distintos entornos y acciones antes de crear las ilustraciones o grabar las escenas.
Funciones para aplicaciones creativas: Permite que los usuarios envíen descripciones de escenas y reciban los vídeos generados dentro del flujo de trabajo habitual del producto.
Nota Adecua la acción solicitada a la duración del vídeo. Comprueba que el resultado se ajusta a las indicaciones creativas y que las instrucciones respetan las políticas de contenido aplicables.
Comparación con Image-to-Video: Text-to-Video parte de una descripción escrita. Elige Gemini Omni 1.2 Flash Image-to-Video cuando quieras definir el primer fotograma con una imagen existente o guiar el final con una imagen opcional.
Comparación con Reference-to-Video: Reference-to-Video requiere material visual de referencia. Text-to-Video se adapta a proyectos que parten de una descripción y no requieren imágenes ni vídeos de referencia.
Comparación con Video Edit: Video Edit modifica un clip existente y conserva su estructura temporal y relación de aspecto. Text-to-Video crea un clip con la duración y la orientación seleccionadas.
Explora varias herramientas de creación con IA para agilizar flujos de trabajo de imagen y video en el navegador y, después, amplía las ideas que funcionan con las API de modelos de Best Image AI listas para producción. Best Image AI ofrece una capa de API unificada para todos los modelos, lo que facilita el uso y la ampliación de tus flujos de trabajo.

Crea imágenes con IA a partir de prompts de texto

Crea imágenes con IA a partir de imágenes y prompts de texto

Crea videos con IA a partir de prompts de texto

Anima imágenes y conviértelas en videos con IA

Crea imágenes y videos con IA en un espacio de trabajo unificado

Crea videos coherentes a partir de contenido multimedia de referencia

Crea flujos visuales de imágenes y vídeos con IA en un lienzo infinito
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-text-to-video',
prompt: 'A cinematic tracking shot follows a sailboat crossing a glowing ocean at sunset',
aspect_ratio: '16:9',
resolution: '1080p',
duration: 12
})
});
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[0].url);
break;
}
if (status === 'failed') {
console.error(pollResultData.data.task_status_msg);
break;
}
await new Promise(resolve => setTimeout(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-text-to-video',
'prompt': 'A cinematic tracking shot follows a sailboat crossing a glowing ocean at sunset',
'aspect_ratio': '16:9',
'resolution': '1080p',
'duration': 12
}
)
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-text-to-video",
"prompt": "A cinematic tracking shot follows a sailboat crossing a glowing ocean at sunset",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 12
}'
# 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)