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 @@
{
".": "3.18.0"
".": "3.19.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: 14
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml%2Frunwayml-62779ce32ca8a091219b84d943b97a799daaccb6c5792a191b68be4cdd9117e1.yml
openapi_spec_hash: 42e41b0bec15ce4f46ff797748062484
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runwayml%2Frunwayml-2c2e099a7b5785af1882c1f8c3f28f560e478d8345b6443155342f152f036117.yml
openapi_spec_hash: b8e80b47d8ba09a28dedc562a3e79319
config_hash: ef699c0a3936550275ab6d77894a2c72
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 3.19.0 (2025-10-15)

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

### Features

* **api:** Veo 3.1 and Veo 3.1 Fast ([9486ec1](https://github.com/runwayml/sdk-python/commit/9486ec19a5321ef555a498877cbc6811645ad205))


### Bug Fixes

* **api:** Add missing 1080p sizes ([2c66c5a](https://github.com/runwayml/sdk-python/commit/2c66c5a4d9cdb7c213c7454d2716ba0d81b7d6e8))

## 3.18.0 (2025-10-14)

Full Changelog: [v3.17.0...v3.18.0](https://github.com/runwayml/sdk-python/compare/v3.17.0...v3.18.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 = "3.18.0"
version = "3.19.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__ = "3.18.0" # x-release-please-version
__version__ = "3.19.0" # x-release-please-version
48 changes: 38 additions & 10 deletions src/runwayml/resources/image_to_video.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,20 @@ def with_streaming_response(self) -> ImageToVideoResourceWithStreamingResponse:
def create(
self,
*,
model: Literal["gen4_turbo", "gen3a_turbo", "veo3"],
model: Literal["gen4_turbo", "gen3a_turbo", "veo3.1", "veo3.1_fast", "veo3"],
prompt_image: Union[str, Iterable[image_to_video_create_params.PromptImagePromptImage]],
ratio: Literal["1280:720", "720:1280", "1104:832", "832:1104", "960:960", "1584:672", "1280:768", "768:1280"],
ratio: Literal[
"1280:720",
"720:1280",
"1104:832",
"832:1104",
"960:960",
"1584:672",
"1280:768",
"768:1280",
"1080:1920",
"1920:1080",
],
content_moderation: image_to_video_create_params.ContentModeration | Omit = omit,
duration: Literal[2, 3, 4, 5, 6, 7, 8, 9, 10] | Omit = omit,
prompt_text: str | Omit = omit,
Expand Down Expand Up @@ -93,19 +104,22 @@ def create(
- `1280:768`
- `768:1280`

`veo3` supports the following values:
`veo3`, `veo3.1`, `veo3.1_fast` support the following values:

- `1280:720`
- `720:1280`
- `1080:1920`
- `1920:1080`

content_moderation: Settings that affect the behavior of the content moderation system.

This field is allowed only for the following model variants: `gen4_turbo`,
`gen3a_turbo`

duration: The number of seconds of duration for the output video. `veo3` requires a
duration of 8. `gen3a_turbo` requires a duration of 5 or 10. `gen4_turbo` must
specify a duration of 2-10 seconds.
duration of 8. `veo3.1` and `veo3.1_fast` require a duration of 4, 6, or 8.
`gen3a_turbo` requires a duration of 5 or 10. `gen4_turbo` must specify a
duration of 2-10 seconds.

prompt_text: A non-empty string up to 1000 characters (measured in UTF-16 code units). This
should describe in detail what should appear in the output.
Expand Down Expand Up @@ -166,9 +180,20 @@ def with_streaming_response(self) -> AsyncImageToVideoResourceWithStreamingRespo
async def create(
self,
*,
model: Literal["gen4_turbo", "gen3a_turbo", "veo3"],
model: Literal["gen4_turbo", "gen3a_turbo", "veo3.1", "veo3.1_fast", "veo3"],
prompt_image: Union[str, Iterable[image_to_video_create_params.PromptImagePromptImage]],
ratio: Literal["1280:720", "720:1280", "1104:832", "832:1104", "960:960", "1584:672", "1280:768", "768:1280"],
ratio: Literal[
"1280:720",
"720:1280",
"1104:832",
"832:1104",
"960:960",
"1584:672",
"1280:768",
"768:1280",
"1080:1920",
"1920:1080",
],
content_moderation: image_to_video_create_params.ContentModeration | Omit = omit,
duration: Literal[2, 3, 4, 5, 6, 7, 8, 9, 10] | Omit = omit,
prompt_text: str | Omit = omit,
Expand Down Expand Up @@ -206,19 +231,22 @@ async def create(
- `1280:768`
- `768:1280`

`veo3` supports the following values:
`veo3`, `veo3.1`, `veo3.1_fast` support the following values:

- `1280:720`
- `720:1280`
- `1080:1920`
- `1920:1080`

content_moderation: Settings that affect the behavior of the content moderation system.

This field is allowed only for the following model variants: `gen4_turbo`,
`gen3a_turbo`

duration: The number of seconds of duration for the output video. `veo3` requires a
duration of 8. `gen3a_turbo` requires a duration of 5 or 10. `gen4_turbo` must
specify a duration of 2-10 seconds.
duration of 8. `veo3.1` and `veo3.1_fast` require a duration of 4, 6, or 8.
`gen3a_turbo` requires a duration of 5 or 10. `gen4_turbo` must specify a
duration of 2-10 seconds.

prompt_text: A non-empty string up to 1000 characters (measured in UTF-16 code units). This
should describe in detail what should appear in the output.
Expand Down
18 changes: 10 additions & 8 deletions src/runwayml/resources/text_to_video.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ def with_streaming_response(self) -> TextToVideoResourceWithStreamingResponse:
def create(
self,
*,
duration: Literal[8],
model: Literal["veo3"],
duration: Literal[4, 6, 8],
model: Literal["veo3.1", "veo3.1_fast", "veo3"],
prompt_text: str,
ratio: Literal["1280:720", "720:1280"],
ratio: Literal["1280:720", "720:1280", "1080:1920", "1920:1080"],
seed: int | 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 All @@ -68,7 +68,8 @@ def create(
This endpoint will start a new task to generate a video from a text prompt.

Args:
duration: Veo 3 videos must be 8 seconds long.
duration: `veo3` videos must be 8 seconds long. `veo3.1` and `veo3.1_fast` videos must be
4, 6, or 8 seconds long.

model: The model variant to use.

Expand Down Expand Up @@ -131,10 +132,10 @@ def with_streaming_response(self) -> AsyncTextToVideoResourceWithStreamingRespon
async def create(
self,
*,
duration: Literal[8],
model: Literal["veo3"],
duration: Literal[4, 6, 8],
model: Literal["veo3.1", "veo3.1_fast", "veo3"],
prompt_text: str,
ratio: Literal["1280:720", "720:1280"],
ratio: Literal["1280:720", "720:1280", "1080:1920", "1920:1080"],
seed: int | 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 All @@ -147,7 +148,8 @@ async def create(
This endpoint will start a new task to generate a video from a text prompt.

Args:
duration: Veo 3 videos must be 8 seconds long.
duration: `veo3` videos must be 8 seconds long. `veo3.1` and `veo3.1_fast` videos must be
4, 6, or 8 seconds long.

model: The model variant to use.

Expand Down
27 changes: 21 additions & 6 deletions src/runwayml/types/image_to_video_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@


class ImageToVideoCreateParams(TypedDict, total=False):
model: Required[Literal["gen4_turbo", "gen3a_turbo", "veo3"]]
model: Required[Literal["gen4_turbo", "gen3a_turbo", "veo3.1", "veo3.1_fast", "veo3"]]
"""The model variant to use."""

prompt_image: Required[Annotated[Union[str, Iterable[PromptImagePromptImage]], PropertyInfo(alias="promptImage")]]
Expand All @@ -22,7 +22,18 @@ class ImageToVideoCreateParams(TypedDict, total=False):
"""

ratio: Required[
Literal["1280:720", "720:1280", "1104:832", "832:1104", "960:960", "1584:672", "1280:768", "768:1280"]
Literal[
"1280:720",
"720:1280",
"1104:832",
"832:1104",
"960:960",
"1584:672",
"1280:768",
"768:1280",
"1080:1920",
"1920:1080",
]
]
"""The resolution of the output video.

Expand All @@ -40,10 +51,12 @@ class ImageToVideoCreateParams(TypedDict, total=False):
- `1280:768`
- `768:1280`

`veo3` supports the following values:
`veo3`, `veo3.1`, `veo3.1_fast` support the following values:

- `1280:720`
- `720:1280`
- `1080:1920`
- `1920:1080`
"""

content_moderation: Annotated[ContentModeration, PropertyInfo(alias="contentModeration")]
Expand All @@ -56,8 +69,9 @@ class ImageToVideoCreateParams(TypedDict, total=False):
duration: Literal[2, 3, 4, 5, 6, 7, 8, 9, 10]
"""The number of seconds of duration for the output video.

`veo3` requires a duration of 8. `gen3a_turbo` requires a duration of 5 or 10.
`gen4_turbo` must specify a duration of 2-10 seconds.
`veo3` requires a duration of 8. `veo3.1` and `veo3.1_fast` require a duration
of 4, 6, or 8. `gen3a_turbo` requires a duration of 5 or 10. `gen4_turbo` must
specify a duration of 2-10 seconds.
"""

prompt_text: Annotated[str, PropertyInfo(alias="promptText")]
Expand All @@ -82,7 +96,8 @@ class PromptImagePromptImage(TypedDict, total=False):
"first" will use the image as the first frame of the video, "last" will use the
image as the last frame of the video.

"last" is currently supported for `gen3a_turbo` only.
"last" is currently supported for `gen3a_turbo`, `veo3.1`, and `veo3.1_fast`
only. `veo3.1` and `veo3.1_fast` require a `first` frame to be provided.
"""

uri: Required[str]
Expand Down
42 changes: 42 additions & 0 deletions src/runwayml/types/organization_retrieve_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
"TierModelsGen4Turbo",
"TierModelsUpscaleV1",
"TierModelsVeo3",
"TierModelsVeo3_1",
"TierModelsVeo3_1Fast",
"Usage",
"UsageModels",
"UsageModelsActTwo",
Expand All @@ -38,6 +40,8 @@
"UsageModelsGen4Turbo",
"UsageModelsUpscaleV1",
"UsageModelsVeo3",
"UsageModelsVeo3_1",
"UsageModelsVeo3_1Fast",
]


Expand Down Expand Up @@ -145,6 +149,22 @@ class TierModelsVeo3(BaseModel):
"""The maximum number of generations that can be created each day for this model."""


class TierModelsVeo3_1(BaseModel):
max_concurrent_generations: int = FieldInfo(alias="maxConcurrentGenerations")
"""The maximum number of generations that can be run concurrently for this model."""

max_daily_generations: int = FieldInfo(alias="maxDailyGenerations")
"""The maximum number of generations that can be created each day for this model."""


class TierModelsVeo3_1Fast(BaseModel):
max_concurrent_generations: int = FieldInfo(alias="maxConcurrentGenerations")
"""The maximum number of generations that can be run concurrently for this model."""

max_daily_generations: int = FieldInfo(alias="maxDailyGenerations")
"""The maximum number of generations that can be created each day for this model."""


class TierModels(BaseModel):
act_two: Optional[TierModelsActTwo] = None
"""Limits associated with the act_two model."""
Expand Down Expand Up @@ -185,6 +205,12 @@ class TierModels(BaseModel):
veo3: Optional[TierModelsVeo3] = None
"""Limits associated with the veo3 model."""

veo3_1: Optional[TierModelsVeo3_1] = FieldInfo(alias="veo3.1", default=None)
"""Limits associated with the veo3.1 model."""

veo3_1_fast: Optional[TierModelsVeo3_1Fast] = FieldInfo(alias="veo3.1_fast", default=None)
"""Limits associated with the veo3.1_fast model."""


class Tier(BaseModel):
max_monthly_credit_spend: int = FieldInfo(alias="maxMonthlyCreditSpend")
Expand Down Expand Up @@ -259,6 +285,16 @@ class UsageModelsVeo3(BaseModel):
"""The number of generations that have been run for this model in the past day."""


class UsageModelsVeo3_1(BaseModel):
daily_generations: int = FieldInfo(alias="dailyGenerations")
"""The number of generations that have been run for this model in the past day."""


class UsageModelsVeo3_1Fast(BaseModel):
daily_generations: int = FieldInfo(alias="dailyGenerations")
"""The number of generations that have been run for this model in the past day."""


class UsageModels(BaseModel):
act_two: Optional[UsageModelsActTwo] = None
"""Usage data for the act_two model."""
Expand Down Expand Up @@ -299,6 +335,12 @@ class UsageModels(BaseModel):
veo3: Optional[UsageModelsVeo3] = None
"""Usage data for the veo3 model."""

veo3_1: Optional[UsageModelsVeo3_1] = FieldInfo(alias="veo3.1", default=None)
"""Usage data for the veo3.1 model."""

veo3_1_fast: Optional[UsageModelsVeo3_1Fast] = FieldInfo(alias="veo3.1_fast", default=None)
"""Usage data for the veo3.1_fast model."""


class Usage(BaseModel):
models: UsageModels
Expand Down
4 changes: 4 additions & 0 deletions src/runwayml/types/organization_retrieve_usage_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ class ResultUsedCredit(BaseModel):
"gen4_turbo",
"upscale_v1",
"veo3",
"veo3.1",
"veo3.1_fast",
]
"""The model whose usage resulted in the credit usage."""

Expand Down Expand Up @@ -60,6 +62,8 @@ class OrganizationRetrieveUsageResponse(BaseModel):
"gen4_turbo",
"upscale_v1",
"veo3",
"veo3.1",
"veo3.1_fast",
]
]
"""The list of models with usage during the queried time range."""
Expand Down
11 changes: 7 additions & 4 deletions src/runwayml/types/text_to_video_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@


class TextToVideoCreateParams(TypedDict, total=False):
duration: Required[Literal[8]]
"""Veo 3 videos must be 8 seconds long."""
duration: Required[Literal[4, 6, 8]]
"""`veo3` videos must be 8 seconds long.

model: Required[Literal["veo3"]]
`veo3.1` and `veo3.1_fast` videos must be 4, 6, or 8 seconds long.
"""

model: Required[Literal["veo3.1", "veo3.1_fast", "veo3"]]
"""The model variant to use."""

prompt_text: Required[Annotated[str, PropertyInfo(alias="promptText")]]
Expand All @@ -22,7 +25,7 @@ class TextToVideoCreateParams(TypedDict, total=False):
This should describe in detail what should appear in the output.
"""

ratio: Required[Literal["1280:720", "720:1280"]]
ratio: Required[Literal["1280:720", "720:1280", "1080:1920", "1920:1080"]]
"""A string representing the aspect ratio of the output video."""

seed: int
Expand Down
Loading