Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "5.4.0"
".": "5.5.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 50
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-656482624bcaf91bbc524b761d1b3d9a97f84ea561a5b9f84db4122f38f342d0.yml
openapi_spec_hash: a6f0749dba9a9e3a46e75216b4d14467
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-b7f9c6ce3131e68cfa15936b844b761a9872e64e667dedd730b70863675cc0f3.yml
openapi_spec_hash: 0cd6c74f0be1e20886d5b8b2cb6ff5eb
config_hash: 955a0e451964a44778c5c0f54ca1c994
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## 5.5.0 (2026-07-02)

Full Changelog: [v5.4.0...v5.5.0](https://github.com/runwayml/sdk-python/compare/v5.4.0...v5.5.0)

### Features

* **api:** add ad_localization to stainless config ([8d90cac](https://github.com/runwayml/sdk-python/commit/8d90cac569416e9258508ef0d013b22c05b9c00d))
* **api:** add seedance2_mini & seed_audio models. ([3d92b9d](https://github.com/runwayml/sdk-python/commit/3d92b9d1a551788798b3da69f6b9da8550141538))
* **api:** manual updates ([c5760a2](https://github.com/runwayml/sdk-python/commit/c5760a236a755595a4fc88f5e695daa72a067ba9))

## 5.4.0 (2026-06-26)

Full Changelog: [v5.3.0...v5.4.0](https://github.com/runwayml/sdk-python/compare/v5.3.0...v5.4.0)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "runwayml"
version = "5.4.0"
version = "5.5.0"
description = "The official Python library for the runwayml API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/runwayml/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "runwayml"
__version__ = "5.4.0" # x-release-please-version
__version__ = "5.5.0" # x-release-please-version
222 changes: 218 additions & 4 deletions src/runwayml/resources/image_to_video.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ def create(
prompt_image: An image or array of images. Use position `first`/`last` for keyframe mode, or
omit position for reference images. The two modes cannot be mixed.

audio: Whether to generate audio for the video. Audio inclusion affects pricing.
audio: Whether to generate audio for the video.

duration: The number of seconds of duration for the output video.

Expand Down Expand Up @@ -386,7 +386,7 @@ def create(
prompt_image: An image or array of images. Use position `first`/`last` for keyframe mode, or
omit position for reference images. The two modes cannot be mixed.

audio: Whether to generate audio for the video. Audio inclusion affects pricing.
audio: Whether to generate audio for the video.

duration: The number of seconds of duration for the output video.

Expand All @@ -409,6 +409,109 @@ def create(
"""
...

@overload
def create(
self,
*,
model: Literal["seedance2_mini"],
prompt_image: Union[str, Iterable[image_to_video_create_params.Seedance2MiniPromptImagePromptImage]],
audio: bool | Omit = omit,
duration: int | Omit = omit,
prompt_text: str | Omit = omit,
ratio: Literal[
"992:432",
"864:496",
"752:560",
"640:640",
"560:752",
"496:864",
"1470:630",
"1280:720",
"1112:834",
"960:960",
"834:1112",
"720:1280",
]
| Omit = omit,
reference_audio: Iterable[image_to_video_create_params.Seedance2MiniReferenceAudio] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ImageToVideoCreateResponse:
"""
This endpoint will start a new task to generate a video from an image.

Args:
prompt_image: An image or array of images. Use position `first`/`last` for keyframe mode, or
omit position for reference images. The two modes cannot be mixed.

audio: Whether to generate audio for the video.

duration: The number of seconds of duration for the output video.

prompt_text: An optional text prompt up to 3500 characters describing what should appear in
the output.

ratio: The resolution of the output video. Seedance 2.0 Mini supports 480p and 720p
only.

reference_audio: An optional array of audio references. Audio references require a text prompt,
and the total combined duration must not exceed 15 seconds.

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request

extra_body: Add additional JSON properties to the request

timeout: Override the client-level default timeout for this request, in seconds
"""
...

@overload
def create(
self,
*,
model: Literal["gemini_omni_flash"],
prompt_image: Union[str, Iterable[image_to_video_create_params.GeminiOmniFlashPromptImagePromptImage]],
duration: int | Omit = omit,
prompt_text: str | Omit = omit,
ratio: Literal["1280:720", "720:1280"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ImageToVideoCreateResponse:
"""
This endpoint will start a new task to generate a video from an image.

Args:
prompt_image: An image to use as the first frame of the output video. Gemini Omni Flash only
supports a first frame.

duration: The duration of the output video in seconds, as a whole number from 3 to 10.

prompt_text: An optional text prompt describing how the video should evolve from the first
frame.

ratio: The aspect ratio of the output video: `1280:720` (landscape) or `720:1280`
(portrait).

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request

extra_body: Add additional JSON properties to the request

timeout: Override the client-level default timeout for this request, in seconds
"""
...

@overload
def create(
self,
Expand Down Expand Up @@ -465,6 +568,8 @@ def create(
| Literal["happyhorse_1_0"]
| Literal["seedance2"]
| Literal["seedance2_fast"]
| Literal["seedance2_mini"]
| Literal["gemini_omni_flash"]
| Literal["veo3"],
prompt_image: Union[str, Iterable[image_to_video_create_params.Gen4_5PromptImagePromptImage]]
| Union[str, Iterable[image_to_video_create_params.Gen4TurboPromptImagePromptImage]]
Expand Down Expand Up @@ -516,6 +621,7 @@ def create(
"834:1112",
"720:1280",
]
| Literal["1280:720", "720:1280"]
| Omit = omit,
content_moderation: image_to_video_create_params.Gen4_5ContentModeration
| image_to_video_create_params.Gen4TurboContentModeration
Expand All @@ -525,6 +631,7 @@ def create(
resolution: Literal["720P", "1080P"] | Omit = omit,
reference_audio: Iterable[image_to_video_create_params.Seedance2ReferenceAudio]
| Iterable[image_to_video_create_params.Seedance2FastReferenceAudio]
| Iterable[image_to_video_create_params.Seedance2MiniReferenceAudio]
| Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
Expand Down Expand Up @@ -852,7 +959,7 @@ async def create(
prompt_image: An image or array of images. Use position `first`/`last` for keyframe mode, or
omit position for reference images. The two modes cannot be mixed.

audio: Whether to generate audio for the video. Audio inclusion affects pricing.
audio: Whether to generate audio for the video.

duration: The number of seconds of duration for the output video.

Expand Down Expand Up @@ -913,7 +1020,7 @@ async def create(
prompt_image: An image or array of images. Use position `first`/`last` for keyframe mode, or
omit position for reference images. The two modes cannot be mixed.

audio: Whether to generate audio for the video. Audio inclusion affects pricing.
audio: Whether to generate audio for the video.

duration: The number of seconds of duration for the output video.

Expand All @@ -936,6 +1043,109 @@ async def create(
"""
...

@overload
async def create(
self,
*,
model: Literal["seedance2_mini"],
prompt_image: Union[str, Iterable[image_to_video_create_params.Seedance2MiniPromptImagePromptImage]],
audio: bool | Omit = omit,
duration: int | Omit = omit,
prompt_text: str | Omit = omit,
ratio: Literal[
"992:432",
"864:496",
"752:560",
"640:640",
"560:752",
"496:864",
"1470:630",
"1280:720",
"1112:834",
"960:960",
"834:1112",
"720:1280",
]
| Omit = omit,
reference_audio: Iterable[image_to_video_create_params.Seedance2MiniReferenceAudio] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ImageToVideoCreateResponse:
"""
This endpoint will start a new task to generate a video from an image.

Args:
prompt_image: An image or array of images. Use position `first`/`last` for keyframe mode, or
omit position for reference images. The two modes cannot be mixed.

audio: Whether to generate audio for the video.

duration: The number of seconds of duration for the output video.

prompt_text: An optional text prompt up to 3500 characters describing what should appear in
the output.

ratio: The resolution of the output video. Seedance 2.0 Mini supports 480p and 720p
only.

reference_audio: An optional array of audio references. Audio references require a text prompt,
and the total combined duration must not exceed 15 seconds.

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request

extra_body: Add additional JSON properties to the request

timeout: Override the client-level default timeout for this request, in seconds
"""
...

@overload
async def create(
self,
*,
model: Literal["gemini_omni_flash"],
prompt_image: Union[str, Iterable[image_to_video_create_params.GeminiOmniFlashPromptImagePromptImage]],
duration: int | Omit = omit,
prompt_text: str | Omit = omit,
ratio: Literal["1280:720", "720:1280"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ImageToVideoCreateResponse:
"""
This endpoint will start a new task to generate a video from an image.

Args:
prompt_image: An image to use as the first frame of the output video. Gemini Omni Flash only
supports a first frame.

duration: The duration of the output video in seconds, as a whole number from 3 to 10.

prompt_text: An optional text prompt describing how the video should evolve from the first
frame.

ratio: The aspect ratio of the output video: `1280:720` (landscape) or `720:1280`
(portrait).

extra_headers: Send extra headers

extra_query: Add additional query parameters to the request

extra_body: Add additional JSON properties to the request

timeout: Override the client-level default timeout for this request, in seconds
"""
...

@overload
async def create(
self,
Expand Down Expand Up @@ -992,6 +1202,8 @@ async def create(
| Literal["happyhorse_1_0"]
| Literal["seedance2"]
| Literal["seedance2_fast"]
| Literal["seedance2_mini"]
| Literal["gemini_omni_flash"]
| Literal["veo3"],
prompt_image: Union[str, Iterable[image_to_video_create_params.Gen4_5PromptImagePromptImage]]
| Union[str, Iterable[image_to_video_create_params.Gen4TurboPromptImagePromptImage]]
Expand Down Expand Up @@ -1043,6 +1255,7 @@ async def create(
"834:1112",
"720:1280",
]
| Literal["1280:720", "720:1280"]
| Omit = omit,
content_moderation: image_to_video_create_params.Gen4_5ContentModeration
| image_to_video_create_params.Gen4TurboContentModeration
Expand All @@ -1052,6 +1265,7 @@ async def create(
resolution: Literal["720P", "1080P"] | Omit = omit,
reference_audio: Iterable[image_to_video_create_params.Seedance2ReferenceAudio]
| Iterable[image_to_video_create_params.Seedance2FastReferenceAudio]
| Iterable[image_to_video_create_params.Seedance2MiniReferenceAudio]
| Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
Expand Down
Loading
Loading