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 @@
{
".": "5.3.0"
".": "5.4.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 49
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-a71b15907f45c6c7b3cf9a277bfc7483817c1596130abd497e95b761bb14bd42.yml
openapi_spec_hash: dd22cae2258805fbe0b4ddf9632f9ffb
config_hash: 702846e1d30f519e56e425ca5455febe
configured_endpoints: 50
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml/runwayml-656482624bcaf91bbc524b761d1b3d9a97f84ea561a5b9f84db4122f38f342d0.yml
openapi_spec_hash: a6f0749dba9a9e3a46e75216b4d14467
config_hash: 955a0e451964a44778c5c0f54ca1c994
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 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)

### Features

* **api:** add magnific video upscale model ([8cbd5e8](https://github.com/runwayml/sdk-python/commit/8cbd5e8feef194595fb9d2decaec0b0cb935e764))
* **client:** make video upscale waitable ([9c0c6ac](https://github.com/runwayml/sdk-python/commit/9c0c6ac9bba3cd3890c67d51e662b6fc952d5820))

## 5.3.0 (2026-06-25)

Full Changelog: [v5.2.0...v5.3.0](https://github.com/runwayml/sdk-python/compare/v5.2.0...v5.3.0)
Expand Down
12 changes: 12 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,18 @@ Methods:

- <code title="post /v1/image_upscale">client.image_upscale.<a href="./src/runwayml/resources/image_upscale.py">create</a>(\*\*<a href="src/runwayml/types/image_upscale_create_params.py">params</a>) -> <a href="./src/runwayml/types/image_upscale_create_response.py">ImageUpscaleCreateResponse</a></code>

# VideoUpscale

Types:

```python
from runwayml.types import VideoUpscaleCreateResponse
```

Methods:

- <code title="post /v1/video_upscale">client.video_upscale.<a href="./src/runwayml/resources/video_upscale.py">create</a>(\*\*<a href="src/runwayml/types/video_upscale_create_params.py">params</a>) -> <a href="./src/runwayml/types/video_upscale_create_response.py">VideoUpscaleCreateResponse</a></code>

# Organization

Types:
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.3.0"
version = "5.4.0"
description = "The official Python library for the runwayml API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
44 changes: 44 additions & 0 deletions src/runwayml/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
image_upscale,
text_to_image,
text_to_video,
video_upscale,
voice_dubbing,
image_to_video,
text_to_speech,
Expand All @@ -73,6 +74,7 @@
from .resources.image_upscale import ImageUpscaleResource, AsyncImageUpscaleResource
from .resources.text_to_image import TextToImageResource, AsyncTextToImageResource
from .resources.text_to_video import TextToVideoResource, AsyncTextToVideoResource
from .resources.video_upscale import VideoUpscaleResource, AsyncVideoUpscaleResource
from .resources.voice_dubbing import VoiceDubbingResource, AsyncVoiceDubbingResource
from .resources.image_to_video import ImageToVideoResource, AsyncImageToVideoResource
from .resources.text_to_speech import TextToSpeechResource, AsyncTextToSpeechResource
Expand Down Expand Up @@ -256,6 +258,13 @@ def image_upscale(self) -> ImageUpscaleResource:

return ImageUpscaleResource(self)

@cached_property
def video_upscale(self) -> VideoUpscaleResource:
"""These endpoints all kick off tasks to create generations."""
from .resources.video_upscale import VideoUpscaleResource

return VideoUpscaleResource(self)

@cached_property
def organization(self) -> OrganizationResource:
from .resources.organization import OrganizationResource
Expand Down Expand Up @@ -592,6 +601,13 @@ def image_upscale(self) -> AsyncImageUpscaleResource:

return AsyncImageUpscaleResource(self)

@cached_property
def video_upscale(self) -> AsyncVideoUpscaleResource:
"""These endpoints all kick off tasks to create generations."""
from .resources.video_upscale import AsyncVideoUpscaleResource

return AsyncVideoUpscaleResource(self)

@cached_property
def organization(self) -> AsyncOrganizationResource:
from .resources.organization import AsyncOrganizationResource
Expand Down Expand Up @@ -864,6 +880,13 @@ def image_upscale(self) -> image_upscale.ImageUpscaleResourceWithRawResponse:

return ImageUpscaleResourceWithRawResponse(self._client.image_upscale)

@cached_property
def video_upscale(self) -> video_upscale.VideoUpscaleResourceWithRawResponse:
"""These endpoints all kick off tasks to create generations."""
from .resources.video_upscale import VideoUpscaleResourceWithRawResponse

return VideoUpscaleResourceWithRawResponse(self._client.video_upscale)

@cached_property
def organization(self) -> organization.OrganizationResourceWithRawResponse:
from .resources.organization import OrganizationResourceWithRawResponse
Expand Down Expand Up @@ -1021,6 +1044,13 @@ def image_upscale(self) -> image_upscale.AsyncImageUpscaleResourceWithRawRespons

return AsyncImageUpscaleResourceWithRawResponse(self._client.image_upscale)

@cached_property
def video_upscale(self) -> video_upscale.AsyncVideoUpscaleResourceWithRawResponse:
"""These endpoints all kick off tasks to create generations."""
from .resources.video_upscale import AsyncVideoUpscaleResourceWithRawResponse

return AsyncVideoUpscaleResourceWithRawResponse(self._client.video_upscale)

@cached_property
def organization(self) -> organization.AsyncOrganizationResourceWithRawResponse:
from .resources.organization import AsyncOrganizationResourceWithRawResponse
Expand Down Expand Up @@ -1178,6 +1208,13 @@ def image_upscale(self) -> image_upscale.ImageUpscaleResourceWithStreamingRespon

return ImageUpscaleResourceWithStreamingResponse(self._client.image_upscale)

@cached_property
def video_upscale(self) -> video_upscale.VideoUpscaleResourceWithStreamingResponse:
"""These endpoints all kick off tasks to create generations."""
from .resources.video_upscale import VideoUpscaleResourceWithStreamingResponse

return VideoUpscaleResourceWithStreamingResponse(self._client.video_upscale)

@cached_property
def organization(self) -> organization.OrganizationResourceWithStreamingResponse:
from .resources.organization import OrganizationResourceWithStreamingResponse
Expand Down Expand Up @@ -1335,6 +1372,13 @@ def image_upscale(self) -> image_upscale.AsyncImageUpscaleResourceWithStreamingR

return AsyncImageUpscaleResourceWithStreamingResponse(self._client.image_upscale)

@cached_property
def video_upscale(self) -> video_upscale.AsyncVideoUpscaleResourceWithStreamingResponse:
"""These endpoints all kick off tasks to create generations."""
from .resources.video_upscale import AsyncVideoUpscaleResourceWithStreamingResponse

return AsyncVideoUpscaleResourceWithStreamingResponse(self._client.video_upscale)

@cached_property
def organization(self) -> organization.AsyncOrganizationResourceWithStreamingResponse:
from .resources.organization import AsyncOrganizationResourceWithStreamingResponse
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.3.0" # x-release-please-version
__version__ = "5.4.0" # x-release-please-version
14 changes: 14 additions & 0 deletions src/runwayml/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,14 @@
TextToVideoResourceWithStreamingResponse,
AsyncTextToVideoResourceWithStreamingResponse,
)
from .video_upscale import (
VideoUpscaleResource,
AsyncVideoUpscaleResource,
VideoUpscaleResourceWithRawResponse,
AsyncVideoUpscaleResourceWithRawResponse,
VideoUpscaleResourceWithStreamingResponse,
AsyncVideoUpscaleResourceWithStreamingResponse,
)
from .voice_dubbing import (
VoiceDubbingResource,
AsyncVoiceDubbingResource,
Expand Down Expand Up @@ -258,6 +266,12 @@
"AsyncImageUpscaleResourceWithRawResponse",
"ImageUpscaleResourceWithStreamingResponse",
"AsyncImageUpscaleResourceWithStreamingResponse",
"VideoUpscaleResource",
"AsyncVideoUpscaleResource",
"VideoUpscaleResourceWithRawResponse",
"AsyncVideoUpscaleResourceWithRawResponse",
"VideoUpscaleResourceWithStreamingResponse",
"AsyncVideoUpscaleResourceWithStreamingResponse",
"OrganizationResource",
"AsyncOrganizationResource",
"OrganizationResourceWithRawResponse",
Expand Down
6 changes: 2 additions & 4 deletions src/runwayml/resources/video_to_video.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,7 @@ def create(
keyframes: Timed guidance images placed at specific points in the input video. Up to 5
keyframes.

prompt_text: An optional string up to 1000 characters describing what should appear in the
output.
prompt_text: A non-empty and optional string describing what should appear in the output.

seed: If unspecified, a random number is chosen. Varying the seed integer is a way to
get different results for the same other request parameters. Using the same seed
Expand Down Expand Up @@ -405,8 +404,7 @@ async def create(
keyframes: Timed guidance images placed at specific points in the input video. Up to 5
keyframes.

prompt_text: An optional string up to 1000 characters describing what should appear in the
output.
prompt_text: A non-empty and optional string describing what should appear in the output.

seed: If unspecified, a random number is chosen. Varying the seed integer is a way to
get different results for the same other request parameters. Using the same seed
Expand Down
Loading