Nous utilisons des cookies. Les cookies et le stockage du navigateur vous gardent connecté et mémorisent vos préférences. Avec votre accord, nous mesurons aussi l’utilisation du site. Vous pouvez à tout moment. Consultez notre politique relative aux cookies.
API de génération de vidéos
Envoyez un prompt (et éventuellement une première image), interrogez la tâche et téléchargez le résultat. Choisissez la durée, la résolution, le format et l’audio pour chaque requête. Vous n’êtes facturé qu’une fois, à la fin de la vidéo.
- Courtes publicités et clips pour les réseaux sociaux
- Animation d’images produit
- Storyboards et aperçus
- Plans de coupe pour vos contenus
Paramètres
API de génération de vidéos · 30 modèles
Comment appeler l’API API de génération de vidéos
- Créez une clé API dans votre tableau de bord.
- Installez le SDK officiel openai pour votre langage.
- Définissez baseURL sur https://api14.com/api/v1 et model sur "alibaba/wan-3.0-prime".
La génération de vidéos est-elle synchrone ?
Non. POST /api/v1/videos renvoie un identifiant de tâche ; interrogez GET /api/v1/videos/{id} jusqu’à ce qu’elle soit terminée.
Comment une vidéo est-elle facturée ?
À la seconde générée, selon la résolution et l’audio. L’estimation s’affiche avant la génération.
Que se passe-t-il si une tâche vidéo échoue ?
Seules les vidéos terminées sont facturées. Une tâche échouée ou annulée ne coûte rien.
Puis-je partir d’une image ?
Oui, avec les modèles qui acceptent une image en entrée : passez l’image comme première image et décrivez le mouvement dans le prompt.
Quelles offres incluent la vidéo ?
La génération de vidéos est incluse dans les offres Pro, Équipe et Entreprise.
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);