PixVerse V4.5 可透過兩個非同步端點在 Novita AI 上使用:POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v 用於文字轉影片(T2V),以及 POST https://api.novita.ai/v3/async/pixverse-v4.5-i2v 用於圖片轉影片(I2V)。兩者遵循相同的兩步驟非同步模式——提交生成請求,收到 task_id,然後輪詢 GET /v3/async/task-result 直到狀態變為 TASK_STATUS_SUCCEED 且影片 URL 可用。本指南將帶你從零開始,為每種模式取得可運作的影片 URL。
何時使用此快速入門
當你在針對 PixVerse V4.5 編寫正式邏輯之前,需要一個經過驗證的有效請求時,請使用本指南。
當你的輸入完全是文字——場景描述、分鏡標題或產品提示——時,T2V 是正確的選擇。I2V 適用於你有參考圖片並希望 PixVerse 從該影格開始向前動畫化的情況。
開始前須知:
- 影片片段最長 5 秒(1080p),或 8 秒(720p 及以下)。
fast_mode: true可加速生成並降低成本,但解析度上限為 720p。style預設參數(anime、3d_animation、clay、comic、cyberpunk)標示為僅 v3.5 可用——在正式仰賴它之前,請先在 V4.5 上測試。- I2V 圖片輸入必須是 jpg、jpeg 或 png;最大 10MB;最小 300×300px;寬高比介於 1:2.5 至 2.5:1 之間。
本指南不涵蓋 PixVerse 網頁介面、自架部署或微調。僅涵蓋 Novita AI 託管的 API 路徑。
第 1 步:取得你的 Novita API 金鑰
建立 Novita AI 帳戶並導航至 API 金鑰管理。產生金鑰並將其匯出到你的環境變數:
export NOVITA_API_KEY="your_api_key_here"
請將金鑰保留在版本控制、客戶端套件和 Docker 映像層之外。
第 2 步:確認端點
| T2V | I2V | |
|---|---|---|
| 提交端點 | POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v |
POST https://api.novita.ai/v3/async/pixverse-v4.5-i2v |
| 結果端點 | GET https://api.novita.ai/v3/async/task-result?task_id=<id> |
GET https://api.novita.ai/v3/async/task-result?task_id=<id> |
| API 參考 | T2V 文件 | I2V 文件 |
結果端點是所有 Novita AI 非同步 API 共用的。一旦你了解輪詢迴圈的方式,它對每種模型都以相同方式運作。
第 3 步:發送你的第一個 T2V 請求
使用提示詞和你偏好的寬高比提交一個生成任務。預設值(aspect_ratio: "16:9"、resolution: "540p"、fast_mode: false)是合理的起點:
curl -s -X POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A time-lapse of cherry blossoms falling in slow motion, soft morning light, cinematic 4K",
"aspect_ratio": "16:9",
"resolution": "720p"
}'
成功的 200 回應僅回傳:
{
"task_id": "abc123..."
}
儲存 task_id。此階段不會回傳其他內容——影片生成是非同步執行的。
第 4 步:發送你的第一個 I2V 請求
I2V 接受一張起始圖片,並根據提示詞對其進行動畫處理。image_file 欄位預期是來源圖片的 base64 編碼字串:
# 先對圖片進行編碼
IMAGE_B64=$(base64 -w 0 /path/to/your/image.jpg)
curl -s -X POST https://api.novita.ai/v3/async/pixverse-v4.5-i2v \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"prompt\": \"Camera slowly pushes forward, light wind moves through the scene\",
\"image_file\": \"$IMAGE_B64\",
\"resolution\": \"720p\"
}"
回應格式與 T2V 相同:
{
"task_id": "xyz789..."
}
發送前需檢查的重點圖片限制:
- 格式:僅限 jpg、jpeg 或 png
- 檔案大小:最大 10MB(編碼前檢查——base64 會使大小增加約 33%)
- 最小尺寸:300×300px
- 寬高比:介於 1:2.5 至 2.5:1(橫向與直向的極端值)
第 5 步:輪詢結果
使用提交步驟回傳的 task_id 來輪詢任務結果端點:
curl -s "https://api.novita.ai/v3/async/task-result?task_id=abc123..." \
-H "Authorization: Bearer $NOVITA_API_KEY"
task.status 欄位會經歷以下狀態:
| 狀態 | 意義 |
|---|---|
TASK_STATUS_QUEUED |
任務正在佇列中等待 |
TASK_STATUS_PROCESSING |
生成正在執行 |
TASK_STATUS_SUCCEED |
影片已就緒;URL 包含在回應中 |
TASK_STATUS_FAILED |
生成失敗;請檢查 task.reason |
每 5–10 秒輪詢一次。當出現 TASK_STATUS_SUCCEED 時,影片 URL 就會在回應主體中。task.eta 欄位提供預估完成時間(以秒為單位),你可以用它來安排第一次輪詢的時間。
第 6 步:查看定價與限制
Novita AI 對 PixVerse V4.5 的公佈定價為每個 5 秒片段 $0.7(截至 2026 年 7 月,來自 Novita AI 的 PixVerse 產品頁面 驗證)。在進行任何成本估算之前,請先至 Novita AI 定價頁面 確認當前費率。
fast_mode: true 可更快速地生成影片並降低成本,但解析度上限為 720p。這對於品質次要的原型設計或批次預覽生成非常有用。
速率限制因帳戶等級而異。請查閱 Novita AI 速率限制文件 以了解當前等級的閾值。
主要參數
T2V 參數
| 參數 | 類型 | 預設值 | 備註 |
|---|---|---|---|
prompt |
string | — | 必填。最多 2048 個字元。 |
aspect_ratio |
string | 16:9 |
16:9、4:3、1:1、3:4、9:16 |
resolution |
string | 540p |
360p、540p、720p、1080p。1080p 需要 fast_mode: false。 |
negative_prompt |
string | — | 最多 2048 個字元。描述要避免的內容。 |
fast_mode |
boolean | false |
更快且更便宜;上限為 720p。 |
style |
string | — | anime、3d_animation、clay、comic、cyberpunk。標示為僅 v3.5 可用——在正式使用前請先測試。 |
seed |
integer | — | 設定以獲得可重現結果;模型更新後輸出仍可能有所變化。 |
I2V 參數
| 參數 | 類型 | 預設值 | 備註 |
|---|---|---|---|
prompt |
string | — | 必填。最多 2048 個字元。 |
image_file |
string | — | 必填。Base64 編碼的 jpg/jpeg/png。最大 10MB,最小 300×300px,寬高比 1:2.5 至 2.5:1。 |
resolution |
string | 540p |
與 T2V 相同的選項。 |
negative_prompt |
string | — | 最多 2048 個字元。 |
fast_mode |
boolean | false |
與 T2V 相同。 |
style |
string | — | 與 T2V 相同。 |
seed |
integer | — | 與 T2V 相同。 |
注意:I2V 沒有 aspect_ratio 參數——輸出寬高比由輸入圖片決定。
Python 範例 — 完整的非同步工作流程
此範例涵蓋 T2V 和 I2V 的提交以及輪詢迴圈,全部寫在一個腳本中:
import os
import time
import base64
import requests
API_KEY = os.environ["NOVITA_API_KEY"]
BASE_URL = "https://api.novita.ai/v3/async"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
def submit_t2v(prompt: str, aspect_ratio: str = "16:9", resolution: str = "720p") -> str:
resp = requests.post(
f"{BASE_URL}/pixverse-v4.5-t2v",
headers=HEADERS,
json={
"prompt": prompt,
"aspect_ratio": aspect_ratio,
"resolution": resolution,
},
)
resp.raise_for_status()
return resp.json()["task_id"]
def submit_i2v(prompt: str, image_path: str, resolution: str = "720p") -> str:
with open(image_path, "rb") as f:
image_b64 = base64.b64encode(f.read()).decode("utf-8")
resp = requests.post(
f"{BASE_URL}/pixverse-v4.5-i2v",
headers=HEADERS,
json={
"prompt": prompt,
"image_file": image_b64,
"resolution": resolution,
},
)
resp.raise_for_status()
return resp.json()["task_id"]
def poll_result(task_id: str, interval: int = 8, timeout: int = 300) -> dict:
deadline = time.time() + timeout
while time.time() < deadline:
resp = requests.get(
f"{BASE_URL}/task-result",
headers=HEADERS,
params={"task_id": task_id},
)
resp.raise_for_status()
data = resp.json()
status = data.get("task", {}).get("status")
if status == "TASK_STATUS_SUCCEED":
return data
if status == "TASK_STATUS_FAILED":
reason = data.get("task", {}).get("reason", "unknown")
raise RuntimeError(f"Task {task_id} failed: {reason}")
time.sleep(interval)
raise TimeoutError(f"Task {task_id} did not complete within {timeout}s")
if __name__ == "__main__":
# Text-to-video
t2v_task = submit_t2v(
prompt="A lone lighthouse on a rocky coast at dusk, waves crashing, golden sky",
aspect_ratio="16:9",
resolution="720p",
)
print(f"T2V task submitted: {t2v_task}")
t2v_result = poll_result(t2v_task)
print("T2V result:", t2v_result)
# Image-to-video — replace with a real image path
# i2v_task = submit_i2v(
# prompt="Gentle wind moves through the scene, slow camera pull-back",
# image_path="./reference.jpg",
# resolution="720p",
# )
# print(f"I2V task submitted: {i2v_task}")
# i2v_result = poll_result(i2v_task)
# print("I2V result:", i2v_result)
cURL 範例
使用快速模式的 T2V:
curl -s -X POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A hyperrealistic ocean wave cresting and breaking on shore, slow motion, golden hour",
"aspect_ratio": "9:16",
"resolution": "720p",
"fast_mode": true,
"negative_prompt": "blurry, low quality, watermark"
}'
使用種子以獲得可重現結果的 T2V:
curl -s -X POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Neon-lit cyberpunk street at night, rain reflections, hovering vehicles",
"aspect_ratio": "16:9",
"resolution": "1080p",
"seed": 42
}'
輪詢結果:
curl -s "https://api.novita.ai/v3/async/task-result?task_id=YOUR_TASK_ID" \
-H "Authorization: Bearer $NOVITA_API_KEY"
疑難排解
I2V 提交出現 400 Bad Request
首先檢查圖片限制:格式必須為 jpg/jpeg/png,base64 編碼前大小必須小於 10MB(編碼後的 payload 會大約增大 33%),最小 300×300px,寬高比介於 1:2.5 至 2.5:1。極端的橫向或直向圖片會被拒絕。
任務長時間停留在 TASK_STATUS_QUEUED
這在平台高負載時是正常現象。task.eta 欄位提供了一個估算值;請據此進行輪詢,而不是頻繁地攻擊端點。如果任務在 10 分鐘後仍未進展,請檢查 Novita AI 的狀態頁面或重新提交。
TASK_STATUS_FAILED 且沒有有用的原因
嘗試使用更短、更簡單的提示詞重新提交。包含模糊動作指示、矛盾場景描述或角色執行不可能物理動作的提示詞通常會失敗。負面提示詞如果太寬泛,也可能與主要提示詞衝突。
快速模式下無法使用 1080p
fast_mode: true 將解析度上限設為 720p。如果你需要 1080p,請移除 fast_mode 或將其設定為 false。
style 參數沒有明顯效果
style 參數被標示為僅 v3.5 可用。在 V4.5 請求中,它可能會被靜默忽略或產生不一致的結果。在沒有針對你的特定使用案例進行測試之前,請不要依賴它。
常見問題
PixVerse V4.5 的 T2V 和 I2V 有什麼不同?
T2V 完全根據文字提示生成影片片段——不需要圖片輸入。I2V 則接受一張起始圖片,並根據文字提示對其進行動畫處理,將該圖片作為第一影格。當你需要完全生成的場景時使用 T2V;當你有特定的視覺起點想要動畫化時使用 I2V。
PixVerse V4.5 產生多長的影片片段?
片段長度:1080p 為 5 秒,解析度 720p 及以下可達 8 秒。API 中沒有 duration 參數——片段長度由你選擇的解析度決定。
I2V 端點是否會從圖片推斷寬高比?
是的。I2V 沒有 aspect_ratio 參數。輸出寬高比與輸入圖片匹配。請確保在提交之前將圖片裁剪為你預期的輸出比例。
我可以並行提交 T2V 和 I2V 請求嗎?
可以。每個請求都會回傳自己獨立的 task_id。你可以同時提交多個請求並並行輪詢它們——無需等待一個完成後再提交下一個。
如何在不同執行之間獲得一致的輸出?
將 seed 參數設為相同的整數。請注意,基於種子的可重現性在模型版本更新後並不能保證——如果你之後需要審查結果,請同時儲存影片 URL 和生成參數。
fast_mode 適合用於正式環境嗎?
這取決於你的品質標準。fast_mode: true 生成影片更快且成本更低,但解析度上限為 720p,且品質低於標準模式。它非常適合預覽生成、批次評估和原型設計;當輸出品質是決定性因素時,請使用標準模式。
