LatentLogic

LatentLogic

Seedance 2.5 API for developers — a few notes after integrating it into my site

I recently integrated Seedance 2.5 into one of my own projects. The basic API flow is simple: create a task, get the task ID, and poll until the video is ready.

import requests
import time

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://seegen.ai/api/v1"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

payload = {
    "model": "sd2.5",
    "inputs": {
        "prompt": "A cinematic tracking shot through a rainy Tokyo street at night.",
        "duration": "10s",
        "resolution": "1280x720",
        "outputResolution": "720p"
    }
}

task = requests.post(
    f"{BASE_URL}/jobs/createTask",
    headers=headers,
    json=payload
).json()

task_id = task["taskId"]

while True:
    result = requests.get(
        f"{BASE_URL}/jobs/queryTask",
        headers={"Authorization": f"Bearer {API_KEY}"},
        params={"taskId": task_id}
    ).json()

    if result["status"] in ["COMPLETED", "FAILED"]:
        print(result)
        break

    time.sleep(5)

A few integration differences I ran into compared with Seedance 2.0:

1. Video Edit needs a separate flow

With Seedance 2.0, editing requests could be handled through Multi-Reference. In 2.5, if the prompt contains editing instructions, the model may automatically classify the task as Video Edit.

If you still send normal ratio and duration parameters, the request can fail with:

Seedance identified your task as video editing based on your prompt.

`ratio` must be `adaptive`.
`duration` must be -1.

I ended up adding a dedicated Video Edit mode instead of sending editing prompts through Multi-Reference.

2. Omni-Reference now requires actual reference assets

Another difference from 2.0: Seedance 2.5 doesn’t accept a text-only request through the Omni-Reference flow.

It returns:

The parameter omni_reference_task_type specified in the request is not valid.
This parameter is only supported in the multimodal reference scenario.

For backward compatibility, I added a small fallback: if the request contains only a prompt and no image, video, or audio references, I automatically remove omni_reference_task_type and route it as a normal text-to-video request.

These aren’t major changes, but they’re worth handling if you’re migrating an existing Seedance 2.0 integration to 2.5.

Anyone else integrating Seedance 2.5 into their own product? Is there anything else I should watch out for during integration?

Where Next?

Popular Ai topics Top

apoorv-2204
I’m reaching out to all software engineers, especially senior developers — I really want to hear your thoughts. I’ve always loved buildi...
New
apoorv-2204
General thoughts on google gemini ? IMHO , when compared chatgpt and claude sonnnet its pretty shit, and its feels broken,
#ai
New
apoorv-2204
How are you using AI in my life? How the day to day life is changed around you? professional and in personal life? I it use for autocom...
#ai
New
kammy
Hi everyone! The other day I was having a debate with my friends about whether or not the top LLM models are “good at design.” I’d love ...
New
nix0097
Hello I hope you’re doing well. I’m looking to develop a custom chatbot and would love to collaborate with you on this project. The chat...
New
xiji2646-netizen
Just went through the Anthropic migration guide for Opus 4.7 and there are more gotchas than the announcement implied. Curious if others ...
New
xiji2646-netizen
Alibaba just opened public API access for HappyHorse 1.0, the model currently ranked #1 on Video Arena’s blind tests. What caught my att...
New
xiji2646-netizen
Claude Code, Markdown, and the Case for HTML Artifacts I do not think Markdown is going away. It is still the right format for README f...
New
xiji2646-netizen
Codex mobile in the ChatGPT app https://techcrunch.com/wp-content/uploads/2026/05/App-view.png?resize=1200,675) Codex shipped a batch o...
New
LatentLogic
I recently integrated Seedance 2.5 into one of my own projects. The basic API flow is simple: create a task, get the task ID, and poll un...
New

Other popular topics Top

AstonJ
Or looking forward to? :nerd_face:
503 15149 280
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
AstonJ
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first: asdf plugin-upd...
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
New
RobertRichards
Hair Salon Games for Girls Fun Girls Hair Saloon game is mainly developed for kids. This game allows users to select virtual avatars to ...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New