Veo 3 Fast
Precios de lista del proveedor, sin margen de plataforma, pago por uso. Estos son los precios de lista oficiales. Los clientes con sesión iniciada pueden ver los precios efectivos con descuentos del espacio de trabajo en /console/pricing.
Use Veo 3 Fast en 30 segundos
API de jobs asíncrona: crea una tarea y consúltala, o mantén la petición abierta con 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-fast-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-fast-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-fast-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-fast-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-fast-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).Acerca de Veo 3 Fast
Veo 3 Fast es la gama de velocidad y coste de la generación Veo 3 de Google, con las mismas capacidades básicas que Veo 3 a menor latencia y precio.
- Cubre texto a vídeo e imagen a vídeo de primer fotograma con audio nativo sincronizado, y produce clips .mp4 en 720p o 1080p a 24 fps, de 4, 6 u 8 segundos, en 16:9 o 9:16; un interruptor generateAudio elige entre salida con sonido o silenciosa.
- Ese perfil encaja con borradores de gran volumen, formatos sociales e iteración rápida donde el rendimiento prima sobre el acabado; Google ahora indica Veo 3.1 Fast como el reemplazo recomendado.
- Synthorai lo sirve mediante la API asíncrona de jobs /v1/videos con semántica de crear y consultar o Prefer: wait, y factura por segundo de salida a tarifas separadas para sonido y silencio.
Especificaciones y límites
| Modalidades | text + image → video |
| Funciones | vision |
| Resolución | 720p / 1080p |
| Duración del clip | 4 / 6 / 8 s |
| Fotogramas por segundo | 24 fps |
| Relaciones de aspecto | 16:9 · 9:16 |
| Entradas de vídeo | text-to-video · first-frame image-to-video |
| Audio nativo | Sí — genera sonido |
| Formato | .mp4 |
| Destacado | Speed/cost tier of Google's Veo 3 generation: the same capability profile as Veo 3 at lower latency and price — text-to-video and first-frame image-to-video with native synchronized audio, 720p/1080p, 24 fps, 4/6/8 s, 16:9 and 9:16; a generateAudio switch selects sound-on vs silent output. Google now lists Veo 3.1 Fast as the recommended replacement. Synthorai serves it via the async /v1/videos job API and bills per output second at separate sound-on and silent rates. |
Preguntas frecuentes
¿Se puede probar gratis la API de Veo 3 Fast?
Sí: las cuentas nuevas reciben 10 llamadas de prueba y hasta $1 de crédito gratuito, sin tarjeta. Suficiente para probar Veo 3 Fast con su carga de trabajo real antes de añadir un método de pago.
¿En qué destaca Veo 3 Fast?
Gama Veo 3 más rápida y económica, además de salida con sonido o silenciosa a tarifas separadas y audio nativo, 720p/1080p, 4-8 segundos. Consulte la sección Acerca de para el panorama completo según las notas de lanzamiento del propio proveedor.
¿Cuánto cuesta Veo 3 Fast?
Veo 3 Fast cuesta $0.15 por segundo de vídeo generado en Synthorai. Solo se facturan las generaciones exitosas: pago por uso, sin margen de plataforma, sin suscripción.
¿Cómo genero vídeos con la API de Veo 3 Fast?
Envíe un POST a /v1/videos en Synthorai con model="veo-3.0-fast-generate-001" para crear un job asíncrono y luego consulte la tarea — o mantenga la petición abierta con la cabecera Prefer: wait — hasta obtener la URL del vídeo. No hace falta ningún SDK del proveedor.
¿Cómo obtengo acceso a Veo 3 Fast?
Apunte su SDK de OpenAI existente a base_url="https://synthorai.io/v1", configure model="veo-3.0-fast-generate-001" y listo. Una sola clave API cubre todos los modelos del gateway.