Explore/Seedance 2.5
Video

Seedance 2.5

Seedance 2.5 Reference to Video generates videos from images, videos, or audio inputs with customizable duration, resolution, aspect ratio, and output format. It supports image-to-video and video-to-video transformations, allowing creative control through prompts and audio integration.

View docs
import { config, higgsfield } from "@higgsfield/client/v2";config({  credentials: process.env.HF_CREDENTIALS,});const result = await higgsfield.subscribe(  "bytedance/seedance-2.5/reference-to-video",  {    input: {      "duration": 5,      "resolution": "720p",      "aspect_ratio": "16:9",      "bitrate_mode": "high",      "generate_audio": true    },    withPolling: true,  },);console.log(result);

Seedance 2.5 uses the model ID bytedance/seedance-2.5/reference-to-video. Seedance 2.5 Reference to Video generates videos from images, videos, or audio inputs with customizable duration, resolution, aspect ratio, and output format. It supports image-to-video and video-to-video transformations, allowing creative control through prompts and audio integration.

1. Calling the API

Send requests to https://api.higgsfield.ai/bytedance/seedance-2.5/reference-to-video with a JSON body matching the parameters below.

Install

Install an official server-side SDK. cURL needs no package.

npm install @higgsfield/client

Setup

Keep credentials in server-side environment variables. The SDKs accept the same KEY_ID:KEY_SECRET value under their documented variable names.

export HF_CREDENTIALS="YOUR_KEY_ID:YOUR_KEY_SECRET" # TypeScript export HF_KEY="YOUR_KEY_ID:YOUR_KEY_SECRET" # Python and cURL

Request parameters

ParameterTypeRequiredDefaultDescription
promptstringNo—Minimum length: 1.
durationintegerNo5Minimum: 4. Maximum: 30.
audio_urlsarray[string]No—
image_urlsarray[string]No—
resolutionstringNo"720p"Options: 480p, 720p, 1080p.
video_urlsarray[string]No—
aspect_ratiostringNo"16:9"Options: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9.
output_formatstringNo"mp4"Options: mp4, mov.
generate_audiobooleanNotrue

2. Authentication

The official SDKs read credentials from the server environment and send the required Authorization: Key KEY_ID:KEY_SECRET header.

API Key

Never expose the secret in browser-side code or commit it to source control. The TypeScript SDK is server-side only. For direct HTTP calls, use:

Authorization: Key $HF_KEY

3. Queue

subscribe submits the asynchronous request and waits for a terminal result. The TypeScript SDK polls automatically when withPolling: true; the Python SDK's synchronous subscribe call also waits. A completed request returns the generated file in the video field.

Submit and wait

import { config, higgsfield } from "@higgsfield/client/v2"; config({ credentials: process.env.HF_CREDENTIALS, }); const result = await higgsfield.subscribe( "bytedance/seedance-2.5/reference-to-video", { input: { "duration": 5, "resolution": "720p", "aspect_ratio": "16:9", "output_format": "mp4", "generate_audio": true }, withPolling: true, }, ); console.log(result);

Explicit lifecycle control

Use the Python SDK when a worker needs explicit status, result, or cancellation control for an existing request. The TypeScript v2 client currently exposes automatic polling through subscribe.

import higgsfield_client request_id = "{request_id}" status = higgsfield_client.status(request_id=request_id) result = higgsfield_client.result(request_id=request_id) higgsfield_client.cancel(request_id=request_id)