Veo
curl --request POST \
--url https://api.mixroute.ai/v1/video/generationsimport requests
url = "https://api.mixroute.ai/v1/video/generations"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.mixroute.ai/v1/video/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixroute.ai/v1/video/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixroute.ai/v1/video/generations"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mixroute.ai/v1/video/generations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixroute.ai/v1/video/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body動画シリーズ
Veo
MixRouteメタデータを使用するVeoの動画生成パラメーター、メディアオブジェクト、およびリクエスト例。
Veo
curl --request POST \
--url https://api.mixroute.ai/v1/video/generationsimport requests
url = "https://api.mixroute.ai/v1/video/generations"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.mixroute.ai/v1/video/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixroute.ai/v1/video/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixroute.ai/v1/video/generations"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mixroute.ai/v1/video/generations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixroute.ai/v1/video/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_bodyVeoはネイティブ音声付きの動画を生成します。このページではGemini Developer APIのフィールド定義を使用します。MixRouteでは、
モデルマーケットプレイスでルートの提供状況を確認してください。
modelとpromptをルートに置き、メディア入力と生成設定の両方をmetadata内に直接配置します。
POST https://api.mixroute.ai/v1/video/generations
フラットな
metadataオブジェクトを使用してください。metadata.instancesやmetadata.parametersを追加しないでください。Veo 3モデルは音声をネイティブに生成するため、generateAudioを送信しないでください。Vertex固有の出力ストレージ、Pub/Sub、マスク、およびその他のエンタープライズ専用設定は、このリクエスト形式には含まれません。モデルとバージョン
| モデルID | バージョン |
|---|---|
veo-3.1-generate-preview | Veo 3.1 |
veo-3.1-fast-generate-preview | Veo 3.1 Fast |
veo-3.0-generate-001 | Veo 3 |
veo-3.0-fast-generate-001 | Veo 3 Fast |
リクエストパラメーター
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | 完全なMixRouteルートID。 |
prompt | string | はい | シーンと動きを説明するMixRoute動画プロンプト。セリフ、効果音、音楽の指示を含めることもできます。 |
metadata | object | 条件付き | 以下のメディア入力または生成設定を指定する場合は必須です。 |
metadata.image | object | いいえ | 最初のフレームのImageオブジェクト。生のBase64文字列にはbytesBase64Encodedを、そのMIMEタイプ(image/pngやimage/jpegなど)にはmimeTypeを使用します。 |
metadata.lastFrame | object | 条件付き | 補間用の最後のフレームを指定するImageオブジェクト。フィールドはimageと同じです。metadata.imageと併用する必要があります。 |
metadata.referenceImages | object[] | いいえ | Veo 3.1の参照入力で、最大3つのオブジェクトを指定できます。各オブジェクトにはimage(Imageオブジェクト)とreferenceType: "asset"を含めます。長さは8秒にしてください。 |
metadata.video | object | いいえ | 以前のVeo生成結果からのVeo 3.1延長入力です。uriを指定するか、encodedVideoにBase64バイト列、encodingにMIMEタイプを指定してください。Vertexの動画フィールドgcsUriまたはbytesBase64Encodedは使用しないでください。 |
metadata.durationSeconds | integer | いいえ | Veo 3.1: 4秒、6秒、8秒。参照画像、延長、1080p、4kを使用する場合は8を指定してください。Veo 3/3 Fastは8秒の動画を生成します。 |
metadata.aspectRatio | string | いいえ | 値: 16:9(デフォルト)または9:16。従来のVeo 3の1080p出力には16:9が必要です。 |
metadata.resolution | string | いいえ | Veo 3.1: 720p(デフォルト)、1080p、4k。1080p/4kには8秒が必要です。延長は720pのみです。Veo 3/3 Fastは720pまたは1080pを使用します。 |
metadata.sampleCount | integer | いいえ | 生成する動画の本数。Gemini Developer APIは1リクエストにつき1本の動画を生成します。1を使用してください。 |
metadata.negativePrompt | string | いいえ | 動画から除外する内容や視覚的特徴の説明。 |
metadata.personGeneration | string | いいえ | Veo 3.1では、テキストから動画への生成/延長にallow_allを使用し、画像/補間/参照モードにallow_adultを使用します。地域のポリシーにより、選択可能な値がallow_adultに限定される場合があります。 |
metadata.enhancePrompt | boolean | いいえ | Veo 3/3.1では、プロンプトの書き換えを無効にできません。このフィールドは省略してください。falseは、無効化の設定としてサポートされていません。 |
シナリオ別の制約
- Imageオブジェクトには、生のBase64データを使用します。
data:image/...;base64,プレフィックスや任意のURL文字列ではありません。 - 参照画像と動画の延長はVeo 3.1の機能です。従来のVeo 3ルートには適用しないでください。
- 延長の入力には、保持期間内にある最近のVeo出力を使用する必要があります。条件は720p、16:9または9:16、最大141秒です。延長1回につき7秒が追加され、最大20回、合計148秒まで延長できます。延長リクエストでも
durationSecondsは8でなければなりません。 - フレームレートは24 fpsで、音声はネイティブに生成されます。出力の保持期間には制限があるため、完了した結果は速やかに取得してください。
例
APIを呼び出す前にMIXROUTE_API_KEYを設定してください。メディアのプレースホルダーは、アクセス可能な入力に置き換えてください。受け付けられたリクエストは課金対象の生成タスクを作成します。送信がタイムアウトしても自動的に再送信しないでください。
- テキストから動画を生成
curl --location "https://api.mixroute.ai/v1/video/generations" \
--header "Authorization: Bearer $MIXROUTE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "veo-3.1-fast-generate-preview",
"prompt": "A blue circle gently pulses on a clean white background.",
"metadata": {
"durationSeconds": 4,
"aspectRatio": "9:16",
"resolution": "720p",
"sampleCount": 1
}
}'
Python
import json
import os
import requests
payload = json.loads(r'''
{
"model": "veo-3.1-fast-generate-preview",
"prompt": "A blue circle gently pulses on a clean white background.",
"metadata": {
"durationSeconds": 4,
"aspectRatio": "9:16",
"resolution": "720p",
"sampleCount": 1
}
}
''')
response = requests.post(
"https://api.mixroute.ai/v1/video/generations",
headers={"Authorization": "Bearer " + os.environ["MIXROUTE_API_KEY"]},
json=payload,
timeout=60,
)
response.raise_for_status()
print(response.json())