模型

Google: Veo 3.1

Markdown · JSON

Google: Veo 3.1

Veo 3.1 是 Google 用於文字及圖片引導場景的影片模型,具備生成聲音、邊界影格引導與參考素材。正式規格提供 4、6 或 8 秒、24 fps 短片,輸出選項包括 720p、1080p 與 4K。

關於模型

此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。

Veo 3.1 是 Google 的影片生成模型,可依文字或圖片引導簡述建立短篇影音場景。正式規格支援文字轉影片、圖片轉影片及首尾影格引導創作,包含生成聲音、素材參考與獨立接續流程。可用來發展電影感概念、短篇產品敘事,或場景、動作及聆聽體驗明確的視覺片段。

先描述主體及可見事件。確立周圍環境、時段與光線,再定義攝影機視角或移動,以及預期視覺風格。一份原創場景簡述可呈現深色攝影棚檯面上的玻璃容器,以緩慢橫移揭示反射,搭配柔和環境聲。每項指示都提供可在完成結果中評估的可見或可聽特徵。

Google 提示詞框架將主體、動作、場景、攝影機及美學視為簡述的不同部分。請選用有助於鏡頭的部分,不要加入所有可能描述詞。文件中的提示詞規格要求以英文撰寫指示。若場景包含多個動作,請說明彼此關係,並配合短片長度,讓揭示或反應仍容易理解。

起始圖片確立開場外觀與構圖。角色、產品或場景已有視覺素材時可使用,再描述由此發展的動作。尾格則增加結尾的目標構圖。請準備能傳達合理轉變、保留主要主體辨識細節的邊界影格,生成後檢查影格間動作。

素材參考有另一用途:在新生成場景中引導角色或物件外觀;邊界影格則定義該場景中的特定時刻。請選擇顯示重要視覺特徵的參考,並在提示詞中明確交代各素材用途。正式模型的參考圖片轉影片規格,在該參考流程使用八秒輸出,與一般文字引導片長選擇分開。

原廠一般正式規格以每秒 24 格生成 4、6 或 8 秒短片。文件列出橫式 16:9 與直式 9:16、每個提示詞最多四段影片輸出,以及 720p、1080p 與 4K 解析度。輸出格式為 MP4。圖片引導規格接受 JPEG 或 PNG,輸入圖片上限 20 MB,支援 720p/1080p 輸入設定。請依預定版位選擇輸出規格,並讓影格構圖在該尺寸仍清楚可讀。

原生聲音可伴隨可見場景。請將台詞、氣氛及音效寫入同一簡述,指出產生各聲音的主體或事件。對話指示與攝影機指示回答不同問題:前者確立演出,後者確立觀眾如何看見演出。台詞需符合短片可用說話時間,並檢查聲音清晰度及其與動作的關係。

接續工作使用原廠獨立的影片延長流程。從合適的生成來源短片開始,描述場景中下一個可見事件或變化。請保留原始與接續片段,方便檢查接點的外觀、動作與聲音。一般新生成的片長及解析度選項,不應視為所有延長操作的通用契約。

負面描述可讓排除項目聚焦於工作的視覺要求。系列產品變體應讓主體及構圖穩定,只改變一個創意方向,例如光線或攝影機距離。請將提示詞、參考及所選設定與結果一併記錄,才能比較實用的創意差異,而非一組互不相關的生成結果。

一般 Veo 3.1 正式規格與 Veo 3.1 Fast 的輸出解析度規格不同。Fast 列出 720p 及 1080p,一般 3.1 另列出 4K。請讓所選版本附隨結果,不要默默以較舊 Preview 規格或其他 Veo 世代替代正式模型識別碼。主體外觀與支援操作都取決於所選流程。

生成是一項操作,完成結果會提供可播放及後續剪輯的影片素材。請將回傳檔案與來源影格、參考素材及簡述一併保存,保留提供的內容來源資訊。每份實際輸出都需檢查主體外觀、動作、構圖、聲音及最終構圖。所選短片可作為製作組件,再於周邊剪輯加入標題、轉場或其他收尾工作。

Ailoot Ultra · 影片 POST /v1/videos google/veo-3.1

google/veo-3.1

Google /google/veo-3.1

入門

Veo 3.1 是 Google 用於文字及圖片引導場景的影片模型,具備生成聲音、邊界影格引導與參考素材。正式規格提供 4、6 或 8 秒、24 fps 短片,輸出選項包括 720p、1080p 與 4K。

接受的輸入
文字
結果
影片

Ailoot 可用 · 輸入與方法

Ailoot Ultra · 影片 POST /v1/videos
輸入
text
輸出
video
輸出格式
mp4
輸出數量
最多 4 輸出s
欄位類型要求值與限制預設值
欄位model類型string要求必填值與限制
google/veo-3.1
預設值—
欄位prompt類型string要求必填值與限制
UTF-8 位元組數上限: 10,000
必須包含非空白字元: 是
預設值—
欄位duration類型integer要求必填值與限制
4, 6, 8
預設值—
欄位resolution類型string要求必填值與限制
720p
預設值—
欄位aspect_ratio類型string要求必填值與限制
16:9, 9:16
預設值—
欄位generate_audio類型boolean要求必填值與限制
false, true
預設值—
輸入素材組合

文字生成影片 · 必填: prompt

方法參數與生命週期
參數規格
參數content_type規格application/json
參數required規格model, prompt, duration, resolution, aspect_ratio, generate_audio
參數additional_properties規格false
參數parameters規格{"name":"model","type":"string","required":true,"enum":["google/veo-3.1"]}, {"name":"prompt","type":"string","required":true,"non_whitespace":true,"max_utf8_bytes":10000}, {"name":"duration","type":"integer","required":true,"enum":[4,6,8]}, {"name":"resolution","type":"string","required":true,"enum":["720p"]}, {"name":"aspect_ratio","type":"string","required":true,"enum":["16:9","9:16"]}, {"name":"generate_audio","type":"boolean","required":true,"enum":[false,true]}
參數material_types規格text

方法別名: /v1/videos/generations, /videos, /videos/generations

生命週期: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

請保留完整回應與原始回傳的 ID。

切勿重新提交結果不明的建立請求。

方案

最終費用的計算方式

顯示的費率用於在生成前估算費用。最終費用依原始生成作業記錄的成本計算。實測的輸出時間長度與預估數量並非最終計費數量。

費率資訊不會增加請求選項。支援的參數列於所選方法中。

快速模式
未指定 選取快速模式時
flex 模式
未指定 選取 flex 模式時
最高推理強度
未指定 最高推理強度採用 default 調整值時

供比較的預估費率

各設定的價格

請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。

設定費率表預估數量產生音訊解析度計費單位計費條件費用
設定基礎 token 費率費率表基本費率預估數量—產生音訊—解析度—計費單位—計費條件—費用
輸入 · 輸入 Token · 僅供比較的估算 — / 1K Token
輸出 · 輸出 Token · 僅供比較的估算 — / 1K Token
輸入 · 讀取快取 · 僅供比較的估算 — / 1K Token
輸入 · 寫入快取 · 僅供比較的估算 — / 1K Token
輸入 · 寫入快取,1 小時 · 僅供比較的估算 — / 1K Token
設定Ultra費率表—預估數量指定的設定;僅為估算。產生音訊含音訊解析度720p計費單位每秒輸出影片計費條件—費用
輸出 · 預估輸出影片秒數 · 僅供比較的估算 $0.8 每秒輸出影片

顯示的費率用於生成前預估費用。最終費用根據原始生成所記錄的費用計算。影片實際長度並非計費數量。

設定影片價格費率表—預估數量—產生音訊—解析度—計費單位每秒影片計費條件音訊:with_audio;解析度:4k費用
輸出 · 影片價格 · 僅供比較的估算 $1.2 每秒影片
設定Ultra費率表—預估數量指定的設定;僅為估算。產生音訊不含音訊解析度720p計費單位每秒輸出影片計費條件—費用
輸出 · 預估輸出影片秒數 · 僅供比較的估算 $0.4 每秒輸出影片

顯示的費率用於生成前預估費用。最終費用根據原始生成所記錄的費用計算。影片實際長度並非計費數量。

設定影片價格費率表—預估數量—產生音訊—解析度—計費單位每秒影片計費條件音訊:without_audio;解析度:4k費用
輸出 · 影片價格 · 僅供比較的估算 $0.8 每秒影片
設定預估生成費用費率表—預估數量單次生成估算值產生音訊—解析度—計費單位—計費條件—費用
輸出 · 預估生成費用 · 僅供比較的估算 $1.6 生成前估算

此估算並非額外費用,也不是本次生成完成後的固定費率。

Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →

參考費率詳情

模型層級的參考費率表不會變更方法選擇、報價或費用。實際計費採用所選 Ailoot 方法的費率。

影片設定的價格參考

各設定的價格

請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。

設定計費條件費用
設定影片價格計費條件音訊:with_audio費用
輸出 · 影片價格 $0.8 每秒影片

所示設定的公開價格參考。最終費用依實際計費設定計算。

設定影片價格計費條件音訊:with_audio;解析度:4k費用
輸出 · 影片價格 $1.2 每秒影片

所示設定的公開價格參考。最終費用依實際計費設定計算。

設定影片價格計費條件音訊:without_audio費用
輸出 · 影片價格 $0.4 每秒影片

所示設定的公開價格參考。最終費用依實際計費設定計算。

設定影片價格計費條件音訊:without_audio;解析度:4k費用
輸出 · 影片價格 $0.8 每秒影片

所示設定的公開價格參考。最終費用依實際計費設定計算。

請求範例

Ailoot Ultra · 影片

curl · 已設定的確切組態
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/veo-3.1", "prompt": "a calm greenhouse", "duration": 6, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true}')
Path('request.json').write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT

接收並儲存結果

Ailoot Ultra · 影片

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
查看工作狀態
GET · 取得原始作業狀態
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
其他內容讀取方式
儲存所有已完成且屬於自己的輸出
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
    urls.append((str(i),u))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
保留所有已完成的結果

請儲存每部已完成的影片或傳回的檔案,並從實際傳回的每個素材 URL 取得素材。

請保留每個已完成的 data[] 自有簽署 URL,以及完整狀態中繼資料。請儲存每個輸出,包括其生成的音訊。即使 generate_audio=false,也可能包含有效的 AAC 音軌;請保留包含該音訊的完整原始 MP4。

需要檢查原始回應時

請讀取現有的原始作業;切勿重新提交傳送結果不明的請求。

輸出數量上限: 4.

回應欄位
欄位類型含義
欄位id類型string含義—
欄位object類型string含義—
欄位model類型string含義—
欄位status類型string含義—
欄位data[]類型signed content URL含義—
欄位charge_pending_check類型boolean含義—
欄位error.code類型string含義—
欄位error.message類型string含義—
欄位operation_id類型string含義HTTP503 result_pending_check 的原始狀態/內容回應:id 使用相同的原始公開影片 ID。
欄位error.type類型string含義HTTP503 result_pending_check 時的 server_error。
錯誤與後續步驟
回應條件下一步
回應400 · invalid_request_error條件在解析影片設定檔之前,讀取原始請求本文即已失敗下一步請保留回傳的回應,並修正無法讀取的請求本文。
回應422 · price_unavailable條件無法解析確切的影片設定檔,或完整解析後的設定檔沒有可用且完全相符的價格卡下一步請保留回應,並使用完整、完全相符且獲准使用的設定檔與其公布價格卡。此分支會在傳送給供應商前執行。
回應409 · video_not_ready條件原始結果內容尚無法取得下一步請輪詢原始回傳的 ID,並遵守 Retry-After。
回應server_error條件回傳的回應表示該作業或結果需要檢查下一步保留原始回傳的作業/任務 ID、請求標頭與回應;繼續以支援的方式讀取該原始作業。請勿重新提交建立請求。
回應503 · result_pending_check條件以 GET 取得原始狀態/內容:工作尚未發布、原始作業並非 failed/cancelled/expired,且符合以下其中一項:本機狀態為 unknown,或原始作業狀態為 completed。下一步請保留原始 id 與 operation_id(兩者為同一公開影片 ID)、回應與標頭;僅讀取原始狀態/內容。切勿提交新的生成請求。

別名

模型別名

Ailoot Ultra google/veo-3.1

方法路徑別名

/v1/videos/generations, /videos, /videos/generations

相關呼叫用 ID

google/veo-3.1

FAQ · Google: Veo 3.1
可以使用哪些輸入與結果?

POST /v1/videos · google/veo-3.1: text → video

請求使用哪些欄位?

POST /v1/videos · google/veo-3.1: model, prompt, duration, resolution, aspect_ratio, generate_audio

更多詳情

將 Ailoot 串接 Claude Code、OpenCode、Hermes 或自己的應用程式。

公司及其專案組合

公司及其專案組合:數百萬客戶,每月銷售額達數十億。

優惠購買 token。

訂閱優惠適合持續工作,折扣碼購買 token 最高可折 50%。

訂閱
為定期請求選擇優惠方案。
最高 50% 折扣碼
購買時輸入代碼,價格依活動重算。
歷史中的費用
每次請求保存模型、token 與金額。

選擇訂閱 · 查看模型價格

將 API 加入 你銷售的產品。

依 Ailoot 正式服務條款與授權合約串接 SaaS、應用程式與機器人;轉售請申請經銷授權。

商用應用程式
在付費功能加入文字、圖片、影片與聲音生成。
經銷授權
提供專案說明與存取方式,要求書面使用和轉售條件。
網站文件
串接前可閱讀正式服務條款、授權合約與資料處理政策。

申請經銷授權 · 正式服務條款與授權合約