HeyGen: Avatar IV
Avatar IV 可將照片動態化為對嘴說話影片,並以聲音引導表情與手勢時機。HeyGen 文件提供腳本或錄製音訊流程,以及適用於寫實或風格化介紹者的 Photo Avatar 動作控制。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
Avatar IV 是 HeyGen 將靜態圖片轉為富有表情說話影片的虛擬人物引擎。其受擴散模型啟發的音訊轉表情設計,利用聲調、節奏與情緒引導臉部動作、頭部傾斜、停頓及細微表情。用途是讓介紹者或角色以對嘴及手勢傳達口語內容,而非從電影式提示詞建立完整場景與配樂的通用場景生成器。
原廠描述支援寫實與風格化角色,包括斜角或側面圖片、動漫風格臉部與寵物。照片角色的眼睛、嘴巴及臉部結構容易識別時,效果較佳。HeyGen 建議使用清晰、光線充足、姿勢自然的圖片;手勢重要時,手部也應可見。臉部過小、嘴唇被遮擋、厚重面罩、明顯鳥喙或高度誇張比例,都可能削弱臉部動態及對嘴。來源構圖應符合預期演出。
原廠提供兩種語音輸入途徑。文字腳本搭配所選聲音;預先錄製的音軌則直接提供聲音與時序。說話方式已確立時,使用錄製音訊;需合成語音時,使用腳本。文件介面中,兩者是替代選項。動畫生成前,請先準備最終用詞、名稱與發音,並將音訊或腳本與回傳影片一併保存,方便檢查口語結果。
HeyGen 的 Avatar IV 模型規格涵蓋攝影棚虛擬人物、Digital Twins、Photo Avatars、直接圖片與提示詞建立的主體。可重複使用的 Photo Avatar 能為後續影片提供穩定主體;直接圖片流程則從提供的圖片開始。原廠 Photo Avatar 規格提供自由文字動作指示,以及 high、medium、low 三種表現程度,預設為 low。製作系列時,請保留所選人物外觀及引擎,避免來源圖片或算圖模型變更,導致介紹者在不知情下改變。
動作指示需描述可見的肢體動作及其情緒特質。「帶著溫暖微笑輕輕點頭」提供一個手勢與一種表情;簡短問候則可使用友善揮手。原廠建議以一個主要手勢為主,可搭配表情,動作序列不超過兩個短子句。Avatar IV 依演出處理節奏,因此 Studio 指南不要求逐秒手勢表。具體簡潔的文字,比在一個提示詞中堆疊多個競爭動作更容易檢查。
原廠音訊轉影片規格每次請求最多可處理三十分鐘提供的音訊,上傳 MP3 或 WAV 素材上限為 32 MB。較長課程或錄音應在連貫的語句邊界分段,並保留原始順序。最終影片的說話時間應遵循所選音訊,而非無關的短片時長估算。
文件中的原廠輸出設定包括 720p 或 1080p,以及 16:9、9:16、4:5、5:4 或 1:1,另有沿用來源比例的自動選項。cover 填滿方式可能裁切主體;contain 容納方式會保留完整主體,可能顯露周圍背景。音訊轉影片流程預設回傳 MP4。對影片虛擬人物而言,透明 WebM 輸出需要去背遮罩支援,原廠會對此輸出移除背景,而非再搭配新背景。將介紹者放入較大合成畫面前,請檢查實際構圖及檔案。
培訓開場可採用清楚可辨識的介紹者圖片、簡潔說明,以及在關鍵指示處的一個克制手勢。產品解說可保留同一人物外觀,依不同功能更換口語腳本。原廠也提供選用字幕檔及燒錄字幕;請連同語音檢查文字與時間。原廠介面採非同步算圖,因此建立回應與完成影片是不同素材。請將完成錄製與完成狀態一併保存在工作結果中。
Avatar IV 與 Avatar V 的參考引導動作及其獨立 Studio 預設控制不同。它也不同於 HeyGen Video 的通用場景生成,以及互動式即時虛擬人物對話。請依來源素材及預期語氣,檢查嘴型、可見手部、表情、停頓與台詞。圖片、姿勢、光線與動作指示都會影響結果;照片動畫應作為生成演出檢查,並保存所選輸入供後續修訂。
Ailoot Ultra · 影片 POST /v1/videos heygen/avatar-iv
heygen/avatar-iv入門
Avatar IV 可將照片動態化為對嘴說話影片,並以聲音引導表情與手勢時機。HeyGen 文件提供腳本或錄製音訊流程,以及適用於寫實或風格化介紹者的 Photo Avatar 動作控制。
- 接受的輸入
- 文字 · 圖片 · 音訊 · 影片
- 結果
- 影片
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 影片 POST /v1/videos
- 輸入
text,image,audio,video- 輸出
video
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 heygen/avatar-iv | 預設值— |
欄位input_references | 類型array | 要求必填 | 值與限制 項目數下限: 2 項目數上限: 2 | 預設值— |
欄位prompt | 類型string | 要求選填 | 值與限制 | 預設值— |
方法參數與生命週期
| 參數 | 規格 |
|---|---|
參數content_type | 規格application/json |
參數required | 規格model, input_references |
參數material_types | 規格text, image, audio, video |
參數material_conditions | 規格請使用實際已完成的自有媒體資產內容 URL,並保留其回傳的簽章:BFL 使用一個影片來源,虛擬人物則使用一個圖片來源與一個音訊來源。必須具備來源的擁有者/型別/位元組佐證。, 請恰好提供一個 PNG/JPEG 圖片資產與一個 WAV/MP3 音訊資產。音訊大小最多 32000000 位元組,長度須大於 0 且不超過 1800 秒。 |
生命週期: asynchronous_job_then_owned_outputs
GET /v1/videos/{request_id} · 實際回傳的 id 或 polling_url
GET /v1/videos/{request_id}/content
方案
最終費用的計算方式
顯示的費率用於在生成前估算費用。最終費用依原始生成作業記錄的成本計算。實測的輸出時間長度與預估數量並非最終計費數量。
費率資訊不會增加請求選項。支援的參數列於所選方法中。
- 快速模式
- 未指定 選取快速模式時
- flex 模式
- 未指定 選取 flex 模式時
- 最高推理強度
- 未指定 最高推理強度採用 default 調整值時
供比較的預估費率
各設定的價格
請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。
| 設定 | 費率表 | 預估數量 | 計費單位 | 計費條件 | 費用 |
|---|---|---|---|---|---|
| 設定基礎 token 費率 | 費率表基本費率 | 預估數量— | 計費單位— | 計費條件— | 費用 輸入 · 輸入 Token · 僅供比較的估算 — / 1K Token 輸出 · 輸出 Token · 僅供比較的估算 — / 1K Token 輸入 · 讀取快取 · 僅供比較的估算 — / 1K Token 輸入 · 寫入快取 · 僅供比較的估算 — / 1K Token 輸入 · 寫入快取,1 小時 · 僅供比較的估算 — / 1K Token |
| 設定影片價格 | 費率表— | 預估數量— | 計費單位每秒影片 | 計費條件此定價鍵未宣告額外條件。 | 費用 輸出 · 影片價格 · 僅供比較的估算 $0.1 每秒影片 |
| 設定預估生成費用 | 費率表— | 預估數量單次生成估算值 | 計費單位— | 計費條件— | 費用 輸出 · 預估生成費用 · 僅供比較的估算 $0.1 生成前估算 此估算並非額外費用,也不是本次生成完成後的固定費率。 |
Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →
請求範例
Ailoot Ultra · 影片
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}"
export AILOOT_INPUT_REFERENCES_JSON
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
request={'model': 'heygen/avatar-iv', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}'}
request['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])
Path('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')
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 response.bin
# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.
接收並儲存結果
Ailoot Ultra · 影片
GET /v1/videos/{request_id}GET /v1/videos/{request_id}/content
儲存所有已完成的素材
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
u=urljoin("https://api.ailoot.ai",x)
z=urlsplit(u)
if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
index=$((index + 1))
done < asset-urls.txt
保留所有已完成的結果
請儲存每部已完成的影片或傳回的檔案,並從實際傳回的每個素材 URL 取得素材。
保留完整回應與標頭、所有實際輸出、原始回傳的識別碼,以及所有用量欄位。恢復原始作業時,請勿再次提交建立請求。
需要檢查原始回應時
請保留 X-Client-Request-ID、X-Ailoot-Task-Id,以及實際回傳的 id/polling_url。請接續原始作業,切勿再次提交建立請求。
回應欄位
| 欄位 | 類型 |
|---|---|
欄位id | 類型 |
欄位status | 類型 |
欄位data[] | 類型 |
欄位outputs[] | 類型 |
別名
模型別名
Ailoot Ultra heygen/avatar-iv
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · HeyGen: Avatar IV
- 可以使用哪些輸入與結果?
POST /v1/videos·heygen/avatar-iv:text,image,audio,video→video- 請求使用哪些欄位?
POST /v1/videos·heygen/avatar-iv:model,input_references,prompt