| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851 |
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
- from __future__ import annotations
- from typing import TYPE_CHECKING, Mapping, cast
- from typing_extensions import Literal, assert_never
- import httpx
- from .. import _legacy_response
- from ..types import (
- VideoSize,
- VideoModel,
- VideoSeconds,
- video_list_params,
- video_remix_params,
- video_create_params,
- video_download_content_params,
- )
- from .._types import Body, Omit, Query, Headers, NotGiven, FileTypes, omit, not_given
- from .._utils import extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
- from .._compat import cached_property
- from .._resource import SyncAPIResource, AsyncAPIResource
- from .._response import (
- StreamedBinaryAPIResponse,
- AsyncStreamedBinaryAPIResponse,
- to_streamed_response_wrapper,
- async_to_streamed_response_wrapper,
- to_custom_streamed_response_wrapper,
- async_to_custom_streamed_response_wrapper,
- )
- from ..pagination import SyncConversationCursorPage, AsyncConversationCursorPage
- from ..types.video import Video
- from .._base_client import AsyncPaginator, make_request_options
- from .._utils._utils import is_given
- from ..types.video_size import VideoSize
- from ..types.video_model import VideoModel
- from ..types.video_seconds import VideoSeconds
- from ..types.video_delete_response import VideoDeleteResponse
- __all__ = ["Videos", "AsyncVideos"]
- class Videos(SyncAPIResource):
- @cached_property
- def with_raw_response(self) -> VideosWithRawResponse:
- """
- This property can be used as a prefix for any HTTP method call to return
- the raw response object instead of the parsed content.
- For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
- """
- return VideosWithRawResponse(self)
- @cached_property
- def with_streaming_response(self) -> VideosWithStreamingResponse:
- """
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
- For more information, see https://www.github.com/openai/openai-python#with_streaming_response
- """
- return VideosWithStreamingResponse(self)
- def create(
- self,
- *,
- prompt: str,
- input_reference: FileTypes | Omit = omit,
- model: VideoModel | Omit = omit,
- seconds: VideoSeconds | Omit = omit,
- size: VideoSize | 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,
- ) -> Video:
- """
- Create a video
- Args:
- prompt: Text prompt that describes the video to generate.
- input_reference: Optional image reference that guides generation.
- model: The video generation model to use (allowed values: sora-2, sora-2-pro). Defaults
- to `sora-2`.
- seconds: Clip duration in seconds (allowed values: 4, 8, 12). Defaults to 4 seconds.
- size: Output resolution formatted as width x height (allowed values: 720x1280,
- 1280x720, 1024x1792, 1792x1024). Defaults to 720x1280.
- 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
- """
- body = deepcopy_minimal(
- {
- "prompt": prompt,
- "input_reference": input_reference,
- "model": model,
- "seconds": seconds,
- "size": size,
- }
- )
- files = extract_files(cast(Mapping[str, object], body), paths=[["input_reference"]])
- if files:
- # It should be noted that the actual Content-Type header that will be
- # sent to the server will contain a `boundary` parameter, e.g.
- # multipart/form-data; boundary=---abc--
- extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
- return self._post(
- "/videos",
- body=maybe_transform(body, video_create_params.VideoCreateParams),
- files=files,
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=Video,
- )
- def create_and_poll(
- self,
- *,
- prompt: str,
- input_reference: FileTypes | Omit = omit,
- model: VideoModel | Omit = omit,
- seconds: VideoSeconds | Omit = omit,
- size: VideoSize | Omit = omit,
- poll_interval_ms: 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.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> Video:
- """Create a video and wait for it to be processed."""
- video = self.create(
- model=model,
- prompt=prompt,
- input_reference=input_reference,
- seconds=seconds,
- size=size,
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- )
- return self.poll(
- video.id,
- poll_interval_ms=poll_interval_ms,
- )
- def poll(
- self,
- video_id: str,
- *,
- poll_interval_ms: int | Omit = omit,
- ) -> Video:
- """Wait for the vector store file to finish processing.
- Note: this will return even if the file failed to process, you need to check
- file.last_error and file.status to handle these cases
- """
- headers: dict[str, str] = {"X-Stainless-Poll-Helper": "true"}
- if is_given(poll_interval_ms):
- headers["X-Stainless-Custom-Poll-Interval"] = str(poll_interval_ms)
- while True:
- response = self.with_raw_response.retrieve(
- video_id,
- extra_headers=headers,
- )
- video = response.parse()
- if video.status == "in_progress" or video.status == "queued":
- if not is_given(poll_interval_ms):
- from_header = response.headers.get("openai-poll-after-ms")
- if from_header is not None:
- poll_interval_ms = int(from_header)
- else:
- poll_interval_ms = 1000
- self._sleep(poll_interval_ms / 1000)
- elif video.status == "completed" or video.status == "failed":
- return video
- else:
- if TYPE_CHECKING: # type: ignore[unreachable]
- assert_never(video.status)
- else:
- return video
- def retrieve(
- self,
- video_id: str,
- *,
- # 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,
- ) -> Video:
- """
- Retrieve a video
- Args:
- 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
- """
- if not video_id:
- raise ValueError(f"Expected a non-empty value for `video_id` but received {video_id!r}")
- return self._get(
- f"/videos/{video_id}",
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=Video,
- )
- def list(
- self,
- *,
- after: str | Omit = omit,
- limit: int | Omit = omit,
- order: Literal["asc", "desc"] | 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,
- ) -> SyncConversationCursorPage[Video]:
- """
- List videos
- Args:
- after: Identifier for the last item from the previous pagination request
- limit: Number of items to retrieve
- order: Sort order of results by timestamp. Use `asc` for ascending order or `desc` for
- descending order.
- 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
- """
- return self._get_api_list(
- "/videos",
- page=SyncConversationCursorPage[Video],
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=maybe_transform(
- {
- "after": after,
- "limit": limit,
- "order": order,
- },
- video_list_params.VideoListParams,
- ),
- ),
- model=Video,
- )
- def delete(
- self,
- video_id: str,
- *,
- # 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,
- ) -> VideoDeleteResponse:
- """
- Delete a video
- Args:
- 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
- """
- if not video_id:
- raise ValueError(f"Expected a non-empty value for `video_id` but received {video_id!r}")
- return self._delete(
- f"/videos/{video_id}",
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=VideoDeleteResponse,
- )
- def download_content(
- self,
- video_id: str,
- *,
- variant: Literal["video", "thumbnail", "spritesheet"] | 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,
- ) -> _legacy_response.HttpxBinaryResponseContent:
- """Download video content
- Args:
- variant: Which downloadable asset to return.
- Defaults to the MP4 video.
- 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
- """
- if not video_id:
- raise ValueError(f"Expected a non-empty value for `video_id` but received {video_id!r}")
- extra_headers = {"Accept": "application/binary", **(extra_headers or {})}
- return self._get(
- f"/videos/{video_id}/content",
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=maybe_transform({"variant": variant}, video_download_content_params.VideoDownloadContentParams),
- ),
- cast_to=_legacy_response.HttpxBinaryResponseContent,
- )
- def remix(
- self,
- video_id: str,
- *,
- prompt: str,
- # 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,
- ) -> Video:
- """
- Create a video remix
- Args:
- prompt: Updated text prompt that directs the remix generation.
- 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
- """
- if not video_id:
- raise ValueError(f"Expected a non-empty value for `video_id` but received {video_id!r}")
- return self._post(
- f"/videos/{video_id}/remix",
- body=maybe_transform({"prompt": prompt}, video_remix_params.VideoRemixParams),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=Video,
- )
- class AsyncVideos(AsyncAPIResource):
- @cached_property
- def with_raw_response(self) -> AsyncVideosWithRawResponse:
- """
- This property can be used as a prefix for any HTTP method call to return
- the raw response object instead of the parsed content.
- For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
- """
- return AsyncVideosWithRawResponse(self)
- @cached_property
- def with_streaming_response(self) -> AsyncVideosWithStreamingResponse:
- """
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
- For more information, see https://www.github.com/openai/openai-python#with_streaming_response
- """
- return AsyncVideosWithStreamingResponse(self)
- async def create(
- self,
- *,
- prompt: str,
- input_reference: FileTypes | Omit = omit,
- model: VideoModel | Omit = omit,
- seconds: VideoSeconds | Omit = omit,
- size: VideoSize | 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,
- ) -> Video:
- """
- Create a video
- Args:
- prompt: Text prompt that describes the video to generate.
- input_reference: Optional image reference that guides generation.
- model: The video generation model to use (allowed values: sora-2, sora-2-pro). Defaults
- to `sora-2`.
- seconds: Clip duration in seconds (allowed values: 4, 8, 12). Defaults to 4 seconds.
- size: Output resolution formatted as width x height (allowed values: 720x1280,
- 1280x720, 1024x1792, 1792x1024). Defaults to 720x1280.
- 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
- """
- body = deepcopy_minimal(
- {
- "prompt": prompt,
- "input_reference": input_reference,
- "model": model,
- "seconds": seconds,
- "size": size,
- }
- )
- files = extract_files(cast(Mapping[str, object], body), paths=[["input_reference"]])
- if files:
- # It should be noted that the actual Content-Type header that will be
- # sent to the server will contain a `boundary` parameter, e.g.
- # multipart/form-data; boundary=---abc--
- extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
- return await self._post(
- "/videos",
- body=await async_maybe_transform(body, video_create_params.VideoCreateParams),
- files=files,
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=Video,
- )
- async def create_and_poll(
- self,
- *,
- prompt: str,
- input_reference: FileTypes | Omit = omit,
- model: VideoModel | Omit = omit,
- seconds: VideoSeconds | Omit = omit,
- size: VideoSize | Omit = omit,
- poll_interval_ms: 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.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> Video:
- """Create a video and wait for it to be processed."""
- video = await self.create(
- model=model,
- prompt=prompt,
- input_reference=input_reference,
- seconds=seconds,
- size=size,
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- )
- return await self.poll(
- video.id,
- poll_interval_ms=poll_interval_ms,
- )
- async def poll(
- self,
- video_id: str,
- *,
- poll_interval_ms: int | Omit = omit,
- ) -> Video:
- """Wait for the vector store file to finish processing.
- Note: this will return even if the file failed to process, you need to check
- file.last_error and file.status to handle these cases
- """
- headers: dict[str, str] = {"X-Stainless-Poll-Helper": "true"}
- if is_given(poll_interval_ms):
- headers["X-Stainless-Custom-Poll-Interval"] = str(poll_interval_ms)
- while True:
- response = await self.with_raw_response.retrieve(
- video_id,
- extra_headers=headers,
- )
- video = response.parse()
- if video.status == "in_progress" or video.status == "queued":
- if not is_given(poll_interval_ms):
- from_header = response.headers.get("openai-poll-after-ms")
- if from_header is not None:
- poll_interval_ms = int(from_header)
- else:
- poll_interval_ms = 1000
- await self._sleep(poll_interval_ms / 1000)
- elif video.status == "completed" or video.status == "failed":
- return video
- else:
- if TYPE_CHECKING: # type: ignore[unreachable]
- assert_never(video.status)
- else:
- return video
- async def retrieve(
- self,
- video_id: str,
- *,
- # 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,
- ) -> Video:
- """
- Retrieve a video
- Args:
- 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
- """
- if not video_id:
- raise ValueError(f"Expected a non-empty value for `video_id` but received {video_id!r}")
- return await self._get(
- f"/videos/{video_id}",
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=Video,
- )
- def list(
- self,
- *,
- after: str | Omit = omit,
- limit: int | Omit = omit,
- order: Literal["asc", "desc"] | 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,
- ) -> AsyncPaginator[Video, AsyncConversationCursorPage[Video]]:
- """
- List videos
- Args:
- after: Identifier for the last item from the previous pagination request
- limit: Number of items to retrieve
- order: Sort order of results by timestamp. Use `asc` for ascending order or `desc` for
- descending order.
- 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
- """
- return self._get_api_list(
- "/videos",
- page=AsyncConversationCursorPage[Video],
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=maybe_transform(
- {
- "after": after,
- "limit": limit,
- "order": order,
- },
- video_list_params.VideoListParams,
- ),
- ),
- model=Video,
- )
- async def delete(
- self,
- video_id: str,
- *,
- # 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,
- ) -> VideoDeleteResponse:
- """
- Delete a video
- Args:
- 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
- """
- if not video_id:
- raise ValueError(f"Expected a non-empty value for `video_id` but received {video_id!r}")
- return await self._delete(
- f"/videos/{video_id}",
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=VideoDeleteResponse,
- )
- async def download_content(
- self,
- video_id: str,
- *,
- variant: Literal["video", "thumbnail", "spritesheet"] | 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,
- ) -> _legacy_response.HttpxBinaryResponseContent:
- """Download video content
- Args:
- variant: Which downloadable asset to return.
- Defaults to the MP4 video.
- 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
- """
- if not video_id:
- raise ValueError(f"Expected a non-empty value for `video_id` but received {video_id!r}")
- extra_headers = {"Accept": "application/binary", **(extra_headers or {})}
- return await self._get(
- f"/videos/{video_id}/content",
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=await async_maybe_transform(
- {"variant": variant}, video_download_content_params.VideoDownloadContentParams
- ),
- ),
- cast_to=_legacy_response.HttpxBinaryResponseContent,
- )
- async def remix(
- self,
- video_id: str,
- *,
- prompt: str,
- # 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,
- ) -> Video:
- """
- Create a video remix
- Args:
- prompt: Updated text prompt that directs the remix generation.
- 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
- """
- if not video_id:
- raise ValueError(f"Expected a non-empty value for `video_id` but received {video_id!r}")
- return await self._post(
- f"/videos/{video_id}/remix",
- body=await async_maybe_transform({"prompt": prompt}, video_remix_params.VideoRemixParams),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=Video,
- )
- class VideosWithRawResponse:
- def __init__(self, videos: Videos) -> None:
- self._videos = videos
- self.create = _legacy_response.to_raw_response_wrapper(
- videos.create,
- )
- self.retrieve = _legacy_response.to_raw_response_wrapper(
- videos.retrieve,
- )
- self.list = _legacy_response.to_raw_response_wrapper(
- videos.list,
- )
- self.delete = _legacy_response.to_raw_response_wrapper(
- videos.delete,
- )
- self.download_content = _legacy_response.to_raw_response_wrapper(
- videos.download_content,
- )
- self.remix = _legacy_response.to_raw_response_wrapper(
- videos.remix,
- )
- class AsyncVideosWithRawResponse:
- def __init__(self, videos: AsyncVideos) -> None:
- self._videos = videos
- self.create = _legacy_response.async_to_raw_response_wrapper(
- videos.create,
- )
- self.retrieve = _legacy_response.async_to_raw_response_wrapper(
- videos.retrieve,
- )
- self.list = _legacy_response.async_to_raw_response_wrapper(
- videos.list,
- )
- self.delete = _legacy_response.async_to_raw_response_wrapper(
- videos.delete,
- )
- self.download_content = _legacy_response.async_to_raw_response_wrapper(
- videos.download_content,
- )
- self.remix = _legacy_response.async_to_raw_response_wrapper(
- videos.remix,
- )
- class VideosWithStreamingResponse:
- def __init__(self, videos: Videos) -> None:
- self._videos = videos
- self.create = to_streamed_response_wrapper(
- videos.create,
- )
- self.retrieve = to_streamed_response_wrapper(
- videos.retrieve,
- )
- self.list = to_streamed_response_wrapper(
- videos.list,
- )
- self.delete = to_streamed_response_wrapper(
- videos.delete,
- )
- self.download_content = to_custom_streamed_response_wrapper(
- videos.download_content,
- StreamedBinaryAPIResponse,
- )
- self.remix = to_streamed_response_wrapper(
- videos.remix,
- )
- class AsyncVideosWithStreamingResponse:
- def __init__(self, videos: AsyncVideos) -> None:
- self._videos = videos
- self.create = async_to_streamed_response_wrapper(
- videos.create,
- )
- self.retrieve = async_to_streamed_response_wrapper(
- videos.retrieve,
- )
- self.list = async_to_streamed_response_wrapper(
- videos.list,
- )
- self.delete = async_to_streamed_response_wrapper(
- videos.delete,
- )
- self.download_content = async_to_custom_streamed_response_wrapper(
- videos.download_content,
- AsyncStreamedBinaryAPIResponse,
- )
- self.remix = async_to_streamed_response_wrapper(
- videos.remix,
- )
|