Claude Opus 5.5 đã có trên SeedRouter
SeedRouter Docs

Veo 3.1

Tạo clip video bằng Veo 3.1 qua một API tác vụ duy nhất: ba mô hình tính giá theo clip 8 giây và hai mô hình tính giá theo giây, hỗ trợ khung hình, âm thanh và xuất GIF.

View Markdown

Veo 3.1 là mô hình tạo video của Google. SeedRouter cung cấp mô hình này với năm ID trên cùng một endpoint: ba mô hình tính giá theo clip, mỗi clip dài 8 giây, và hai mô hình tính giá theo giây với nhiều tùy chỉnh hơn (độ dài, âm thanh, seed, prompt loại trừ, khung hình đầu và cuối). Hãy gửi yêu cầu, giữ ID tác vụ được trả về, rồi đọc video hoàn chỉnh từ tác vụ. Ảnh được truyền vào dưới dạng URL.

ID mô hình

ID mô hìnhTính phíĐộ dàiẢnhÂm thanh
veo-3.1-fasttheo clip8 giâytối đa 3, chế độ frame hoặc referencekhông có công tắc
veo-3.1-qualitytheo clip8 giâytối đa 3, chế độ framekhông có công tắc
veo-3.1-litetheo clip8 giâykhông (văn bản thành video)không có công tắc
veo-3.1-fast-officialtheo giây4, 6 hoặc 8 giâykhung hình đầu và cuốigenerate_audio
veo-3.1-quality-officialtheo giây4, 6 hoặc 8 giâykhung hình đầu và cuốigenerate_audio

Xem trang mô hình để biết giá hiện tại.

Ví dụ nhanh

curl https://api.seedrouter.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-fast",
    "prompt": "A red paper boat drifts across a calm pond at sunrise, soft mist on the water, slow push-in on a 35mm lens, no text, no logos.",
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'

Endpoint

POST https://api.seedrouter.ai/v1/videos/generations
HeaderGiá trị
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Phản hồi là một tác vụ ({"id": "task_...", "status": "processing"}), không phải video hoàn chỉnh. Hãy truy vấn GET /v1/tasks/{task_id} để lấy kết quả. Hãy giữ khóa API trong code phía máy chủ.

Tham số: mô hình theo clip

veo-3.1-fast, veo-3.1-quality và veo-3.1-lite.

TrườngKiểuMặc địnhGhi chú
modelstringbắt buộcMột trong ba ID ở trên.
promptstringbắt buộcMô tả cảnh quay.
durationinteger8Chỉ chấp nhận 8.
aspect_ratioenum16:9 hoặc 9:16.
resolutionenum720p720p, 1080p hoặc 4k (không phân biệt hoa thường). veo-3.1-lite không có 4k.
enable_gifbooleanfalseTrả clip dưới dạng GIF động thay vì MP4. Chỉ 720p.
nsfw_checkbooleanfalseKiểm tra prompt và ảnh để phát hiện nội dung không an toàn trước khi tạo.
image_urlsarrayChỉ Fast và Quality. Tối đa 3 URL ảnh công khai.
generation_typeenumtheo số lượng ảnhChỉ Fast và Quality. frame hoặc reference; Quality chỉ nhận frame.

Tham số: mô hình theo giây

veo-3.1-fast-official và veo-3.1-quality-official.

TrườngKiểuMặc địnhGhi chú
modelstringbắt buộcMột trong hai ID ở trên.
promptstringbắt buộcMô tả cảnh quay.
negative_promptstringNhững gì cần loại khỏi clip.
durationinteger84, 6 hoặc 8 giây.
aspect_ratioenum16:916:9 hoặc 9:16.
resolutionenum720p720p, 1080p hoặc 4k (không phân biệt hoa thường).
first_frame_imagestringURL ảnh công khai. Clip mở đầu bằng ảnh này.
last_frame_imagestringURL ảnh công khai. Cần có first_frame_image.
seedintegerngẫu nhiênTừ 0 đến 4294967295.
generate_audiobooleanfalseThêm track âm thanh. Tính theo mức giá mỗi giây cao hơn.
person_generationenumallow_adultallow_adult hoặc disallow.
resize_modeenumpadpad hoặc crop. Cần có first_frame_image.
enhance_promptbooleantrueChỉ chấp nhận true; nếu không thì bỏ trường này.
nsfw_checkbooleanfalseKiểm tra prompt và ảnh để phát hiện nội dung không an toàn trước khi tạo.

Lược đồ được kiểm tra chặt chẽ: trường không xác định sẽ bị từ chối chứ không bị bỏ qua, và mỗi mô hình chỉ nhận các trường của riêng nó. Không hỗ trợ callback; hãy truy vấn tác vụ thay thế.

Chế độ ảnh

Trên veo-3.1-fast và veo-3.1-quality, generation_type quyết định cách dùng image_urls:

generation_typeẢnhTác dụng
frame1 hoặc 2Ảnh đầu tiên là khung hình đầu, ảnh thứ hai là khung hình cuối.
referencetối đa 3Các ảnh làm tham chiếu cho chủ thể và phong cách. Chỉ Fast.
bỏ trống2 hoặc 3Hai ảnh dùng chế độ frame, ba ảnh dùng chế độ reference.

veo-3.1-quality không chạy chế độ reference, nên sẽ từ chối generation_type: "reference" và ba ảnh không kèm generation_type. veo-3.1-lite không nhận ảnh.

Trên mô hình theo giây, hãy đặt first_frame_image và, nếu muốn, last_frame_image. resize_mode chọn việc ảnh có khuôn hình khác sẽ được thêm viền hay bị cắt.

Đầu vào media

Ảnh là URL HTTP(S) công khai:

{ "image_urls": ["https://example.com/first.jpg", "https://example.com/last.jpg"] }

Trên mô hình theo clip, mỗi ảnh phải là JPEG, PNG hoặc WebP và tối đa 10 MB; tệp vi phạm các quy định này sẽ khiến tác vụ thất bại mà không bị tính phí. Không chấp nhận dữ liệu Base64: hãy tải tệp lên kho lưu trữ của riêng bạn rồi truyền URL của tệp.

Các yếu tố chi phí

Xem phần giá của mô hình để biết mức giá hiện tại.

per-clip models:    cost = price of one clip at the output resolution        (720p and 1080p cost the same)
per-second models:  cost = duration × rate for the resolution and audio setting

Khoản phí được cố định khi yêu cầu được tiếp nhận, nên số tiền tạm giữ chính là số tiền bị tính. Xem khoản phí cuối cùng trong lịch sử sử dụng của tài khoản. Tác vụ thất bại không bị tính phí.

Lược đồ đầu ra

Khi gửi, API trả về tác vụ:

{"id": "task_...", "model": "veo-3.1-fast", "status": "processing", "created_at": 1789689600}

Lấy thông tin tác vụ

GET https://api.seedrouter.ai/v1/tasks/{task_id}

Hãy truy vấn 10–20 giây một lần cho đến khi status là completed hoặc failed. Hết thời gian mạng trong lúc truy vấn không có nghĩa là việc tạo video đã thất bại: hãy giữ ID tác vụ và tiếp tục kiểm tra. Đừng tạo tác vụ khác chỉ để xem tiến độ.

Tác vụ hoàn tất

{
  "id": "task_...",
  "model": "veo-3.1-fast",
  "status": "completed",
  "created_at": 1789689600,
  "finished_at": 1789689720,
  "output": {
    "video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
  }
}

video_url là tệp MP4, hoặc GIF khi yêu cầu có đặt enable_gif. Liên kết nằm trên kho lưu trữ của SeedRouter.

Kết quả các lần chạy thử của chúng tôi (mỗi trường hợp một lần, 2026-10-04):

Yêu cầuTệp
veo-3.1-fast, 9:16, chế độ frameMP4, H.264, 720 × 1280, 24 fps, 8 giây, có track âm thanh AAC stereo
veo-3.1-fast-official, 16:9, 720p, 4 giây, không có generate_audioMP4, H.264, 1280 × 720, 24 fps, 4 giây, không có track âm thanh
veo-3.1-lite, enable_gifGIF, 480 × 270, 16 fps, 8 giây

Mô hình theo clip không có công tắc âm thanh; mô hình theo giây chỉ thêm track âm thanh khi có generate_audio.

Lỗi

Những yêu cầu bị từ chối trước khi tác vụ được tạo sẽ trả về lỗi HTTP kèm đối tượng error và không bị tính phí. Tác vụ thất bại sau khi đã được tiếp nhận sẽ trả về HTTP 200 khi truy vấn, kèm status: "failed" và một đối tượng error.

Hãy xem danh mục lỗi dùng chung để biết mã lỗi, mã trạng thái HTTP và hướng dẫn thử lại.

{
  "id": "task_...",
  "model": "veo-3.1-fast",
  "status": "failed",
  "error": {
    "code": 60001,
    "message": "The request was rejected by the content policy. Please revise the prompt or input images."
  }
}

Nếu chính lần gửi bị hết thời gian chờ, hãy kiểm tra các tác vụ của bạn trước khi gửi lại: yêu cầu đầu tiên có thể đã được tiếp nhận.

Mẹo

  • Bắt đầu với veo-3.1-lite hoặc veo-3.1-fast ở 720p để thử prompt, rồi chuyển sang Quality hoặc 4k cho bản render cuối.
  • Hãy nêu rõ máy quay và ánh sáng: ống kính và chuyển động máy quay thay đổi cảnh quay nhiều hơn tính từ.
  • Thêm no text, no logos để loại chữ và ký hiệu tự bịa ra khỏi khung hình.
  • Với cảnh quay phải mở đầu và kết thúc bằng những ảnh đã biết, hãy dùng chế độ frame với hai ảnh, hoặc mô hình theo giây với first_frame_image và last_frame_image.
  • Cố định seed trên mô hình theo giây và chỉ đổi một vế câu mỗi lần để tinh chỉnh một cảnh quay.

Liên quan