Veo 3 est le modèle de génération vidéo de Google et la génération qui a introduit l'audio natif synchronisé dans la gamme Veo.
- Entrée
- texte image
- Sortie
- vidéo
- Prix
- $0.75/s
Le prix en perspective
Position du prix parmi 5 modèles comparables
La barre situe le prix de ce modèle parmi tous les modèles du même type sur Synthorai. Le moins cher et le plus cher sont nommés à chaque extrémité. Ce sont des tarifs de base ; les remises liées au batch, à la région et aux écritures de cache figurent sur la page des tarifs.
Spécifications et limites
Vidéo
| Résolution | 720p / 1080p Un ensemble fixe d'options, pas une plage. |
|---|---|
| Durée du clip | 4 / 6 / 8 s Un ensemble fixe d'options, pas une plage. |
| Fréquence d'images | 24 fps |
| Ratios d'aspect | 16:9 · 9:16 |
| Entrées vidéo | text-to-video · image-to-video à première image |
| Audio natif | Oui, génère le son |
| Format | .mp4 |
Modèle
| Modalités | texte + image → vidéo |
|---|
- Modèle vidéo Veo 3 de Google, la génération qui a introduit l'audio natif synchronisé dans la gamme Veo: text-to-video et image-to-video à première image, 720p/1080p, 24 fps, 4/6/8 s, 16:9 et 9:16
- un commutateur generateAudio choisit entre sortie sonore et silencieuse. L'interpolation première-et-dernière image et les images de référence arrivent avec Veo 3.1, que Google indique désormais comme successeur recommandé. Synthorai le sert via l'API de jobs asynchrone /v1/videos et facture à la seconde de sortie à des tarifs distincts pour le son et le silence
Utilisez Veo 3 en 30 secondes
API asynchrone à base de tâches : créez une tâche puis interrogez-la, ou maintenez la requête ouverte avec Prefer: wait. POST /v1/videos
import time
import requests
BASE = "https://synthorai.io/v1"
HEADERS = {"Authorization": "Bearer sk-syn-..."}
# 1) create the video generation job (POST /v1/videos)
task = requests.post(
f"{BASE}/videos",
headers=HEADERS,
json={
"model": "veo-3.0-generate-001",
"prompt": "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
"resolution": "720p",
"duration": 5,
},
).json()
# 2) poll the job until it reaches a terminal state
while task["status"] in ("queued", "in_progress"):
time.sleep(5)
task = requests.get(f"{BASE}/videos/{task['id']}", headers=HEADERS).json()
# 3) completed → signed video URL (valid ~24h - download and store it promptly)
if task["status"] == "completed":
print(task["data"][0]["url"])
else:
print(task["error"])const HEADERS = {
Authorization: "Bearer sk-syn-...",
"Content-Type": "application/json",
};
interface VideoTask {
id: string;
status: "queued" | "in_progress" | "completed" | "failed" | "cancelled";
data?: Array<{ url: string }>;
error?: { code: string; message: string };
}
// 1) create the video generation job (POST /v1/videos)
const created = await fetch("https://synthorai.io/v1/videos", {
method: "POST",
headers: HEADERS,
body: JSON.stringify({
model: "veo-3.0-generate-001",
prompt: "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
resolution: "720p",
duration: 5,
}),
});
let task = (await created.json()) as VideoTask;
// 2) poll the job until it reaches a terminal state
while (task.status === "queued" || task.status === "in_progress") {
await new Promise((r) => setTimeout(r, 5000));
const res = await fetch(`https://synthorai.io/v1/videos/${task.id}`, { headers: HEADERS });
task = (await res.json()) as VideoTask;
}
// 3) completed → signed video URL (valid ~24h — download and store it promptly)
if (task.status === "completed") console.log(task.data?.[0]?.url);
else console.error(task.error);# Create the job; "Prefer: wait" holds the request up to 60s and returns the
# completed task when generation finishes in time (else the queued task).
curl https://synthorai.io/v1/videos \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-H "Prefer: wait=60" \
-d '{
"model": "veo-3.0-generate-001",
"prompt": "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
"resolution": "720p",
"duration": 5
}'
# Still queued / in_progress? Poll until completed → data[0].url (valid ~24h).
curl https://synthorai.io/v1/videos/vid_9f2e8c1a4b7d \
-H "Authorization: Bearer sk-syn-..."package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"time"
)
const base = "https://synthorai.io/v1"
type videoTask struct {
ID string `json:"id"`
Status string `json:"status"`
Data []struct {
URL string `json:"url"`
} `json:"data"`
}
func call(method, url string, body []byte) (t videoTask) {
req, _ := http.NewRequest(method, url, bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer sk-syn-...")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
json.NewDecoder(resp.Body).Decode(&t)
return t
}
func main() {
// 1) create the video generation job (POST /v1/videos)
payload, _ := json.Marshal(map[string]any{
"model": "veo-3.0-generate-001",
"prompt": "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
"resolution": "720p",
"duration": 5,
})
task := call("POST", base+"/videos", payload)
// 2) poll the job until it reaches a terminal state
for task.Status == "queued" || task.Status == "in_progress" {
time.Sleep(5 * time.Second)
task = call("GET", base+"/videos/"+task.ID, nil)
}
// 3) completed → signed video URL (valid ~24h — download and store promptly)
if task.Status == "completed" {
fmt.Println(task.Data[0].URL)
}
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
// JDK built-in HttpClient — no extra dependency needed.
HttpClient http = HttpClient.newHttpClient();
// 1) create the job; "Prefer: wait=60" holds the request up to 60s and
// returns the completed task when generation finishes in time
HttpRequest create = HttpRequest.newBuilder(URI.create("https://synthorai.io/v1/videos"))
.header("Authorization", "Bearer sk-syn-...")
.header("Content-Type", "application/json")
.header("Prefer", "wait=60")
.POST(HttpRequest.BodyPublishers.ofString("""
{"model": "veo-3.0-generate-001",
"prompt": "a watercolor lighthouse at dawn, waves rolling in, camera pulling back",
"resolution": "720p", "duration": 5}"""))
.build();
String task = http.send(create, HttpResponse.BodyHandlers.ofString()).body();
System.out.println(task); // {"id":"vid_…","status":…} — completed → data[0].url
// 2) still queued / in_progress? Poll GET https://synthorai.io/v1/videos/{id} until the
// status turns completed, then download data[0].url (valid ~24h).À propos de Veo 3
- Il travaille à partir d'un prompt textuel ou d'une image de première image, produisant des clips .mp4 en 720p ou 1080p à 24 fps, de 4, 6 ou 8 secondes, en 16:9 ou 9:16, avec dialogues, effets sonores et son d'ambiance générés en même temps que la vidéo.
- Un commutateur generateAudio choisit entre sortie sonore et silencieuse.
- La durée passe ici de la plage continue de 5 à 8 secondes de Veo 2 à trois valeurs fixes, et quatre capacités qui définissent Veo 3.1 sont tout simplement absentes de cette génération : l'interpolation première-et-dernière image, les images de référence d'asset, l'extension vidéo et la sortie 4K.
- Google indique désormais Veo 3.1 comme successeur recommandé, et la gamme 3.0 porte aussi un quota de requêtes cinq fois plus bas.
- Les requêtes acceptent jusqu'à quatre vidéos par appel, une graine, un prompt négatif, le contrôle du mouvement de caméra pour les clips pilotés par image, un mode de redimensionnement par remplissage ou recadrage, et une compression optimisée ou sans perte ; contrairement à Veo 2, le réécriveur de prompt ne peut pas être désactivé, attendez-vous donc à ce que les prompts laconiques soient développés avant la génération.
- La sortie porte des Content Credentials.
- Synthorai le sert via l'API de jobs asynchrone /v1/videos et facture à la seconde de sortie à des tarifs distincts pour le son et le silence.
- Créez une tâche, puis interrogez-la ou maintenez l'appel ouvert avec Prefer: wait.
FAQ
Peut-on essayer l'API Veo 3 gratuitement ?
Oui : les nouveaux comptes reçoivent 10 appels d'essai et jusqu'à $1 de crédit gratuit, sans carte bancaire. De quoi essayer Veo 3 sur votre charge de travail réelle avant d'ajouter un moyen de paiement.
Quels sont les points forts de Veo 3 ?
Génération d'audio natif synchronisé ; sortie sonore ou silencieuse à tarifs distincts ; 720p/1080p, 4-8 secondes. La section À propos en donne un aperçu complet, tiré des notes de version du fournisseur.
Combien coûte Veo 3 ?
Sur Synthorai, Veo 3 coûte $0.75 par seconde de vidéo générée. Seules les générations réussies sont facturées : paiement à l'usage, sans majoration de plateforme, sans abonnement.
Comment générer des vidéos avec l'API Veo 3 ?
Envoyez une requête POST à /v1/videos sur Synthorai avec model="veo-3.0-generate-001" pour créer une tâche asynchrone, puis interrogez-la (ou maintenez la requête ouverte avec l'en-tête Prefer: wait) jusqu'à obtenir l'URL de la vidéo. Aucun SDK du fournisseur n'est nécessaire.
Comment obtenir l'accès à Veo 3 ?
Dans votre SDK OpenAI actuel, indiquez base_url="https://synthorai.io/v1" et model="veo-3.0-generate-001", et c'est tout. Une seule clé API donne accès à tous les modèles de la passerelle.
Modèles associés
Comparer
Chaque valeur de cette page est reprise de la documentation du fournisseur (lien ci-dessus) et porte la date de sa vérification. Les prix sont comparés à l'échelle du catalogue. Quand les fournisseurs ne définissent pas une spécification de la même façon, la différence est signalée et la valeur n'est pas mise en graphique. Nous ne mesurons rien ici et nous n'attribuons aucune note.