画像入力
H3 動画タスク API · /api/v3
1 回のリクエストで画像を送信
主要 API で使用する項目: content[].image_url.url。公開画像 URL または完全な Base64 data URL を指定します。ローカルファイルは SDK で読み込み・エンコードし、プロンプトと同じリクエストで送信します。
| 入力 | 指定方法 |
|---|---|
| 画像 URL | https://YOUR_IMAGE_HOST/first-frame.jpg |
| Base64 | data:image/jpeg;base64,BASE64_DATA |
| ローカル画像 | ローカルファイルのサンプルに切り替えると、Python が first-frame.jpg を読み込みます。 |
画像から動画を生成するサンプル
画像入力
Python · 作成と自動ポーリング
import os, time, uuid
from volcenginesdkarkruntime import Ark
client = Ark(
api_key=os.environ["ARK_API_KEY"],
base_url="https://fablun.com/api/v3",
)
request_key = str(uuid.uuid4()) # 新しいタスクでのみ生成し、通信の再試行では保存済みの値を再利用します。
print("Idempotency-Key:", request_key)
task = client.content_generation.tasks.create(
model="h3-pro",
content=[
{"type":"text","text":"人物が自然にカメラへ顔を向け、そよ風が髪を揺らす。カメラがゆっくり近づく。"},
{"type":"image_url","image_url":{"url":"https://YOUR_IMAGE_HOST/first-frame.jpg"},"role":"first_frame"}
],
resolution="480p", duration=5, ratio="16:9",
extra_headers={"Idempotency-Key": request_key},
)
print("task_id:", task.id) # ID を保存し、通信が中断した場合は同じタスクの確認を再開します。
deadline = time.monotonic() + 1800
while time.monotonic() < deadline:
result = client.content_generation.tasks.get(task_id=task.id)
if result.status == "succeeded":
print(result.content.video_url)
break
if result.status in ("failed", "expired", "cancelled"):
raise RuntimeError(result.error or result.status)
time.sleep(2)
else:
raise TimeoutError(f"待機時間を超えました。同じタスクを引き続き確認してください:{task.id}")「画像から動画」に切り替え、URL、Base64、ローカルファイルから選択します。
画像の要件
単一フレームの PNG、JPEG、WebP に対応し、元ファイルは最大 8 MiB です。一辺 32~8192 ピクセル、総画素数は 16 × 1024² 以下です。公開 HTTP(S) URL はポート 80 または 443 を使用します。開始フレームは 1 枚のみ対応します。
開始・終了フレーム
H3 Pro の 5 秒動画で開始・終了フレームに対応。480p / 720p、1:1・3:4・4:3・16:9・9:16 が利用できます。各 role は 1 枚、last_frame には first_frame が必要です。動画 1 件として課金し、キャンセル・審査・コールバックは通常のタスクと同じです。出力用 return_last_frame は未対応です。
{
"model": "h3-pro",
"content": [
{
"type": "text",
"text": "A red ball rolls from left to right."
},
{
"type": "image_url",
"image_url": {
"url": "https://YOUR_IMAGE_HOST/first-frame.jpg"
},
"role": "first_frame"
},
{
"type": "image_url",
"image_url": {
"url": "https://YOUR_IMAGE_HOST/last-frame.jpg"
},
"role": "last_frame"
}
],
"resolution": "720p",
"duration": 5,
"ratio": "16:9",
"generate_audio": true
}動画圧縮(任意)
compress: boolean、既定値 false。true で北京の CPU 配信処理にて圧縮します。解像度、フレームレート、音声は維持します。追加生成料金はありません。5% 未満の削減またはエンコード失敗時は元動画を返し、compression.applied / reason で確認できます。通常の審査、有効期限、署名付きコールバックが適用されます。
{
"model": "h3-pro",
"content": [
{
"type": "text",
"text": "A cat walks through a garden."
}
],
"resolution": "720p",
"compress": true
}