1212from ..core .request_options import RequestOptions
1313from ..core .unchecked_base_model import construct_type
1414from ..errors .unprocessable_entity_error import UnprocessableEntityError
15- from ..types .audio_isolation_response_model import AudioIsolationResponseModel
1615from ..types .http_validation_error import HttpValidationError
1716
1817# this is used as the default value for optional parameters
@@ -25,7 +24,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper):
2524
2625 def audio_isolation (
2726 self , * , audio : core .File , request_options : typing .Optional [RequestOptions ] = None
28- ) -> AudioIsolationResponseModel :
27+ ) -> typing . Iterator [ bytes ] :
2928 """
3029 Removes background noise from audio
3130
@@ -37,9 +36,9 @@ def audio_isolation(
3736 request_options : typing.Optional[RequestOptions]
3837 Request-specific configuration.
3938
40- Returns
41- -------
42- AudioIsolationResponseModel
39+ Yields
40+ ------
41+ typing.Iterator[bytes]
4342 Successful Response
4443
4544 Examples
@@ -51,7 +50,7 @@ def audio_isolation(
5150 )
5251 client.audio_isolation.audio_isolation()
5352 """
54- _response = self ._client_wrapper .httpx_client .request (
53+ with self ._client_wrapper .httpx_client .stream (
5554 method = "POST" ,
5655 url = urllib .parse .urljoin (f"{ self ._client_wrapper .get_base_url ()} /" , "v1/audio-isolation" ),
5756 params = jsonable_encoder (
@@ -77,22 +76,25 @@ def audio_isolation(
7776 else self ._client_wrapper .get_timeout (),
7877 retries = 0 ,
7978 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
80- )
81- if 200 <= _response .status_code < 300 :
82- return typing .cast (AudioIsolationResponseModel , construct_type (type_ = AudioIsolationResponseModel , object_ = _response .json ())) # type: ignore
83- if _response .status_code == 422 :
84- raise UnprocessableEntityError (
85- typing .cast (HttpValidationError , construct_type (type_ = HttpValidationError , object_ = _response .json ())) # type: ignore
86- )
87- try :
88- _response_json = _response .json ()
89- except JSONDecodeError :
90- raise ApiError (status_code = _response .status_code , body = _response .text )
91- raise ApiError (status_code = _response .status_code , body = _response_json )
79+ ) as _response :
80+ if 200 <= _response .status_code < 300 :
81+ for _chunk in _response .iter_bytes ():
82+ yield _chunk
83+ return
84+ _response .read ()
85+ if _response .status_code == 422 :
86+ raise UnprocessableEntityError (
87+ typing .cast (HttpValidationError , construct_type (type_ = HttpValidationError , object_ = _response .json ())) # type: ignore
88+ )
89+ try :
90+ _response_json = _response .json ()
91+ except JSONDecodeError :
92+ raise ApiError (status_code = _response .status_code , body = _response .text )
93+ raise ApiError (status_code = _response .status_code , body = _response_json )
9294
9395 def audio_isolation_stream (
9496 self , * , audio : core .File , request_options : typing .Optional [RequestOptions ] = None
95- ) -> None :
97+ ) -> typing . Iterator [ bytes ] :
9698 """
9799 Removes background noise from audio and streams the result
98100
@@ -104,9 +106,10 @@ def audio_isolation_stream(
104106 request_options : typing.Optional[RequestOptions]
105107 Request-specific configuration.
106108
107- Returns
108- -------
109- None
109+ Yields
110+ ------
111+ typing.Iterator[bytes]
112+ Successful Response
110113
111114 Examples
112115 --------
@@ -117,7 +120,7 @@ def audio_isolation_stream(
117120 )
118121 client.audio_isolation.audio_isolation_stream()
119122 """
120- _response = self ._client_wrapper .httpx_client .request (
123+ with self ._client_wrapper .httpx_client .stream (
121124 method = "POST" ,
122125 url = urllib .parse .urljoin (f"{ self ._client_wrapper .get_base_url ()} /" , "v1/audio-isolation/stream" ),
123126 params = jsonable_encoder (
@@ -143,18 +146,21 @@ def audio_isolation_stream(
143146 else self ._client_wrapper .get_timeout (),
144147 retries = 0 ,
145148 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
146- )
147- if 200 <= _response .status_code < 300 :
148- return
149- if _response .status_code == 422 :
150- raise UnprocessableEntityError (
151- typing .cast (HttpValidationError , construct_type (type_ = HttpValidationError , object_ = _response .json ())) # type: ignore
152- )
153- try :
154- _response_json = _response .json ()
155- except JSONDecodeError :
156- raise ApiError (status_code = _response .status_code , body = _response .text )
157- raise ApiError (status_code = _response .status_code , body = _response_json )
149+ ) as _response :
150+ if 200 <= _response .status_code < 300 :
151+ for _chunk in _response .iter_bytes ():
152+ yield _chunk
153+ return
154+ _response .read ()
155+ if _response .status_code == 422 :
156+ raise UnprocessableEntityError (
157+ typing .cast (HttpValidationError , construct_type (type_ = HttpValidationError , object_ = _response .json ())) # type: ignore
158+ )
159+ try :
160+ _response_json = _response .json ()
161+ except JSONDecodeError :
162+ raise ApiError (status_code = _response .status_code , body = _response .text )
163+ raise ApiError (status_code = _response .status_code , body = _response_json )
158164
159165
160166class AsyncAudioIsolationClient :
@@ -163,7 +169,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper):
163169
164170 async def audio_isolation (
165171 self , * , audio : core .File , request_options : typing .Optional [RequestOptions ] = None
166- ) -> AudioIsolationResponseModel :
172+ ) -> typing . AsyncIterator [ bytes ] :
167173 """
168174 Removes background noise from audio
169175
@@ -175,9 +181,9 @@ async def audio_isolation(
175181 request_options : typing.Optional[RequestOptions]
176182 Request-specific configuration.
177183
178- Returns
179- -------
180- AudioIsolationResponseModel
184+ Yields
185+ ------
186+ typing.AsyncIterator[bytes]
181187 Successful Response
182188
183189 Examples
@@ -189,7 +195,7 @@ async def audio_isolation(
189195 )
190196 await client.audio_isolation.audio_isolation()
191197 """
192- _response = await self ._client_wrapper .httpx_client .request (
198+ async with self ._client_wrapper .httpx_client .stream (
193199 method = "POST" ,
194200 url = urllib .parse .urljoin (f"{ self ._client_wrapper .get_base_url ()} /" , "v1/audio-isolation" ),
195201 params = jsonable_encoder (
@@ -215,22 +221,25 @@ async def audio_isolation(
215221 else self ._client_wrapper .get_timeout (),
216222 retries = 0 ,
217223 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
218- )
219- if 200 <= _response .status_code < 300 :
220- return typing .cast (AudioIsolationResponseModel , construct_type (type_ = AudioIsolationResponseModel , object_ = _response .json ())) # type: ignore
221- if _response .status_code == 422 :
222- raise UnprocessableEntityError (
223- typing .cast (HttpValidationError , construct_type (type_ = HttpValidationError , object_ = _response .json ())) # type: ignore
224- )
225- try :
226- _response_json = _response .json ()
227- except JSONDecodeError :
228- raise ApiError (status_code = _response .status_code , body = _response .text )
229- raise ApiError (status_code = _response .status_code , body = _response_json )
224+ ) as _response :
225+ if 200 <= _response .status_code < 300 :
226+ async for _chunk in _response .aiter_bytes ():
227+ yield _chunk
228+ return
229+ await _response .aread ()
230+ if _response .status_code == 422 :
231+ raise UnprocessableEntityError (
232+ typing .cast (HttpValidationError , construct_type (type_ = HttpValidationError , object_ = _response .json ())) # type: ignore
233+ )
234+ try :
235+ _response_json = _response .json ()
236+ except JSONDecodeError :
237+ raise ApiError (status_code = _response .status_code , body = _response .text )
238+ raise ApiError (status_code = _response .status_code , body = _response_json )
230239
231240 async def audio_isolation_stream (
232241 self , * , audio : core .File , request_options : typing .Optional [RequestOptions ] = None
233- ) -> None :
242+ ) -> typing . AsyncIterator [ bytes ] :
234243 """
235244 Removes background noise from audio and streams the result
236245
@@ -242,9 +251,10 @@ async def audio_isolation_stream(
242251 request_options : typing.Optional[RequestOptions]
243252 Request-specific configuration.
244253
245- Returns
246- -------
247- None
254+ Yields
255+ ------
256+ typing.AsyncIterator[bytes]
257+ Successful Response
248258
249259 Examples
250260 --------
@@ -255,7 +265,7 @@ async def audio_isolation_stream(
255265 )
256266 await client.audio_isolation.audio_isolation_stream()
257267 """
258- _response = await self ._client_wrapper .httpx_client .request (
268+ async with self ._client_wrapper .httpx_client .stream (
259269 method = "POST" ,
260270 url = urllib .parse .urljoin (f"{ self ._client_wrapper .get_base_url ()} /" , "v1/audio-isolation/stream" ),
261271 params = jsonable_encoder (
@@ -281,15 +291,18 @@ async def audio_isolation_stream(
281291 else self ._client_wrapper .get_timeout (),
282292 retries = 0 ,
283293 max_retries = request_options .get ("max_retries" ) if request_options is not None else 0 , # type: ignore
284- )
285- if 200 <= _response .status_code < 300 :
286- return
287- if _response .status_code == 422 :
288- raise UnprocessableEntityError (
289- typing .cast (HttpValidationError , construct_type (type_ = HttpValidationError , object_ = _response .json ())) # type: ignore
290- )
291- try :
292- _response_json = _response .json ()
293- except JSONDecodeError :
294- raise ApiError (status_code = _response .status_code , body = _response .text )
295- raise ApiError (status_code = _response .status_code , body = _response_json )
294+ ) as _response :
295+ if 200 <= _response .status_code < 300 :
296+ async for _chunk in _response .aiter_bytes ():
297+ yield _chunk
298+ return
299+ await _response .aread ()
300+ if _response .status_code == 422 :
301+ raise UnprocessableEntityError (
302+ typing .cast (HttpValidationError , construct_type (type_ = HttpValidationError , object_ = _response .json ())) # type: ignore
303+ )
304+ try :
305+ _response_json = _response .json ()
306+ except JSONDecodeError :
307+ raise ApiError (status_code = _response .status_code , body = _response .text )
308+ raise ApiError (status_code = _response .status_code , body = _response_json )
0 commit comments