Skip to content

Commit e0d560c

Browse files
committed
chore: support seedance 1.5 pro
1 parent 4dde9f9 commit e0d560c

File tree

3 files changed

+36
-7
lines changed

3 files changed

+36
-7
lines changed

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ dependencies = [
2222
"opentelemetry-instrumentation-logging>=0.56b0",
2323
"wrapt==1.17.2", # For patching built-in functions
2424
"openai<1.100", # For fix https://github.com/BerriAI/litellm/issues/13710
25-
"volcengine-python-sdk==4.0.33", # For Volcengine API
26-
"volcengine==1.0.193", # For Volcengine sign
25+
"volcengine-python-sdk>=5.0.1", # For Volcengine API
26+
"volcengine>=1.0.193", # For Volcengine sign
2727
"agent-pilot-sdk==0.1.2", # Prompt optimization by Volcengine AgentPilot/PromptPilot toolkits
2828
"fastmcp==2.12.3", # For running MCP
2929
"trustedmcp==0.0.5", # For running TrustedMCP

veadk/tools/builtin_tools/image_generate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ def handle_single_task_sync(
229229

230230

231231
async def image_generate(tasks: list[dict], tool_context) -> Dict:
232-
"""Generate images with Seedream 4.0.
232+
"""Generate images with Seedream 4.0 / 4.5
233233
234234
Commit batch image generation requests via tasks.
235235

veadk/tools/builtin_tools/video_generate.py

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,27 @@
4141
)
4242

4343

44-
async def generate(prompt, first_frame_image=None, last_frame_image=None):
44+
async def generate(
45+
prompt, first_frame_image=None, last_frame_image=None, generate_audio=None
46+
):
4547
try:
48+
if generate_audio is False:
49+
generate_audio = None
50+
model_name = getenv("MODEL_VIDEO_NAME", DEFAULT_VIDEO_MODEL_NAME)
51+
52+
if model_name.startswith("doubao-seedance-1-0") and generate_audio:
53+
logger.warning(
54+
"The `doubao-seedance-1-0` series models do not support enabling the audio field. "
55+
"Please upgrade to the `doubao-seedance-1-5` series."
56+
)
57+
generate_audio = None
4658
if first_frame_image is None:
4759
response = client.content_generation.tasks.create(
4860
model=getenv("MODEL_VIDEO_NAME", DEFAULT_VIDEO_MODEL_NAME),
4961
content=[
5062
{"type": "text", "text": prompt},
5163
],
64+
generate_audio=generate_audio,
5265
extra_headers={
5366
"veadk-source": "veadk",
5467
"veadk-version": VERSION,
@@ -148,6 +161,12 @@ async def video_generate(
148161
URL or Base64 string (data URL) for the **last frame** (role = `last_frame`).
149162
Use when you want the clip to end on a specific image.
150163
164+
- generate_audio (bool | None):
165+
Boolean value, used to determine whether the generated video should have sound.
166+
If this field is not configured (None) or its value is `False`, no sound will be generated.
167+
If it is configured as `True`, sound can be generated.
168+
If you want to describe the sound content in detail, you can do so in the `prompt` field.
169+
151170
Notes on first/last frame:
152171
* When both frames are provided, **match width/height** to avoid cropping; if they differ,
153172
the tail frame may be auto-cropped to fit.
@@ -243,22 +262,32 @@ async def video_generate(
243262
prompt = item["prompt"]
244263
first_frame = item.get("first_frame", None)
245264
last_frame = item.get("last_frame", None)
265+
generate_audio = item.get("generate_audio", None)
246266
try:
247267
if not first_frame:
248268
logger.debug(
249269
f"video_generate task_{idx} text generation: prompt={prompt}"
250270
)
251-
response = await generate(prompt)
271+
response = await generate(prompt, generate_audio=generate_audio)
252272
elif not last_frame:
253273
logger.debug(
254274
f"video_generate task_{idx} first frame generation: prompt={prompt}, first_frame={first_frame}"
255275
)
256-
response = await generate(prompt, first_frame)
276+
response = await generate(
277+
prompt,
278+
first_frame_image=first_frame,
279+
generate_audio=generate_audio,
280+
)
257281
else:
258282
logger.debug(
259283
f"video_generate task_{idx} first and last frame generation: prompt={prompt}, first_frame={first_frame}, last_frame={last_frame}"
260284
)
261-
response = await generate(prompt, first_frame, last_frame)
285+
response = await generate(
286+
prompt,
287+
first_frame_image=first_frame,
288+
last_frame_image=last_frame,
289+
generate_audio=generate_audio,
290+
)
262291
logger.debug(
263292
f"batch_{start_idx // batch_size} video_generate task_{idx} response: {response}"
264293
)

0 commit comments

Comments
 (0)