Developer documentationMigrate from Seedance

Migrate from Seedance

H3 video task API · /api/v3

Keep the Ark calling pattern

H3 implements the text-to-video and single-first-frame image-to-video subset of the Ark video task protocol. Keep the paths, authentication, content structure and polling flow, while changing the service address, model ID and supported presets.

Integration itemMigration change
Base URLhttps://fablun.com/api/v3
API KeyReplace with your Fablun customer key.
modelUse h3-pro or h3-standard; Seedance model IDs are not accepted.
SDK methodsKeep Ark.content_generation.tasks create / get / list / delete.
Reading resultsRead id on creation; read status and content.video_url on retrieval.
Input parameterstext / one first_frame; explicitly set supported resolution and duration.

SDK client

Python · Verified SDK 5.0.55
from volcenginesdkarkruntime import Ark
import os

client = Ark(
    base_url="https://fablun.com/api/v3",
    api_key=os.environ["ARK_API_KEY"],
)

Compatibility scope

ItemCurrent H3 scope
Models and inputsTwo H3 model IDs, text and a single first-frame URL / data URL. Check availability before use.
Specifications480p / 720p; 1:1, 3:4, 4:3, 16:9 and 9:16; optional audio. Check the model table for duration.
Tasks and retriesFour task operations, six states and idempotent retries. Queue limits and fair scheduling follow Fablun's rules.
Link lifetimeOne hour after completion; different from Volcengine's retention policy.
SDKVerified with volcengine-ark-runtime 5.0.55. New arkruntime versions and newer Seedance features are outside this verification scope.
Not supported1080p, custom aspect ratios, multimodal references, draft mode and flex.
Protocol compatibility does not imply identical model capabilities, limits, pricing, retention or scheduling to Seedance. Unsupported parameters return errors.

First and last frames

H3 Pro supports first and last frames for 5-second videos at 480p or 720p, with 1:1, 3:4, 4:3, 16:9 and 9:16 aspect ratios. Supply one image per role; last_frame requires first_frame. A pair is billed as one video, with the usual cancellation, moderation and callback flow. return_last_frame is a separate output option and remains unsupported.

{
  "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
}