runwayml 2.0.0__py3-none-any.whl → 2.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
runwayml/_base_client.py CHANGED
@@ -143,6 +143,12 @@ class PageInfo:
143
143
  self.url = url
144
144
  self.params = params
145
145
 
146
+ @override
147
+ def __repr__(self) -> str:
148
+ if self.url:
149
+ return f"{self.__class__.__name__}(url={self.url})"
150
+ return f"{self.__class__.__name__}(params={self.params})"
151
+
146
152
 
147
153
  class BasePage(GenericModel, Generic[_T]):
148
154
  """
@@ -689,7 +695,8 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
689
695
  if retry_after is not None and 0 < retry_after <= 60:
690
696
  return retry_after
691
697
 
692
- nb_retries = max_retries - remaining_retries
698
+ # Also cap retry count to 1000 to avoid any potential overflows with `pow`
699
+ nb_retries = min(max_retries - remaining_retries, 1000)
693
700
 
694
701
  # Apply exponential backoff, but not more than the max.
695
702
  sleep_seconds = min(INITIAL_RETRY_DELAY * pow(2.0, nb_retries), MAX_RETRY_DELAY)
@@ -1568,7 +1575,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1568
1575
  except Exception as err:
1569
1576
  log.debug("Encountered Exception", exc_info=True)
1570
1577
 
1571
- if retries_taken > 0:
1578
+ if remaining_retries > 0:
1572
1579
  return await self._retry_request(
1573
1580
  input_options,
1574
1581
  cast_to,
runwayml/_client.py CHANGED
@@ -59,7 +59,7 @@ class RunwayML(SyncAPIClient):
59
59
  self,
60
60
  *,
61
61
  api_key: str | None = None,
62
- runway_version: str | None = "2024-09-13",
62
+ runway_version: str | None = "2024-11-06",
63
63
  base_url: str | httpx.URL | None = None,
64
64
  timeout: Union[float, Timeout, None, NotGiven] = NOT_GIVEN,
65
65
  max_retries: int = DEFAULT_MAX_RETRIES,
@@ -92,7 +92,7 @@ class RunwayML(SyncAPIClient):
92
92
  self.api_key = api_key
93
93
 
94
94
  if runway_version is None:
95
- runway_version = "2024-09-13"
95
+ runway_version = "2024-11-06"
96
96
  self.runway_version = runway_version
97
97
 
98
98
  if base_url is None:
@@ -238,7 +238,7 @@ class AsyncRunwayML(AsyncAPIClient):
238
238
  self,
239
239
  *,
240
240
  api_key: str | None = None,
241
- runway_version: str | None = "2024-09-13",
241
+ runway_version: str | None = "2024-11-06",
242
242
  base_url: str | httpx.URL | None = None,
243
243
  timeout: Union[float, Timeout, None, NotGiven] = NOT_GIVEN,
244
244
  max_retries: int = DEFAULT_MAX_RETRIES,
@@ -271,7 +271,7 @@ class AsyncRunwayML(AsyncAPIClient):
271
271
  self.api_key = api_key
272
272
 
273
273
  if runway_version is None:
274
- runway_version = "2024-09-13"
274
+ runway_version = "2024-11-06"
275
275
  self.runway_version = runway_version
276
276
 
277
277
  if base_url is None:
runwayml/_compat.py CHANGED
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import TYPE_CHECKING, Any, Union, Generic, TypeVar, Callable, cast, overload
4
4
  from datetime import date, datetime
5
- from typing_extensions import Self
5
+ from typing_extensions import Self, Literal
6
6
 
7
7
  import pydantic
8
8
  from pydantic.fields import FieldInfo
@@ -133,13 +133,15 @@ def model_json(model: pydantic.BaseModel, *, indent: int | None = None) -> str:
133
133
  def model_dump(
134
134
  model: pydantic.BaseModel,
135
135
  *,
136
- exclude: IncEx = None,
136
+ exclude: IncEx | None = None,
137
137
  exclude_unset: bool = False,
138
138
  exclude_defaults: bool = False,
139
139
  warnings: bool = True,
140
+ mode: Literal["json", "python"] = "python",
140
141
  ) -> dict[str, Any]:
141
- if PYDANTIC_V2:
142
+ if PYDANTIC_V2 or hasattr(model, "model_dump"):
142
143
  return model.model_dump(
144
+ mode=mode,
143
145
  exclude=exclude,
144
146
  exclude_unset=exclude_unset,
145
147
  exclude_defaults=exclude_defaults,
runwayml/_models.py CHANGED
@@ -37,6 +37,7 @@ from ._utils import (
37
37
  PropertyInfo,
38
38
  is_list,
39
39
  is_given,
40
+ json_safe,
40
41
  lru_cache,
41
42
  is_mapping,
42
43
  parse_date,
@@ -176,7 +177,7 @@ class BaseModel(pydantic.BaseModel):
176
177
  # Based on https://github.com/samuelcolvin/pydantic/issues/1168#issuecomment-817742836.
177
178
  @classmethod
178
179
  @override
179
- def construct(
180
+ def construct( # pyright: ignore[reportIncompatibleMethodOverride]
180
181
  cls: Type[ModelT],
181
182
  _fields_set: set[str] | None = None,
182
183
  **values: object,
@@ -248,8 +249,8 @@ class BaseModel(pydantic.BaseModel):
248
249
  self,
249
250
  *,
250
251
  mode: Literal["json", "python"] | str = "python",
251
- include: IncEx = None,
252
- exclude: IncEx = None,
252
+ include: IncEx | None = None,
253
+ exclude: IncEx | None = None,
253
254
  by_alias: bool = False,
254
255
  exclude_unset: bool = False,
255
256
  exclude_defaults: bool = False,
@@ -279,8 +280,8 @@ class BaseModel(pydantic.BaseModel):
279
280
  Returns:
280
281
  A dictionary representation of the model.
281
282
  """
282
- if mode != "python":
283
- raise ValueError("mode is only supported in Pydantic v2")
283
+ if mode not in {"json", "python"}:
284
+ raise ValueError("mode must be either 'json' or 'python'")
284
285
  if round_trip != False:
285
286
  raise ValueError("round_trip is only supported in Pydantic v2")
286
287
  if warnings != True:
@@ -289,7 +290,7 @@ class BaseModel(pydantic.BaseModel):
289
290
  raise ValueError("context is only supported in Pydantic v2")
290
291
  if serialize_as_any != False:
291
292
  raise ValueError("serialize_as_any is only supported in Pydantic v2")
292
- return super().dict( # pyright: ignore[reportDeprecated]
293
+ dumped = super().dict( # pyright: ignore[reportDeprecated]
293
294
  include=include,
294
295
  exclude=exclude,
295
296
  by_alias=by_alias,
@@ -298,13 +299,15 @@ class BaseModel(pydantic.BaseModel):
298
299
  exclude_none=exclude_none,
299
300
  )
300
301
 
302
+ return cast(dict[str, Any], json_safe(dumped)) if mode == "json" else dumped
303
+
301
304
  @override
302
305
  def model_dump_json(
303
306
  self,
304
307
  *,
305
308
  indent: int | None = None,
306
- include: IncEx = None,
307
- exclude: IncEx = None,
309
+ include: IncEx | None = None,
310
+ exclude: IncEx | None = None,
308
311
  by_alias: bool = False,
309
312
  exclude_unset: bool = False,
310
313
  exclude_defaults: bool = False,
runwayml/_response.py CHANGED
@@ -192,6 +192,9 @@ class BaseAPIResponse(Generic[R]):
192
192
  if cast_to == float:
193
193
  return cast(R, float(response.text))
194
194
 
195
+ if cast_to == bool:
196
+ return cast(R, response.text.lower() == "true")
197
+
195
198
  origin = get_origin(cast_to) or cast_to
196
199
 
197
200
  if origin == APIResponse:
runwayml/_types.py CHANGED
@@ -16,7 +16,7 @@ from typing import (
16
16
  Optional,
17
17
  Sequence,
18
18
  )
19
- from typing_extensions import Literal, Protocol, TypeAlias, TypedDict, override, runtime_checkable
19
+ from typing_extensions import Set, Literal, Protocol, TypeAlias, TypedDict, override, runtime_checkable
20
20
 
21
21
  import httpx
22
22
  import pydantic
@@ -193,7 +193,9 @@ StrBytesIntFloat = Union[str, bytes, int, float]
193
193
 
194
194
  # Note: copied from Pydantic
195
195
  # https://github.com/pydantic/pydantic/blob/32ea570bf96e84234d2992e1ddf40ab8a565925a/pydantic/main.py#L49
196
- IncEx: TypeAlias = "set[int] | set[str] | dict[int, Any] | dict[str, Any] | None"
196
+ IncEx: TypeAlias = Union[
197
+ Set[int], Set[str], Mapping[int, Union["IncEx", Literal[True]]], Mapping[str, Union["IncEx", Literal[True]]]
198
+ ]
197
199
 
198
200
  PostParser = Callable[[Any], Any]
199
201
 
@@ -6,6 +6,7 @@ from ._utils import (
6
6
  is_list as is_list,
7
7
  is_given as is_given,
8
8
  is_tuple as is_tuple,
9
+ json_safe as json_safe,
9
10
  lru_cache as lru_cache,
10
11
  is_mapping as is_mapping,
11
12
  is_tuple_t as is_tuple_t,
@@ -173,6 +173,11 @@ def _transform_recursive(
173
173
  # Iterable[T]
174
174
  or (is_iterable_type(stripped_type) and is_iterable(data) and not isinstance(data, str))
175
175
  ):
176
+ # dicts are technically iterable, but it is an iterable on the keys of the dict and is not usually
177
+ # intended as an iterable, so we don't transform it.
178
+ if isinstance(data, dict):
179
+ return cast(object, data)
180
+
176
181
  inner_type = extract_type_arg(stripped_type, 0)
177
182
  return [_transform_recursive(d, annotation=annotation, inner_type=inner_type) for d in data]
178
183
 
@@ -186,7 +191,7 @@ def _transform_recursive(
186
191
  return data
187
192
 
188
193
  if isinstance(data, pydantic.BaseModel):
189
- return model_dump(data, exclude_unset=True)
194
+ return model_dump(data, exclude_unset=True, mode="json")
190
195
 
191
196
  annotated_type = _get_annotated_type(annotation)
192
197
  if annotated_type is None:
@@ -324,7 +329,7 @@ async def _async_transform_recursive(
324
329
  return data
325
330
 
326
331
  if isinstance(data, pydantic.BaseModel):
327
- return model_dump(data, exclude_unset=True)
332
+ return model_dump(data, exclude_unset=True, mode="json")
328
333
 
329
334
  annotated_type = _get_annotated_type(annotation)
330
335
  if annotated_type is None:
runwayml/_utils/_utils.py CHANGED
@@ -16,6 +16,7 @@ from typing import (
16
16
  overload,
17
17
  )
18
18
  from pathlib import Path
19
+ from datetime import date, datetime
19
20
  from typing_extensions import TypeGuard
20
21
 
21
22
  import sniffio
@@ -395,3 +396,19 @@ def lru_cache(*, maxsize: int | None = 128) -> Callable[[CallableT], CallableT]:
395
396
  maxsize=maxsize,
396
397
  )
397
398
  return cast(Any, wrapper) # type: ignore[no-any-return]
399
+
400
+
401
+ def json_safe(data: object) -> object:
402
+ """Translates a mapping / sequence recursively in the same fashion
403
+ as `pydantic` v2's `model_dump(mode="json")`.
404
+ """
405
+ if is_mapping(data):
406
+ return {json_safe(key): json_safe(value) for key, value in data.items()}
407
+
408
+ if is_iterable(data) and not isinstance(data, (str, bytes, bytearray)):
409
+ return [json_safe(item) for item in data]
410
+
411
+ if isinstance(data, (datetime, date)):
412
+ return data.isoformat()
413
+
414
+ return data
runwayml/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runwayml"
4
- __version__ = "2.0.0" # x-release-please-version
4
+ __version__ = "2.1.0" # x-release-please-version
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Union, Iterable
5
6
  from typing_extensions import Literal
6
7
 
7
8
  import httpx
@@ -50,10 +51,10 @@ class ImageToVideoResource(SyncAPIResource):
50
51
  self,
51
52
  *,
52
53
  model: Literal["gen3a_turbo"],
53
- prompt_image: str,
54
+ prompt_image: Union[str, Iterable[image_to_video_create_params.PromptImagePromptImage]],
54
55
  duration: Literal[5, 10] | NotGiven = NOT_GIVEN,
55
56
  prompt_text: str | NotGiven = NOT_GIVEN,
56
- ratio: Literal["16:9", "9:16"] | NotGiven = NOT_GIVEN,
57
+ ratio: Literal["1280:768", "768:1280"] | NotGiven = NOT_GIVEN,
57
58
  seed: int | NotGiven = NOT_GIVEN,
58
59
  watermark: bool | NotGiven = NOT_GIVEN,
59
60
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -69,14 +70,15 @@ class ImageToVideoResource(SyncAPIResource):
69
70
  Args:
70
71
  model: The model variant to use.
71
72
 
72
- prompt_image: A HTTPS URL pointing to an image. Images must be JPEG, PNG, or WebP and are
73
- limited to 16MB. Responses must include a valid `Content-Length` header.
73
+ prompt_image: A HTTPS URL or data URI containing an encoded image to be used as the first
74
+ frame of the generated video. See [our docs](/assets/inputs#images) on image
75
+ inputs for more information.
74
76
 
75
77
  duration: The number of seconds of duration for the output video.
76
78
 
77
79
  prompt_text
78
80
 
79
- ratio: The aspect ratio of the output video.
81
+ ratio
80
82
 
81
83
  seed: If unspecified, a random number is chosen. Varying the seed integer is a way to
82
84
  get different results for the same other request parameters. Using the same seed
@@ -138,10 +140,10 @@ class AsyncImageToVideoResource(AsyncAPIResource):
138
140
  self,
139
141
  *,
140
142
  model: Literal["gen3a_turbo"],
141
- prompt_image: str,
143
+ prompt_image: Union[str, Iterable[image_to_video_create_params.PromptImagePromptImage]],
142
144
  duration: Literal[5, 10] | NotGiven = NOT_GIVEN,
143
145
  prompt_text: str | NotGiven = NOT_GIVEN,
144
- ratio: Literal["16:9", "9:16"] | NotGiven = NOT_GIVEN,
146
+ ratio: Literal["1280:768", "768:1280"] | NotGiven = NOT_GIVEN,
145
147
  seed: int | NotGiven = NOT_GIVEN,
146
148
  watermark: bool | NotGiven = NOT_GIVEN,
147
149
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -157,14 +159,15 @@ class AsyncImageToVideoResource(AsyncAPIResource):
157
159
  Args:
158
160
  model: The model variant to use.
159
161
 
160
- prompt_image: A HTTPS URL pointing to an image. Images must be JPEG, PNG, or WebP and are
161
- limited to 16MB. Responses must include a valid `Content-Length` header.
162
+ prompt_image: A HTTPS URL or data URI containing an encoded image to be used as the first
163
+ frame of the generated video. See [our docs](/assets/inputs#images) on image
164
+ inputs for more information.
162
165
 
163
166
  duration: The number of seconds of duration for the output video.
164
167
 
165
168
  prompt_text
166
169
 
167
- ratio: The aspect ratio of the output video.
170
+ ratio
168
171
 
169
172
  seed: If unspecified, a random number is chosen. Varying the seed integer is a way to
170
173
  get different results for the same other request parameters. Using the same seed
@@ -2,22 +2,23 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Union, Iterable
5
6
  from typing_extensions import Literal, Required, Annotated, TypedDict
6
7
 
7
8
  from .._utils import PropertyInfo
8
9
 
9
- __all__ = ["ImageToVideoCreateParams"]
10
+ __all__ = ["ImageToVideoCreateParams", "PromptImagePromptImage"]
10
11
 
11
12
 
12
13
  class ImageToVideoCreateParams(TypedDict, total=False):
13
14
  model: Required[Literal["gen3a_turbo"]]
14
15
  """The model variant to use."""
15
16
 
16
- prompt_image: Required[Annotated[str, PropertyInfo(alias="promptImage")]]
17
- """A HTTPS URL pointing to an image.
18
-
19
- Images must be JPEG, PNG, or WebP and are limited to 16MB. Responses must
20
- include a valid `Content-Length` header.
17
+ prompt_image: Required[Annotated[Union[str, Iterable[PromptImagePromptImage]], PropertyInfo(alias="promptImage")]]
18
+ """
19
+ A HTTPS URL or data URI containing an encoded image to be used as the first
20
+ frame of the generated video. See [our docs](/assets/inputs#images) on image
21
+ inputs for more information.
21
22
  """
22
23
 
23
24
  duration: Literal[5, 10]
@@ -25,8 +26,7 @@ class ImageToVideoCreateParams(TypedDict, total=False):
25
26
 
26
27
  prompt_text: Annotated[str, PropertyInfo(alias="promptText")]
27
28
 
28
- ratio: Literal["16:9", "9:16"]
29
- """The aspect ratio of the output video."""
29
+ ratio: Literal["1280:768", "768:1280"]
30
30
 
31
31
  seed: int
32
32
  """If unspecified, a random number is chosen.
@@ -41,3 +41,18 @@ class ImageToVideoCreateParams(TypedDict, total=False):
41
41
  A boolean indicating whether or not the output video will contain a Runway
42
42
  watermark.
43
43
  """
44
+
45
+
46
+ class PromptImagePromptImage(TypedDict, total=False):
47
+ position: Required[Literal["first", "last"]]
48
+ """The position of the image in the output video.
49
+
50
+ "first" will use the image as the first frame of the video, "last" will use the
51
+ image as the last frame of the video.
52
+ """
53
+
54
+ uri: Required[str]
55
+ """A HTTPS URL or data URI containing an encoded image.
56
+
57
+ See [our docs](/assets/inputs#images) on image inputs for more information.
58
+ """
@@ -1,7 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
 
4
-
5
4
  from .._models import BaseModel
6
5
 
7
6
  __all__ = ["ImageToVideoCreateResponse"]
@@ -9,4 +8,7 @@ __all__ = ["ImageToVideoCreateResponse"]
9
8
 
10
9
  class ImageToVideoCreateResponse(BaseModel):
11
10
  id: str
12
- """The ID of the newly created task."""
11
+ """The ID of the newly created task.
12
+
13
+ Use this ID to query the task status and retrieve the generated video.
14
+ """
@@ -13,6 +13,7 @@ __all__ = ["TaskRetrieveResponse"]
13
13
 
14
14
  class TaskRetrieveResponse(BaseModel):
15
15
  id: str
16
+ """The ID of the task being returned."""
16
17
 
17
18
  created_at: datetime = FieldInfo(alias="createdAt")
18
19
  """The timestamp that the task was submitted at."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runwayml
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
  Summary: The official Python library for the runwayml API
5
5
  Project-URL: Homepage, https://github.com/runwayml/sdk-python
6
6
  Project-URL: Repository, https://github.com/runwayml/sdk-python
@@ -14,7 +14,6 @@ Classifier: Operating System :: Microsoft :: Windows
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Operating System :: POSIX
16
16
  Classifier: Operating System :: POSIX :: Linux
17
- Classifier: Programming Language :: Python :: 3.7
18
17
  Classifier: Programming Language :: Python :: 3.8
19
18
  Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
@@ -22,7 +21,7 @@ Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
23
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
23
  Classifier: Typing :: Typed
25
- Requires-Python: >=3.7
24
+ Requires-Python: >=3.8
26
25
  Requires-Dist: anyio<5,>=3.5.0
27
26
  Requires-Dist: cached-property; python_version < '3.8'
28
27
  Requires-Dist: distro<2,>=1.7.0
@@ -36,7 +35,7 @@ Description-Content-Type: text/markdown
36
35
 
37
36
  [![PyPI version](https://img.shields.io/pypi/v/runwayml.svg)](https://pypi.org/project/runwayml/)
38
37
 
39
- The RunwayML Python library provides convenient access to the RunwayML REST API from any Python 3.7+
38
+ The RunwayML Python library provides convenient access to the RunwayML REST API from any Python 3.8+
40
39
  application. The library includes type definitions for all request params and response fields,
41
40
  and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
42
41
 
@@ -376,7 +375,7 @@ print(runwayml.__version__)
376
375
 
377
376
  ## Requirements
378
377
 
379
- Python 3.7 or higher.
378
+ Python 3.8 or higher.
380
379
 
381
380
  ## Contributing
382
381
 
@@ -1,36 +1,36 @@
1
1
  runwayml/__init__.py,sha256=LsywCoz3efgd9DJAXxam_dZp4-0CuDCfyY658Isqy8k,2458
2
- runwayml/_base_client.py,sha256=VXZ-FzF2qniEobkIlTWQ_Ld0ZMofwnKNu638T4RsuSE,67551
3
- runwayml/_client.py,sha256=bXqlcEWa3xtVB70cQ3UN9eSBKV45WfEdSflQbeJpK0U,16428
4
- runwayml/_compat.py,sha256=9CWnEaYK0kot7aSNW-m2W9xZb5giIdvKN9sWxvBbbSA,6488
2
+ runwayml/_base_client.py,sha256=JZj36mhT5VFQZj-_KhawxsYsoiIzBKDaNmqosZwOQC4,67846
3
+ runwayml/_client.py,sha256=mJfU5Cq2rBWL1fwMlbjFd9w5oWZ8kb5Ps5B37y53PQw,16428
4
+ runwayml/_compat.py,sha256=fQkXUY7reJc8m_yguMWSjHBfO8lNzw4wOAxtkhP9d1Q,6607
5
5
  runwayml/_constants.py,sha256=JE8kyZa2Q4NK_i4fO--8siEYTzeHnT0fYbOFDgDP4uk,464
6
6
  runwayml/_exceptions.py,sha256=p2Q8kywHCVQzArLQL4Ht-HetTBhAvevU6yDvEq7PpIE,3224
7
7
  runwayml/_files.py,sha256=mf4dOgL4b0ryyZlbqLhggD3GVgDf6XxdGFAgce01ugE,3549
8
- runwayml/_models.py,sha256=pXirq94yiihFXBbiR50vA-0NIlDurxbJ_rLXK062vWQ,28267
8
+ runwayml/_models.py,sha256=uhxvXZC0JO7HuGR_GWXH-zYKuptF2rwiGVJfMMfg3fw,28470
9
9
  runwayml/_qs.py,sha256=AOkSz4rHtK4YI3ZU_kzea-zpwBUgEY8WniGmTPyEimc,4846
10
10
  runwayml/_resource.py,sha256=BF-j3xY5eRTKmuTxg8eDhLtLP4MLB1phDh_B6BKipKA,1112
11
- runwayml/_response.py,sha256=sKuVjGpyu3n8kUojbOPqPUtxKMKYWQOBEaPM9Y-I9J4,28532
11
+ runwayml/_response.py,sha256=7EGNYCVRHiVys7y6gAx5HWIwUxWvmjhd05ur53OeFkQ,28621
12
12
  runwayml/_streaming.py,sha256=NSVuAgknVQWU1cgZEjQn01IdZKKynb5rOeYp5Lo-OEQ,10108
13
- runwayml/_types.py,sha256=8a6x8uZ5xoBLrmu6rK3X9NKZhcMYcaE2tUeh3wgKHNk,6105
14
- runwayml/_version.py,sha256=4m1aRIUMyDTo1gDj3xtglqgDkjnJ-ozbHt8QFxYy3SE,160
13
+ runwayml/_types.py,sha256=Mr22kL-koHslGlVH9m-m0B9AMh9Ke2iktDDu_rTGdy4,6169
14
+ runwayml/_version.py,sha256=Q13Mdu-wI8eYR-VMNkBsal9FhtGE8eXvUuWPzokQAfs,160
15
15
  runwayml/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- runwayml/_utils/__init__.py,sha256=Uzq1-FIih_VUjzdNVWXks0sdC39KBKLMrZoz-_JOjJ4,1988
16
+ runwayml/_utils/__init__.py,sha256=k266EatJr88V8Zseb7xUimTlCeno9SynRfLwadHP1b4,2016
17
17
  runwayml/_utils/_logs.py,sha256=ZfS5W59hdqEBVV86lNrk28PhvUxtHOzs9JqiLhSu0pI,780
18
18
  runwayml/_utils/_proxy.py,sha256=z3zsateHtb0EARTWKk8QZNHfPkqJbqwd1lM993LBwGE,1902
19
19
  runwayml/_utils/_reflection.py,sha256=ZmGkIgT_PuwedyNBrrKGbxoWtkpytJNU1uU4QHnmEMU,1364
20
20
  runwayml/_utils/_streams.py,sha256=SMC90diFFecpEg_zgDRVbdR3hSEIgVVij4taD-noMLM,289
21
21
  runwayml/_utils/_sync.py,sha256=9ex9pfOyd8xAF1LxpFx4IkqL8k0vk8srE2Ee-OTMQ0A,2840
22
- runwayml/_utils/_transform.py,sha256=NCz3q9_O-vuj60xVe-qzhEQ8uJWlZWJTsM-GwHDccf8,12958
22
+ runwayml/_utils/_transform.py,sha256=GcsgDf2GwWGI6a7DTKRKa7JPdzcv2EFK8IHFG_8Cw5E,13226
23
23
  runwayml/_utils/_typing.py,sha256=tFbktdpdHCQliwzGsWysgn0P5H0JRdagkZdb_LegGkY,3838
24
- runwayml/_utils/_utils.py,sha256=tYrr7IX-5NMwsVKbNggbzOM84uNw7XnAe06e2Ln8Or0,11472
24
+ runwayml/_utils/_utils.py,sha256=8UmbPOy_AAr2uUjjFui-VZSrVBHRj6bfNEKRp5YZP2A,12004
25
25
  runwayml/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
26
26
  runwayml/resources/__init__.py,sha256=O-ZVFaODsGXK0pKVlV4HKoeJyq3p9sK_9COJTv7P1WM,1069
27
- runwayml/resources/image_to_video.py,sha256=B91VHPH5XdJbrbaXrTzBkLc4ed81-MkXOOFwIyc2eAc,9184
27
+ runwayml/resources/image_to_video.py,sha256=bts-S7MA6Rk9p1BMx-2J8WOdrP5iw4c4Kor6jiYaseE,9391
28
28
  runwayml/resources/tasks.py,sha256=j80KvE6QkVAJvfIUx37tJEizcBB1u5vhd9zkSiv6Tuk,9681
29
29
  runwayml/types/__init__.py,sha256=R3cLEXzpcEpEOuxaFBo3R72ewH1LtjpkZ0aYOIt1CAo,400
30
- runwayml/types/image_to_video_create_params.py,sha256=EkB8zKmqeupVfDANnrLdHvY5LgdOW1kf7oN4JPlbruY,1303
31
- runwayml/types/image_to_video_create_response.py,sha256=Qc5C86xJ_i1JkRLCCkEh6lMnPoO3-iB92gcR7mXooUw,266
32
- runwayml/types/task_retrieve_response.py,sha256=2BsxvP95VgKkn3rdv1vXotMV1zw8RwDSsO27AHjlpyc,2094
33
- runwayml-2.0.0.dist-info/METADATA,sha256=GYCmARjDBFcQSD0134xLlyIg5a34GvjLRrQcqs_bwI8,13408
34
- runwayml-2.0.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
35
- runwayml-2.0.0.dist-info/licenses/LICENSE,sha256=p4nykVRdA5nXTd8-slKCIfrlJZMB3wn8QBVasNQ_G_Q,11338
36
- runwayml-2.0.0.dist-info/RECORD,,
30
+ runwayml/types/image_to_video_create_params.py,sha256=98DsjOHnmHEi8mVjZOQEDL3P1hJUT8uktp0mDA5WJ5Y,1869
31
+ runwayml/types/image_to_video_create_response.py,sha256=l5GszzUSItV-ZYHCB8hH_GSVibUZEkzfRLrAhXkd8O4,346
32
+ runwayml/types/task_retrieve_response.py,sha256=v8y2bLxsW6srzScW-B3Akv72q_PI_NQmduGrGRQMHds,2139
33
+ runwayml-2.1.0.dist-info/METADATA,sha256=bH3HLY2e_TgITkCpbnSqYILCuc_2ugd8bwvyfqYjgUo,13358
34
+ runwayml-2.1.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
35
+ runwayml-2.1.0.dist-info/licenses/LICENSE,sha256=p4nykVRdA5nXTd8-slKCIfrlJZMB3wn8QBVasNQ_G_Q,11338
36
+ runwayml-2.1.0.dist-info/RECORD,,