Source: https://ailoot.ai/models/zh-hant-tw/viduq2/
Canonical: https://ailoot.ai/models/zh-hant-tw/viduq2/
Language: zh-hant-tw

# Vidu: Q2 Text-to-Video

[Markdown](https://ailoot.ai/models/zh-hant-tw/viduq2/index.md) · [JSON](https://ailoot.ai/models/zh-hant-tw/viduq2/facts.json)

## [Vidu: Q2 Text-to-Video](https://ailoot.ai/models/zh-hant-tw/viduq2/)

Vidu Q2 可根據文字場景指示建立影片，提供 1–10 秒片長、540p、720p 或 1080p 輸出，以及五種長寬比。這個確切的 viduq2 設定檔以提示詞指定風格與動作，並透過非同步任務回傳結果。

- [**Ailoot Ultra · 影片** `POST /v1/videos` `viduq2`](https://ailoot.ai/models/zh-hant-tw/viduq2/#method-0)

關於模型

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

Vidu Q2 可透過 viduq2 選取的文字轉影片設定檔，根據文字場景建立影片。必要輸入是確切模型識別碼，以及描述場景的提示詞。適用於外觀和動作能以文字說明的短篇產品概念、交代地點的全景，或角色動作。此處設定的方法是文字轉影片；說明並未為該選擇器指定獨立的圖片參考或影片編輯模式。

以可見的動作順序組織指示。交代主體、地點、動作、景別、攝影機運動和最後構圖。產品概念可以描述桌面上的物件、掠過材質的光線，以及最後停在可辨識細節上的緩慢推近。地點場景則應先交代環境，再移向焦點。動作應配合所選片長，讓場景有時間呈現預期結尾。

提示詞上限為 2,000 個字元。先寫出核心主體與動作，再加入會改變預期結果的光線、材質、環境和攝影機細節。請在提示詞中指定視覺風格。Q2 專屬指南指出，獨立的 style 和 movement\_amplitude 參數不會對此模型生效，因此 general 或 anime 預設，以及動作幅度選項，都不能取代清楚的場景描述。

模型專屬的片長設定接受一至十的整數秒。Q2 專屬的解析度選項為 540p、720p 和 1080p，文件所列預設值為 720p。請依動作和用途一併選擇片長與解析度。短暫展示與較長動作需要不同的時間安排；增加請求片長應服務於可見序列，而非只是拉長未修改的指示。準備最後版面配置時，請檢查回傳影片的實際尺寸和片長。

文件所列的 aspect\_ratio 選項為 16:9、9:16、3:4、4:3 和 1:1，預設值為 16:9。指南明確指出 Q2 系列支援 3:4 和 4:3。生成前先選擇畫幅，再描述適合該畫幅的構圖：直式視角應讓主要主體清晰可辨，橫式畫幅則可利用寬度呈現周圍環境。結尾視角應保持足夠清楚，以符合預期網頁、簡報或後續字幕處理的用途。

seed 欄位控制變化。省略或提供 0 會選擇隨機值；非零值則選擇文件所列的固定種子選項，用於可重現的生成。比較版本時，請將回傳種子與提示詞和設定一併保留。共用操作也為 Q3 模型專門記載 audio 和 off\_peak 控制。這些 Q3 選項並非此 Q2 設定檔被指定的能力；請依其文件所列的文字輸入與影片輸出規劃請求。

生成採非同步方式。提交會回傳 task\_id 和初始狀態，新建任務使用 created。追蹤處理時請保留該任務身分。文件所列的結果查詢以 state=success 表示成功結果，並回傳 creations 陣列。每個項目的影片網址位於 creations\[\].url；請儲存每段回傳影片，而非假設任務永遠恰好只有一項生成結果。

結果文件也會回報實際影片的片長、fps，以及解析度的寬度和高度。請將這些回報值與完成影片一併保留，而非將範例的影格速率或尺寸視為固定的 Q2 規格。建立任務的回應包含 credits 值和請求設定。請將這些回報的任務元資料與已完成任務的身分一併保留在結果中，讓每段影片都能對應到其生成設定。

依原始指示檢查整段序列：主體外觀、物件形狀、運動方向、攝影機連續性和預期的最後視角。修改時，請指出具體未達成的細節，並保留場景中成功的部分。請將提示詞、確切選擇器、設定、任務身分和完成影片保存在一起，讓後續比較根據實際素材進行。

**Ailoot Ultra · 影片** `POST /v1/videos` `viduq2`

[`viduq2`](https://ailoot.ai/models/zh-hant-tw/#m=viduq2&route=Ultra&caller=viduq2&fmt=videos)

Vidu /`viduq2`

### 入門

Vidu Q2 可根據文字場景指示建立影片，提供 1–10 秒片長、540p、720p 或 1080p 輸出，以及五種長寬比。這個確切的 viduq2 設定檔以提示詞指定風格與動作，並透過非同步任務回傳結果。

接受的輸入

文字

結果

影片

### Ailoot 可用 · 輸入與方法

**Ailoot Ultra · 影片** `POST /v1/videos`

輸入

`text`

輸出

`video`

| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
| --- | --- | --- | --- | --- |
| 欄位`model` | 類型`string` | 要求必填 | 值與限制 viduq2 | 預設值— |
| 欄位`prompt` | 類型`string` | 要求必填 | 值與限制 條件: 請描述要生成的場景。文件記載的上限為 2000 個字元；Ailoot 會檢查字串是否非空，並保留原文。 | 預設值— |
| 欄位`duration` | 類型`integer` | 要求選填 | 值與限制 最小值: 1 最大值: 10 條件: viduq2 的模型專屬說明指定長度為 1–10 秒，且須為整數秒。文件未記載該模型的預設長度。 單位: 秒 | 預設值— |
| 欄位`seed` | 類型`string` | 要求選填 | 值與限制 條件: 若要使用隨機結果，請省略或傳送字串 "0"。若提供非零 seed，會採用文件記載的固定種子（seed）行為；文件未指定數值範圍。 | 預設值— |
| 欄位`aspect_ratio` | 類型`string` | 要求選填 | 值與限制 16:9, 9:16, 3:4, 4:3, 1:1 | 預設值16:9 |
| 欄位`resolution` | 類型`string` | 要求選填 | 值與限制 540p, 720p, 1080p 條件: viduq2 的模型專屬清單記載，這些級距適用於 1–10 秒。共用列舉值與表格亦提及 360p，但其適用範圍與該清單相衝突，因此此處不宣稱支援。 | 預設值720p |
| 欄位`style` | 類型`string` | 要求選填 | 值與限制 general, anime 條件: 共用請求可接受此欄位，但文件明確指出，此欄位對 viduq2 不會產生作用。 | 預設值general |
| 欄位`movement_amplitude` | 類型`string` | 要求選填 | 值與限制 auto, small, medium, large 條件: 共用請求可接受此欄位，但文件明確指出，此欄位對 q2 模型不會產生作用。 | 預設值auto |

輸入素材組合

方法參數與生命週期

| 參數 | 規格 |
| --- | --- |
| 參數`content_type` | 規格application/json |
| 參數`required` | 規格model, prompt |
| 參數`optional` | 規格duration, seed, aspect\_ratio, resolution, style, movement\_amplitude |
| 參數`material_types` | 規格text |
| 參數`additional_properties` | 規格true |
| 參數`validation_scope` | 規格Ailoot 會驗證 model/prompt 字串是否非空。下列選填欄位的型別與限制是文件記載的請求契約；其他請求欄位會為所選模型保留。 |

方法別名： `/v1/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 與 polling\_url。

請輪詢原始操作並讀取 state；只有達到 success 且取得自有的 creations\[\].url 結果，才算完成。

請下載每個回傳的自有影片 URL；切勿根據範例推定固定的輸出數量、長度或影格率。

### 方案

##### 最終費用的計算方式

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

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

快速模式

未指定 選取快速模式時

flex 模式

未指定 選取 flex 模式時

最高推理強度

未指定 最高推理強度採用 default 調整值時

#### 供比較的預估費率

#### 各設定的價格

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

| 設定 | 費率表 | 預估數量 | 費用 |
| --- | --- | --- | --- |
| 設定基礎 token 費率 | 費率表基本費率 | 預估數量— | 費用 輸入 · 輸入 Token · 僅供比較的估算 **—** / 1K Token 輸出 · 輸出 Token · 僅供比較的估算 **—** / 1K Token 輸入 · 讀取快取 · 僅供比較的估算 **—** / 1K Token 輸入 · 寫入快取 · 僅供比較的估算 **—** / 1K Token 輸入 · 寫入快取，1 小時 · 僅供比較的估算 **—** / 1K Token |
| 設定預估生成費用 | 費率表— | 預估數量單次生成估算值 | 費用 輸出 · 預估生成費用 · 僅供比較的估算 **$5.12** 生成前估算 此估算並非額外費用，也不是本次生成完成後的固定費率。 |

Ailoot 會在請求前預留估算金額。取得結果後，依實測用量結算最終費用。串流結算採用最終用量紀錄。[預留金額與結算的運作方式 →](https://ailoot.ai/docs/zh-hant-tw/billing/reserve/)

### 請求範例

#### Ailoot Ultra · 影片

curl · 建立影片curl · 讀取原始任務curl · 下載您擁有的每部影片

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"viduq2","prompt":"In an ultra-realistic fashion photography style featuring light blue and pale amber tones, an astronaut in a spacesuit walks through the fog. The background consists of enchanting white and golden lights, creating a minimalist still life and an impressive panoramic scene."}
JSON_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
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i:raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use the actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
```

```bash
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("state")!="success":raise SystemExit("Poll the same original job until its owned result is returned.")
creations=r.get("creations")
if not isinstance(creations,list) or not creations:raise SystemExit("No completed video creations.")
urls=[]
for item in creations:
    value=item.get("url") if isinstance(item,dict) else None
    values=[value] if isinstance(value,str) else value
    if not isinstance(values,list) or not values:raise SystemExit("No completed video URL.")
    for u in values:
        if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
        p=urlsplit(u)
        if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for the actual Ailoot-owned signed result.")
        urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt
```

### 接收並儲存結果

#### Ailoot Ultra · 影片

JSON 會保留原生 state 與 creations 陣列，並加入公開的 id/provider\_task\_id/polling\_url。選定的影片 URL 在發布前為空，完成後會成為 Ailoot 自有的簽署 URL。

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

##### 保留所有已完成的結果

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

請下載 creations\[\].url 中每個實際回傳的 URL；內容索引會識別一個實際回傳的輸出。

##### 需要檢查原始回應時

固定的宣告未列出任何終止失敗狀態。若出現無法辨識的狀態或 result\_pending\_check 錯誤，請保留原始回應／標頭／id，並查詢同一操作；切勿重新提交結果不明的建立請求。

回應欄位

| 欄位 | 類型 | 含義 |
| --- | --- | --- |
| 欄位`id` | 類型string | 含義回傳的公開 Ailoot 工作或操作識別碼。 |
| 欄位`provider_task_id` | 類型string | 含義原始工作識別碼，與公開的 id 分開。 |
| 欄位`polling_url` | 類型string | 含義回傳的原始工作 Ailoot 查詢路徑。 |
| 欄位`task_id` | 類型string when supplied | 含義建立回應中提供的原始識別碼。 |
| 欄位`state` | 類型string when supplied | 含義原生工作狀態：固定的待處理狀態為 created，完成時為 success。 |
| 欄位`err_code` | 類型string when supplied | 含義工作診斷資訊；已儲存的規格未宣告列舉式錯誤碼清單。 |
| 欄位`creations[].url` | 類型string\|string\[\] | 含義每個選定且已完成的影片 URL 都會替換為 Ailoot 自有的簽署 URL。 |
| 欄位`creations[].video.duration` | 類型number when supplied | 含義回傳的影片長度；請查看實際完成的結果。 |
| 欄位`creations[].video.fps` | 類型integer when supplied | 含義回傳的影格率；不保證固定的影格率。 |
| 欄位`creations[].video.resolution.width` | 類型integer when supplied | 含義回傳的輸出寬度，以像素為單位。 |
| 欄位`creations[].video.resolution.height` | 類型integer when supplied | 含義回傳的輸出高度，以像素為單位。 |

錯誤與後續步驟

| 回應 | 條件 | 下一步 |
| --- | --- | --- |
| 回應400 · `invalid_request_error` | 條件JSON/model 無效、必要字串缺漏或為空，或內容索引無效。 | 下一步 |
| 回應401 · `authentication_error` | 條件Ailoot API 金鑰無效。 | 下一步 |
| 回應403 · `permission_error` | 條件此 API 金鑰群組未獲准使用這條媒體路由。 | 下一步 |
| 回應404 · `not_found_error` | 條件原始工作或要求的輸出不存在，或不屬於同一使用者／API 金鑰／群組。 | 下一步 |
| 回應502 · `result_pending_check` | 條件原始提交內容或狀態不完整，或無法核對一致；請保留原始 ID，切勿重新提交。 | 下一步 |
| 回應503 · `result_pending_check` | 條件原始綁定、路由或自有媒體仍在查核中；請繼續查核該原始操作。 | 下一步 |
| 回應503 · `server_error` | 條件媒體服務或原始工作的儲存系統無法使用。 | 下一步 |

### 別名

#### 模型別名

**Ailoot Ultra** [`viduq2`](https://ailoot.ai/models/zh-hant-tw/#m=viduq2&route=Ultra&caller=viduq2&fmt=videos)

#### 方法路徑別名

`/v1/videos/generations`

#### 相關呼叫用 ID

[`viduq2`](https://ailoot.ai/models/zh-hant-tw/#m=viduq2&route=Ultra&caller=viduq2&fmt=videos)

FAQ · Vidu: Q2 Text-to-Video

可以使用哪些輸入與結果？

`POST /v1/videos` · `viduq2`: `text` → `video`

請求使用哪些欄位？

`POST /v1/videos` · `viduq2`: `model`, `prompt`, `duration`, `seed`, `aspect_ratio`, `resolution`, `style`, `movement_amplitude`

適用哪些限制？

`POST /v1/videos` · `viduq2`: `duration.minimum`: `1`; `duration.maximum`: `10`

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

## 公司及其專案組合

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

## 優惠購買 token。

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

訂閱

為定期請求選擇優惠方案。

最高 50% 折扣碼

購買時輸入代碼，價格依活動重算。

歷史中的費用

每次請求保存模型、token 與金額。

[選擇訂閱](https://ailoot.ai/docs/zh-hant-tw/billing/subscriptions/) · [查看模型價格](https://ailoot.ai/models/zh-hant-tw/)

## 將 API 加入 你銷售的產品。

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

商用應用程式

在付費功能加入文字、圖片、影片與聲音生成。

經銷授權

提供專案說明與存取方式，要求書面使用和轉售條件。

網站文件

串接前可閱讀正式服務條款、授權合約與資料處理政策。

[申請經銷授權](mailto:support@ailoot.ai) · [正式服務條款與授權合約](https://ailoot.ai/legal/offer?lang=zh-hant-tw)

## Ailoot · 公司及其專案組合





Ailoot以累積的營運經驗、廣大的客戶群、穩定的服務及持續的KPI管理為基礎。





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





Ailoot將這些營運經驗用於API存取，讓客戶的產品、代理、應用程式及自動化流程使用AI功能。
