Usamos cookies. Las cookies y el almacenamiento del navegador mantienen tu sesión iniciada y recuerdan tus preferencias. Con tu permiso, también medimos cómo se usa el sitio. Puedes en cualquier momento. Consulta nuestra política de cookies.
API de generación de video
Envía un prompt (y, si quieres, un primer fotograma), consulta el estado del trabajo y descarga el resultado. Elige duración, resolución, relación de aspecto y audio en cada solicitud. Se te cobra una sola vez, cuando el video está completo.
- Anuncios cortos y clips para redes sociales
- Animación de imágenes de producto
- Storyboards y vistas previas
- B-roll para contenido
Configuración
API de generación de video · 30 modelos
Cómo llamar a la API de API de generación de video
- Crea una clave API en tu panel.
- Instala el SDK oficial de openai para tu lenguaje.
- Configura baseURL como https://api14.com/api/v1 y model como "alibaba/wan-3.0-prime".
¿La generación de video es síncrona?
No. POST /api/v1/videos devuelve un id de trabajo; consulta GET /api/v1/videos/{id} hasta que esté completed.
¿Cómo se cobra el video?
Por segundo de salida, según la resolución y el audio. La estimación se muestra antes de generar.
¿Qué pasa si falla un trabajo de video?
Solo se cobran los videos completados. Un trabajo fallido o cancelado no cuesta nada.
¿Puedo partir de una imagen?
Sí, en los modelos que aceptan imágenes como entrada: pasa la imagen como primer fotograma y describe el movimiento en el prompt.
¿Qué planes incluyen video?
La generación de video está incluida en los planes Pro, Team y Enterprise.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
// Video generation is asynchronous: submit, then poll until completed.
let job = await client.post("/videos", { body: {
"model": "alibaba/wan-3.0-prime",
"prompt": "A drone shot over turquoise ocean waves at sunrise",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
} });
while (!["completed", "failed"].includes(job.status)) {
await new Promise((r) => setTimeout(r, 5000));
job = await client.get(`/videos/${job.id}`);
}
console.log(job.status, job.unsigned_urls);