Skip to content
Merged
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 @@
{
".": "4.17.0"
".": "4.18.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: 38
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-a81793e83ebdccfc40ba42e5f36101fd6877703febd5f1476e8e6e9dabd505ab.yml
openapi_spec_hash: ea99f8ca625ee33071b0dc7a812fc222
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-10c9a846a0c356c45d6896a3f4c2c8058a13dc31374f75859044270418dd5f5a.yml
openapi_spec_hash: 8dda646a596bd23feda0d25eca7abbfd
config_hash: 6d8ca402de13857362ee587c404baca9
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 4.18.0 (2026-06-05)

Full Changelog: [v4.17.0...v4.18.0](https://github.com/runwayml/sdk-python/compare/v4.17.0...v4.18.0)

### Features

* **api:** seedance2_fast ([90bc24e](https://github.com/runwayml/sdk-python/commit/90bc24eda321b4a7f0b7ef3c923362c60ccc18f2))


### Bug Fixes

* **client:** Make sd2_fast responses awaitable ([3d2d3ac](https://github.com/runwayml/sdk-python/commit/3d2d3acba9d155508577a13dd0f8446ecaf40c33))

## 4.17.0 (2026-06-03)

Full Changelog: [v4.16.0...v4.17.0](https://github.com/runwayml/sdk-python/compare/v4.16.0...v4.17.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 = "4.17.0"
version = "4.18.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__ = "4.17.0" # x-release-please-version
__version__ = "4.18.0" # x-release-please-version
170 changes: 164 additions & 6 deletions src/runwayml/resources/image_to_video.py
Original file line number Diff line number Diff line change
Expand Up @@ -370,8 +370,8 @@ def create(

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

prompt_text: An optional text prompt up to 3500 characters (measured in UTF-16 code units).
This should describe in detail what should appear in the output.
prompt_text: An optional text prompt up to 3500 characters describing what should appear in
the output.

ratio: The resolution of the output video.

Expand All @@ -388,6 +388,68 @@ def create(
"""
...

@overload
def create(
self,
*,
model: Literal["seedance2_fast"],
prompt_image: Union[str, Iterable[image_to_video_create_params.Seedance2FastPromptImagePromptImage]],
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.Seedance2FastReferenceAudio] | 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,
) -> NewTaskCreatedResponse:
"""
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. Audio inclusion affects pricing.

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 Fast 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,
Expand Down Expand Up @@ -445,6 +507,7 @@ def create(
| Literal["veo3.1_fast"]
| Literal["happyhorse_1_0"]
| Literal["seedance2"]
| Literal["seedance2_fast"]
| 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 @@ -478,6 +541,20 @@ def create(
"1248:1664",
"1080:1920",
]
| 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,
content_moderation: image_to_video_create_params.Gen4_5ContentModeration
| image_to_video_create_params.Gen4TurboContentModeration
Expand All @@ -486,7 +563,9 @@ def create(
seed: int | Omit = omit,
audio: bool | Omit = omit,
resolution: Literal["720P", "1080P"] | Omit = omit,
reference_audio: Iterable[image_to_video_create_params.Seedance2ReferenceAudio] | Omit = omit,
reference_audio: Iterable[image_to_video_create_params.Seedance2ReferenceAudio]
| Iterable[image_to_video_create_params.Seedance2FastReferenceAudio]
| 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,
Expand Down Expand Up @@ -858,8 +937,8 @@ async def create(

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

prompt_text: An optional text prompt up to 3500 characters (measured in UTF-16 code units).
This should describe in detail what should appear in the output.
prompt_text: An optional text prompt up to 3500 characters describing what should appear in
the output.

ratio: The resolution of the output video.

Expand All @@ -876,6 +955,68 @@ async def create(
"""
...

@overload
async def create(
self,
*,
model: Literal["seedance2_fast"],
prompt_image: Union[str, Iterable[image_to_video_create_params.Seedance2FastPromptImagePromptImage]],
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.Seedance2FastReferenceAudio] | 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,
) -> AsyncNewTaskCreatedResponse:
"""
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. Audio inclusion affects pricing.

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 Fast 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,
Expand Down Expand Up @@ -933,6 +1074,7 @@ async def create(
| Literal["veo3.1_fast"]
| Literal["happyhorse_1_0"]
| Literal["seedance2"]
| Literal["seedance2_fast"]
| 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 @@ -966,6 +1108,20 @@ async def create(
"1248:1664",
"1080:1920",
]
| 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,
content_moderation: image_to_video_create_params.Gen4_5ContentModeration
| image_to_video_create_params.Gen4TurboContentModeration
Expand All @@ -974,7 +1130,9 @@ async def create(
seed: int | Omit = omit,
audio: bool | Omit = omit,
resolution: Literal["720P", "1080P"] | Omit = omit,
reference_audio: Iterable[image_to_video_create_params.Seedance2ReferenceAudio] | Omit = omit,
reference_audio: Iterable[image_to_video_create_params.Seedance2ReferenceAudio]
| Iterable[image_to_video_create_params.Seedance2FastReferenceAudio]
| 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,
Expand Down
Loading