imageseg-20191230/alibabacloud_imageseg20191230/client.py (3,537 lines of code) (raw):

# -*- coding: utf-8 -*- # This file is auto-generated, don't edit it. Thanks. from typing import Dict from Tea.core import TeaCore from alibabacloud_tea_openapi.client import Client as OpenApiClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_tea_util.client import Client as UtilClient from alibabacloud_endpoint_util.client import Client as EndpointUtilClient from alibabacloud_imageseg20191230 import models as imageseg_20191230_models from alibabacloud_tea_util import models as util_models from alibabacloud_openapi_util.client import Client as OpenApiUtilClient from alibabacloud_openplatform20191219.client import Client as OpenPlatformClient from alibabacloud_openplatform20191219 import models as open_platform_models from alibabacloud_oss_sdk import models as oss_models from alibabacloud_oss_sdk.client import Client as OSSClient from alibabacloud_tea_fileform import models as file_form_models from alibabacloud_oss_util import models as ossutil_models class Client(OpenApiClient): """ *\ """ def __init__( self, config: open_api_models.Config, ): super().__init__(config) self._endpoint_rule = 'regional' self.check_config(config) self._endpoint = self.get_endpoint('imageseg', self._region_id, self._endpoint_rule, self._network, self._suffix, self._endpoint_map, self._endpoint) def get_endpoint( self, product_id: str, region_id: str, endpoint_rule: str, network: str, suffix: str, endpoint_map: Dict[str, str], endpoint: str, ) -> str: if not UtilClient.empty(endpoint): return endpoint if not UtilClient.is_unset(endpoint_map) and not UtilClient.empty(endpoint_map.get(region_id)): return endpoint_map.get(region_id) return EndpointUtilClient.get_endpoint_rules(product_id, region_id, endpoint_rule, network, suffix) def change_sky_with_options( self, request: imageseg_20191230_models.ChangeSkyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.ChangeSkyResponse: """ @param request: ChangeSkyRequest @param runtime: runtime options for this request RuntimeOptions @return: ChangeSkyResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.replace_image_url): query['ReplaceImageURL'] = request.replace_image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='ChangeSky', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.ChangeSkyResponse(), self.call_api(params, req, runtime) ) async def change_sky_with_options_async( self, request: imageseg_20191230_models.ChangeSkyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.ChangeSkyResponse: """ @param request: ChangeSkyRequest @param runtime: runtime options for this request RuntimeOptions @return: ChangeSkyResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.replace_image_url): query['ReplaceImageURL'] = request.replace_image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='ChangeSky', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.ChangeSkyResponse(), await self.call_api_async(params, req, runtime) ) def change_sky( self, request: imageseg_20191230_models.ChangeSkyRequest, ) -> imageseg_20191230_models.ChangeSkyResponse: """ @param request: ChangeSkyRequest @return: ChangeSkyResponse """ runtime = util_models.RuntimeOptions() return self.change_sky_with_options(request, runtime) async def change_sky_async( self, request: imageseg_20191230_models.ChangeSkyRequest, ) -> imageseg_20191230_models.ChangeSkyResponse: """ @param request: ChangeSkyRequest @return: ChangeSkyResponse """ runtime = util_models.RuntimeOptions() return await self.change_sky_with_options_async(request, runtime) def change_sky_advance( self, request: imageseg_20191230_models.ChangeSkyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.ChangeSkyResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) change_sky_req = imageseg_20191230_models.ChangeSkyRequest() OpenApiUtilClient.convert(request, change_sky_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) change_sky_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' if not UtilClient.is_unset(request.replace_image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.replace_image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) change_sky_req.replace_image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' change_sky_resp = self.change_sky_with_options(change_sky_req, runtime) return change_sky_resp async def change_sky_advance_async( self, request: imageseg_20191230_models.ChangeSkyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.ChangeSkyResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) change_sky_req = imageseg_20191230_models.ChangeSkyRequest() OpenApiUtilClient.convert(request, change_sky_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) change_sky_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' if not UtilClient.is_unset(request.replace_image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.replace_image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) change_sky_req.replace_image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' change_sky_resp = await self.change_sky_with_options_async(change_sky_req, runtime) return change_sky_resp def get_async_job_result_with_options( self, request: imageseg_20191230_models.GetAsyncJobResultRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.GetAsyncJobResultResponse: """ @param request: GetAsyncJobResultRequest @param runtime: runtime options for this request RuntimeOptions @return: GetAsyncJobResultResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.job_id): body['JobId'] = request.job_id req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='GetAsyncJobResult', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.GetAsyncJobResultResponse(), self.call_api(params, req, runtime) ) async def get_async_job_result_with_options_async( self, request: imageseg_20191230_models.GetAsyncJobResultRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.GetAsyncJobResultResponse: """ @param request: GetAsyncJobResultRequest @param runtime: runtime options for this request RuntimeOptions @return: GetAsyncJobResultResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.job_id): body['JobId'] = request.job_id req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='GetAsyncJobResult', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.GetAsyncJobResultResponse(), await self.call_api_async(params, req, runtime) ) def get_async_job_result( self, request: imageseg_20191230_models.GetAsyncJobResultRequest, ) -> imageseg_20191230_models.GetAsyncJobResultResponse: """ @param request: GetAsyncJobResultRequest @return: GetAsyncJobResultResponse """ runtime = util_models.RuntimeOptions() return self.get_async_job_result_with_options(request, runtime) async def get_async_job_result_async( self, request: imageseg_20191230_models.GetAsyncJobResultRequest, ) -> imageseg_20191230_models.GetAsyncJobResultResponse: """ @param request: GetAsyncJobResultRequest @return: GetAsyncJobResultResponse """ runtime = util_models.RuntimeOptions() return await self.get_async_job_result_with_options_async(request, runtime) def parse_face_with_options( self, request: imageseg_20191230_models.ParseFaceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.ParseFaceResponse: """ @param request: ParseFaceRequest @param runtime: runtime options for this request RuntimeOptions @return: ParseFaceResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='ParseFace', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.ParseFaceResponse(), self.call_api(params, req, runtime) ) async def parse_face_with_options_async( self, request: imageseg_20191230_models.ParseFaceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.ParseFaceResponse: """ @param request: ParseFaceRequest @param runtime: runtime options for this request RuntimeOptions @return: ParseFaceResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='ParseFace', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.ParseFaceResponse(), await self.call_api_async(params, req, runtime) ) def parse_face( self, request: imageseg_20191230_models.ParseFaceRequest, ) -> imageseg_20191230_models.ParseFaceResponse: """ @param request: ParseFaceRequest @return: ParseFaceResponse """ runtime = util_models.RuntimeOptions() return self.parse_face_with_options(request, runtime) async def parse_face_async( self, request: imageseg_20191230_models.ParseFaceRequest, ) -> imageseg_20191230_models.ParseFaceResponse: """ @param request: ParseFaceRequest @return: ParseFaceResponse """ runtime = util_models.RuntimeOptions() return await self.parse_face_with_options_async(request, runtime) def parse_face_advance( self, request: imageseg_20191230_models.ParseFaceAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.ParseFaceResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) parse_face_req = imageseg_20191230_models.ParseFaceRequest() OpenApiUtilClient.convert(request, parse_face_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) parse_face_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' parse_face_resp = self.parse_face_with_options(parse_face_req, runtime) return parse_face_resp async def parse_face_advance_async( self, request: imageseg_20191230_models.ParseFaceAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.ParseFaceResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) parse_face_req = imageseg_20191230_models.ParseFaceRequest() OpenApiUtilClient.convert(request, parse_face_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) parse_face_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' parse_face_resp = await self.parse_face_with_options_async(parse_face_req, runtime) return parse_face_resp def refine_mask_with_options( self, request: imageseg_20191230_models.RefineMaskRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.RefineMaskResponse: """ @param request: RefineMaskRequest @param runtime: runtime options for this request RuntimeOptions @return: RefineMaskResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.image_url): body['ImageURL'] = request.image_url if not UtilClient.is_unset(request.mask_image_url): body['MaskImageURL'] = request.mask_image_url req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='RefineMask', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.RefineMaskResponse(), self.call_api(params, req, runtime) ) async def refine_mask_with_options_async( self, request: imageseg_20191230_models.RefineMaskRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.RefineMaskResponse: """ @param request: RefineMaskRequest @param runtime: runtime options for this request RuntimeOptions @return: RefineMaskResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.image_url): body['ImageURL'] = request.image_url if not UtilClient.is_unset(request.mask_image_url): body['MaskImageURL'] = request.mask_image_url req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='RefineMask', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.RefineMaskResponse(), await self.call_api_async(params, req, runtime) ) def refine_mask( self, request: imageseg_20191230_models.RefineMaskRequest, ) -> imageseg_20191230_models.RefineMaskResponse: """ @param request: RefineMaskRequest @return: RefineMaskResponse """ runtime = util_models.RuntimeOptions() return self.refine_mask_with_options(request, runtime) async def refine_mask_async( self, request: imageseg_20191230_models.RefineMaskRequest, ) -> imageseg_20191230_models.RefineMaskResponse: """ @param request: RefineMaskRequest @return: RefineMaskResponse """ runtime = util_models.RuntimeOptions() return await self.refine_mask_with_options_async(request, runtime) def refine_mask_advance( self, request: imageseg_20191230_models.RefineMaskAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.RefineMaskResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) refine_mask_req = imageseg_20191230_models.RefineMaskRequest() OpenApiUtilClient.convert(request, refine_mask_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) refine_mask_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' if not UtilClient.is_unset(request.mask_image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.mask_image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) refine_mask_req.mask_image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' refine_mask_resp = self.refine_mask_with_options(refine_mask_req, runtime) return refine_mask_resp async def refine_mask_advance_async( self, request: imageseg_20191230_models.RefineMaskAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.RefineMaskResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) refine_mask_req = imageseg_20191230_models.RefineMaskRequest() OpenApiUtilClient.convert(request, refine_mask_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) refine_mask_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' if not UtilClient.is_unset(request.mask_image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.mask_image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) refine_mask_req.mask_image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' refine_mask_resp = await self.refine_mask_with_options_async(refine_mask_req, runtime) return refine_mask_resp def segment_body_with_options( self, request: imageseg_20191230_models.SegmentBodyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentBodyResponse: """ @param request: SegmentBodyRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentBodyResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentBody', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentBodyResponse(), self.call_api(params, req, runtime) ) async def segment_body_with_options_async( self, request: imageseg_20191230_models.SegmentBodyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentBodyResponse: """ @param request: SegmentBodyRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentBodyResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentBody', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentBodyResponse(), await self.call_api_async(params, req, runtime) ) def segment_body( self, request: imageseg_20191230_models.SegmentBodyRequest, ) -> imageseg_20191230_models.SegmentBodyResponse: """ @param request: SegmentBodyRequest @return: SegmentBodyResponse """ runtime = util_models.RuntimeOptions() return self.segment_body_with_options(request, runtime) async def segment_body_async( self, request: imageseg_20191230_models.SegmentBodyRequest, ) -> imageseg_20191230_models.SegmentBodyResponse: """ @param request: SegmentBodyRequest @return: SegmentBodyResponse """ runtime = util_models.RuntimeOptions() return await self.segment_body_with_options_async(request, runtime) def segment_body_advance( self, request: imageseg_20191230_models.SegmentBodyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentBodyResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_body_req = imageseg_20191230_models.SegmentBodyRequest() OpenApiUtilClient.convert(request, segment_body_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_body_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_body_resp = self.segment_body_with_options(segment_body_req, runtime) return segment_body_resp async def segment_body_advance_async( self, request: imageseg_20191230_models.SegmentBodyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentBodyResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_body_req = imageseg_20191230_models.SegmentBodyRequest() OpenApiUtilClient.convert(request, segment_body_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_body_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_body_resp = await self.segment_body_with_options_async(segment_body_req, runtime) return segment_body_resp def segment_cloth_with_options( self, request: imageseg_20191230_models.SegmentClothRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentClothResponse: """ @param request: SegmentClothRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentClothResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.cloth_class): query['ClothClass'] = request.cloth_class if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.out_mode): query['OutMode'] = request.out_mode if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentCloth', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentClothResponse(), self.call_api(params, req, runtime) ) async def segment_cloth_with_options_async( self, request: imageseg_20191230_models.SegmentClothRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentClothResponse: """ @param request: SegmentClothRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentClothResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.cloth_class): query['ClothClass'] = request.cloth_class if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.out_mode): query['OutMode'] = request.out_mode if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentCloth', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentClothResponse(), await self.call_api_async(params, req, runtime) ) def segment_cloth( self, request: imageseg_20191230_models.SegmentClothRequest, ) -> imageseg_20191230_models.SegmentClothResponse: """ @param request: SegmentClothRequest @return: SegmentClothResponse """ runtime = util_models.RuntimeOptions() return self.segment_cloth_with_options(request, runtime) async def segment_cloth_async( self, request: imageseg_20191230_models.SegmentClothRequest, ) -> imageseg_20191230_models.SegmentClothResponse: """ @param request: SegmentClothRequest @return: SegmentClothResponse """ runtime = util_models.RuntimeOptions() return await self.segment_cloth_with_options_async(request, runtime) def segment_cloth_advance( self, request: imageseg_20191230_models.SegmentClothAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentClothResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_cloth_req = imageseg_20191230_models.SegmentClothRequest() OpenApiUtilClient.convert(request, segment_cloth_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_cloth_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_cloth_resp = self.segment_cloth_with_options(segment_cloth_req, runtime) return segment_cloth_resp async def segment_cloth_advance_async( self, request: imageseg_20191230_models.SegmentClothAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentClothResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_cloth_req = imageseg_20191230_models.SegmentClothRequest() OpenApiUtilClient.convert(request, segment_cloth_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_cloth_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_cloth_resp = await self.segment_cloth_with_options_async(segment_cloth_req, runtime) return segment_cloth_resp def segment_commodity_with_options( self, request: imageseg_20191230_models.SegmentCommodityRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentCommodityResponse: """ @param request: SegmentCommodityRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentCommodityResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentCommodity', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentCommodityResponse(), self.call_api(params, req, runtime) ) async def segment_commodity_with_options_async( self, request: imageseg_20191230_models.SegmentCommodityRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentCommodityResponse: """ @param request: SegmentCommodityRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentCommodityResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentCommodity', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentCommodityResponse(), await self.call_api_async(params, req, runtime) ) def segment_commodity( self, request: imageseg_20191230_models.SegmentCommodityRequest, ) -> imageseg_20191230_models.SegmentCommodityResponse: """ @param request: SegmentCommodityRequest @return: SegmentCommodityResponse """ runtime = util_models.RuntimeOptions() return self.segment_commodity_with_options(request, runtime) async def segment_commodity_async( self, request: imageseg_20191230_models.SegmentCommodityRequest, ) -> imageseg_20191230_models.SegmentCommodityResponse: """ @param request: SegmentCommodityRequest @return: SegmentCommodityResponse """ runtime = util_models.RuntimeOptions() return await self.segment_commodity_with_options_async(request, runtime) def segment_commodity_advance( self, request: imageseg_20191230_models.SegmentCommodityAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentCommodityResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_commodity_req = imageseg_20191230_models.SegmentCommodityRequest() OpenApiUtilClient.convert(request, segment_commodity_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_commodity_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_commodity_resp = self.segment_commodity_with_options(segment_commodity_req, runtime) return segment_commodity_resp async def segment_commodity_advance_async( self, request: imageseg_20191230_models.SegmentCommodityAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentCommodityResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_commodity_req = imageseg_20191230_models.SegmentCommodityRequest() OpenApiUtilClient.convert(request, segment_commodity_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_commodity_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_commodity_resp = await self.segment_commodity_with_options_async(segment_commodity_req, runtime) return segment_commodity_resp def segment_common_image_with_options( self, request: imageseg_20191230_models.SegmentCommonImageRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentCommonImageResponse: """ @param request: SegmentCommonImageRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentCommonImageResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentCommonImage', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentCommonImageResponse(), self.call_api(params, req, runtime) ) async def segment_common_image_with_options_async( self, request: imageseg_20191230_models.SegmentCommonImageRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentCommonImageResponse: """ @param request: SegmentCommonImageRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentCommonImageResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentCommonImage', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentCommonImageResponse(), await self.call_api_async(params, req, runtime) ) def segment_common_image( self, request: imageseg_20191230_models.SegmentCommonImageRequest, ) -> imageseg_20191230_models.SegmentCommonImageResponse: """ @param request: SegmentCommonImageRequest @return: SegmentCommonImageResponse """ runtime = util_models.RuntimeOptions() return self.segment_common_image_with_options(request, runtime) async def segment_common_image_async( self, request: imageseg_20191230_models.SegmentCommonImageRequest, ) -> imageseg_20191230_models.SegmentCommonImageResponse: """ @param request: SegmentCommonImageRequest @return: SegmentCommonImageResponse """ runtime = util_models.RuntimeOptions() return await self.segment_common_image_with_options_async(request, runtime) def segment_common_image_advance( self, request: imageseg_20191230_models.SegmentCommonImageAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentCommonImageResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_common_image_req = imageseg_20191230_models.SegmentCommonImageRequest() OpenApiUtilClient.convert(request, segment_common_image_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_common_image_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_common_image_resp = self.segment_common_image_with_options(segment_common_image_req, runtime) return segment_common_image_resp async def segment_common_image_advance_async( self, request: imageseg_20191230_models.SegmentCommonImageAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentCommonImageResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_common_image_req = imageseg_20191230_models.SegmentCommonImageRequest() OpenApiUtilClient.convert(request, segment_common_image_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_common_image_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_common_image_resp = await self.segment_common_image_with_options_async(segment_common_image_req, runtime) return segment_common_image_resp def segment_food_with_options( self, request: imageseg_20191230_models.SegmentFoodRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentFoodResponse: """ @param request: SegmentFoodRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentFoodResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentFood', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentFoodResponse(), self.call_api(params, req, runtime) ) async def segment_food_with_options_async( self, request: imageseg_20191230_models.SegmentFoodRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentFoodResponse: """ @param request: SegmentFoodRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentFoodResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentFood', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentFoodResponse(), await self.call_api_async(params, req, runtime) ) def segment_food( self, request: imageseg_20191230_models.SegmentFoodRequest, ) -> imageseg_20191230_models.SegmentFoodResponse: """ @param request: SegmentFoodRequest @return: SegmentFoodResponse """ runtime = util_models.RuntimeOptions() return self.segment_food_with_options(request, runtime) async def segment_food_async( self, request: imageseg_20191230_models.SegmentFoodRequest, ) -> imageseg_20191230_models.SegmentFoodResponse: """ @param request: SegmentFoodRequest @return: SegmentFoodResponse """ runtime = util_models.RuntimeOptions() return await self.segment_food_with_options_async(request, runtime) def segment_food_advance( self, request: imageseg_20191230_models.SegmentFoodAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentFoodResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_food_req = imageseg_20191230_models.SegmentFoodRequest() OpenApiUtilClient.convert(request, segment_food_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_food_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_food_resp = self.segment_food_with_options(segment_food_req, runtime) return segment_food_resp async def segment_food_advance_async( self, request: imageseg_20191230_models.SegmentFoodAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentFoodResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_food_req = imageseg_20191230_models.SegmentFoodRequest() OpenApiUtilClient.convert(request, segment_food_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_food_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_food_resp = await self.segment_food_with_options_async(segment_food_req, runtime) return segment_food_resp def segment_hdbody_with_options( self, request: imageseg_20191230_models.SegmentHDBodyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDBodyResponse: """ @param request: SegmentHDBodyRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHDBodyResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentHDBody', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHDBodyResponse(), self.call_api(params, req, runtime) ) async def segment_hdbody_with_options_async( self, request: imageseg_20191230_models.SegmentHDBodyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDBodyResponse: """ @param request: SegmentHDBodyRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHDBodyResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentHDBody', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHDBodyResponse(), await self.call_api_async(params, req, runtime) ) def segment_hdbody( self, request: imageseg_20191230_models.SegmentHDBodyRequest, ) -> imageseg_20191230_models.SegmentHDBodyResponse: """ @param request: SegmentHDBodyRequest @return: SegmentHDBodyResponse """ runtime = util_models.RuntimeOptions() return self.segment_hdbody_with_options(request, runtime) async def segment_hdbody_async( self, request: imageseg_20191230_models.SegmentHDBodyRequest, ) -> imageseg_20191230_models.SegmentHDBodyResponse: """ @param request: SegmentHDBodyRequest @return: SegmentHDBodyResponse """ runtime = util_models.RuntimeOptions() return await self.segment_hdbody_with_options_async(request, runtime) def segment_hdbody_advance( self, request: imageseg_20191230_models.SegmentHDBodyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDBodyResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_hdbody_req = imageseg_20191230_models.SegmentHDBodyRequest() OpenApiUtilClient.convert(request, segment_hdbody_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_hdbody_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_hdbody_resp = self.segment_hdbody_with_options(segment_hdbody_req, runtime) return segment_hdbody_resp async def segment_hdbody_advance_async( self, request: imageseg_20191230_models.SegmentHDBodyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDBodyResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_hdbody_req = imageseg_20191230_models.SegmentHDBodyRequest() OpenApiUtilClient.convert(request, segment_hdbody_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_hdbody_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_hdbody_resp = await self.segment_hdbody_with_options_async(segment_hdbody_req, runtime) return segment_hdbody_resp def segment_hdcommon_image_with_options( self, request: imageseg_20191230_models.SegmentHDCommonImageRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDCommonImageResponse: """ @param request: SegmentHDCommonImageRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHDCommonImageResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.image_url): body['ImageUrl'] = request.image_url req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='SegmentHDCommonImage', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHDCommonImageResponse(), self.call_api(params, req, runtime) ) async def segment_hdcommon_image_with_options_async( self, request: imageseg_20191230_models.SegmentHDCommonImageRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDCommonImageResponse: """ @param request: SegmentHDCommonImageRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHDCommonImageResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.image_url): body['ImageUrl'] = request.image_url req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='SegmentHDCommonImage', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHDCommonImageResponse(), await self.call_api_async(params, req, runtime) ) def segment_hdcommon_image( self, request: imageseg_20191230_models.SegmentHDCommonImageRequest, ) -> imageseg_20191230_models.SegmentHDCommonImageResponse: """ @param request: SegmentHDCommonImageRequest @return: SegmentHDCommonImageResponse """ runtime = util_models.RuntimeOptions() return self.segment_hdcommon_image_with_options(request, runtime) async def segment_hdcommon_image_async( self, request: imageseg_20191230_models.SegmentHDCommonImageRequest, ) -> imageseg_20191230_models.SegmentHDCommonImageResponse: """ @param request: SegmentHDCommonImageRequest @return: SegmentHDCommonImageResponse """ runtime = util_models.RuntimeOptions() return await self.segment_hdcommon_image_with_options_async(request, runtime) def segment_hdcommon_image_advance( self, request: imageseg_20191230_models.SegmentHDCommonImageAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDCommonImageResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_hdcommon_image_req = imageseg_20191230_models.SegmentHDCommonImageRequest() OpenApiUtilClient.convert(request, segment_hdcommon_image_req) if not UtilClient.is_unset(request.image_url_object): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_url_object, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_hdcommon_image_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_hdcommon_image_resp = self.segment_hdcommon_image_with_options(segment_hdcommon_image_req, runtime) return segment_hdcommon_image_resp async def segment_hdcommon_image_advance_async( self, request: imageseg_20191230_models.SegmentHDCommonImageAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDCommonImageResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_hdcommon_image_req = imageseg_20191230_models.SegmentHDCommonImageRequest() OpenApiUtilClient.convert(request, segment_hdcommon_image_req) if not UtilClient.is_unset(request.image_url_object): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_url_object, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_hdcommon_image_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_hdcommon_image_resp = await self.segment_hdcommon_image_with_options_async(segment_hdcommon_image_req, runtime) return segment_hdcommon_image_resp def segment_hdsky_with_options( self, request: imageseg_20191230_models.SegmentHDSkyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDSkyResponse: """ @param request: SegmentHDSkyRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHDSkyResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.image_url): body['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='SegmentHDSky', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHDSkyResponse(), self.call_api(params, req, runtime) ) async def segment_hdsky_with_options_async( self, request: imageseg_20191230_models.SegmentHDSkyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDSkyResponse: """ @param request: SegmentHDSkyRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHDSkyResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.image_url): body['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='SegmentHDSky', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHDSkyResponse(), await self.call_api_async(params, req, runtime) ) def segment_hdsky( self, request: imageseg_20191230_models.SegmentHDSkyRequest, ) -> imageseg_20191230_models.SegmentHDSkyResponse: """ @param request: SegmentHDSkyRequest @return: SegmentHDSkyResponse """ runtime = util_models.RuntimeOptions() return self.segment_hdsky_with_options(request, runtime) async def segment_hdsky_async( self, request: imageseg_20191230_models.SegmentHDSkyRequest, ) -> imageseg_20191230_models.SegmentHDSkyResponse: """ @param request: SegmentHDSkyRequest @return: SegmentHDSkyResponse """ runtime = util_models.RuntimeOptions() return await self.segment_hdsky_with_options_async(request, runtime) def segment_hdsky_advance( self, request: imageseg_20191230_models.SegmentHDSkyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDSkyResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_hdsky_req = imageseg_20191230_models.SegmentHDSkyRequest() OpenApiUtilClient.convert(request, segment_hdsky_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_hdsky_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_hdsky_resp = self.segment_hdsky_with_options(segment_hdsky_req, runtime) return segment_hdsky_resp async def segment_hdsky_advance_async( self, request: imageseg_20191230_models.SegmentHDSkyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHDSkyResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_hdsky_req = imageseg_20191230_models.SegmentHDSkyRequest() OpenApiUtilClient.convert(request, segment_hdsky_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_hdsky_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_hdsky_resp = await self.segment_hdsky_with_options_async(segment_hdsky_req, runtime) return segment_hdsky_resp def segment_hair_with_options( self, request: imageseg_20191230_models.SegmentHairRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHairResponse: """ @param request: SegmentHairRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHairResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentHair', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHairResponse(), self.call_api(params, req, runtime) ) async def segment_hair_with_options_async( self, request: imageseg_20191230_models.SegmentHairRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHairResponse: """ @param request: SegmentHairRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHairResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentHair', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHairResponse(), await self.call_api_async(params, req, runtime) ) def segment_hair( self, request: imageseg_20191230_models.SegmentHairRequest, ) -> imageseg_20191230_models.SegmentHairResponse: """ @param request: SegmentHairRequest @return: SegmentHairResponse """ runtime = util_models.RuntimeOptions() return self.segment_hair_with_options(request, runtime) async def segment_hair_async( self, request: imageseg_20191230_models.SegmentHairRequest, ) -> imageseg_20191230_models.SegmentHairResponse: """ @param request: SegmentHairRequest @return: SegmentHairResponse """ runtime = util_models.RuntimeOptions() return await self.segment_hair_with_options_async(request, runtime) def segment_hair_advance( self, request: imageseg_20191230_models.SegmentHairAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHairResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_hair_req = imageseg_20191230_models.SegmentHairRequest() OpenApiUtilClient.convert(request, segment_hair_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_hair_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_hair_resp = self.segment_hair_with_options(segment_hair_req, runtime) return segment_hair_resp async def segment_hair_advance_async( self, request: imageseg_20191230_models.SegmentHairAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHairResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_hair_req = imageseg_20191230_models.SegmentHairRequest() OpenApiUtilClient.convert(request, segment_hair_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_hair_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_hair_resp = await self.segment_hair_with_options_async(segment_hair_req, runtime) return segment_hair_resp def segment_head_with_options( self, request: imageseg_20191230_models.SegmentHeadRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHeadResponse: """ @param request: SegmentHeadRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHeadResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentHead', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHeadResponse(), self.call_api(params, req, runtime) ) async def segment_head_with_options_async( self, request: imageseg_20191230_models.SegmentHeadRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHeadResponse: """ @param request: SegmentHeadRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentHeadResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url if not UtilClient.is_unset(request.return_form): query['ReturnForm'] = request.return_form req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentHead', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentHeadResponse(), await self.call_api_async(params, req, runtime) ) def segment_head( self, request: imageseg_20191230_models.SegmentHeadRequest, ) -> imageseg_20191230_models.SegmentHeadResponse: """ @param request: SegmentHeadRequest @return: SegmentHeadResponse """ runtime = util_models.RuntimeOptions() return self.segment_head_with_options(request, runtime) async def segment_head_async( self, request: imageseg_20191230_models.SegmentHeadRequest, ) -> imageseg_20191230_models.SegmentHeadResponse: """ @param request: SegmentHeadRequest @return: SegmentHeadResponse """ runtime = util_models.RuntimeOptions() return await self.segment_head_with_options_async(request, runtime) def segment_head_advance( self, request: imageseg_20191230_models.SegmentHeadAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHeadResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_head_req = imageseg_20191230_models.SegmentHeadRequest() OpenApiUtilClient.convert(request, segment_head_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_head_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_head_resp = self.segment_head_with_options(segment_head_req, runtime) return segment_head_resp async def segment_head_advance_async( self, request: imageseg_20191230_models.SegmentHeadAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentHeadResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_head_req = imageseg_20191230_models.SegmentHeadRequest() OpenApiUtilClient.convert(request, segment_head_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_head_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_head_resp = await self.segment_head_with_options_async(segment_head_req, runtime) return segment_head_resp def segment_scene_with_options( self, request: imageseg_20191230_models.SegmentSceneRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSceneResponse: """ @param request: SegmentSceneRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentSceneResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentScene', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentSceneResponse(), self.call_api(params, req, runtime) ) async def segment_scene_with_options_async( self, request: imageseg_20191230_models.SegmentSceneRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSceneResponse: """ @param request: SegmentSceneRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentSceneResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentScene', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentSceneResponse(), await self.call_api_async(params, req, runtime) ) def segment_scene( self, request: imageseg_20191230_models.SegmentSceneRequest, ) -> imageseg_20191230_models.SegmentSceneResponse: """ @param request: SegmentSceneRequest @return: SegmentSceneResponse """ runtime = util_models.RuntimeOptions() return self.segment_scene_with_options(request, runtime) async def segment_scene_async( self, request: imageseg_20191230_models.SegmentSceneRequest, ) -> imageseg_20191230_models.SegmentSceneResponse: """ @param request: SegmentSceneRequest @return: SegmentSceneResponse """ runtime = util_models.RuntimeOptions() return await self.segment_scene_with_options_async(request, runtime) def segment_scene_advance( self, request: imageseg_20191230_models.SegmentSceneAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSceneResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_scene_req = imageseg_20191230_models.SegmentSceneRequest() OpenApiUtilClient.convert(request, segment_scene_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_scene_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_scene_resp = self.segment_scene_with_options(segment_scene_req, runtime) return segment_scene_resp async def segment_scene_advance_async( self, request: imageseg_20191230_models.SegmentSceneAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSceneResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_scene_req = imageseg_20191230_models.SegmentSceneRequest() OpenApiUtilClient.convert(request, segment_scene_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_scene_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_scene_resp = await self.segment_scene_with_options_async(segment_scene_req, runtime) return segment_scene_resp def segment_skin_with_options( self, request: imageseg_20191230_models.SegmentSkinRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSkinResponse: """ @param request: SegmentSkinRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentSkinResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.url): body['URL'] = request.url req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='SegmentSkin', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentSkinResponse(), self.call_api(params, req, runtime) ) async def segment_skin_with_options_async( self, request: imageseg_20191230_models.SegmentSkinRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSkinResponse: """ @param request: SegmentSkinRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentSkinResponse """ UtilClient.validate_model(request) body = {} if not UtilClient.is_unset(request.url): body['URL'] = request.url req = open_api_models.OpenApiRequest( body=OpenApiUtilClient.parse_to_map(body) ) params = open_api_models.Params( action='SegmentSkin', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentSkinResponse(), await self.call_api_async(params, req, runtime) ) def segment_skin( self, request: imageseg_20191230_models.SegmentSkinRequest, ) -> imageseg_20191230_models.SegmentSkinResponse: """ @param request: SegmentSkinRequest @return: SegmentSkinResponse """ runtime = util_models.RuntimeOptions() return self.segment_skin_with_options(request, runtime) async def segment_skin_async( self, request: imageseg_20191230_models.SegmentSkinRequest, ) -> imageseg_20191230_models.SegmentSkinResponse: """ @param request: SegmentSkinRequest @return: SegmentSkinResponse """ runtime = util_models.RuntimeOptions() return await self.segment_skin_with_options_async(request, runtime) def segment_skin_advance( self, request: imageseg_20191230_models.SegmentSkinAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSkinResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_skin_req = imageseg_20191230_models.SegmentSkinRequest() OpenApiUtilClient.convert(request, segment_skin_req) if not UtilClient.is_unset(request.urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_skin_req.url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_skin_resp = self.segment_skin_with_options(segment_skin_req, runtime) return segment_skin_resp async def segment_skin_advance_async( self, request: imageseg_20191230_models.SegmentSkinAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSkinResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_skin_req = imageseg_20191230_models.SegmentSkinRequest() OpenApiUtilClient.convert(request, segment_skin_req) if not UtilClient.is_unset(request.urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_skin_req.url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_skin_resp = await self.segment_skin_with_options_async(segment_skin_req, runtime) return segment_skin_resp def segment_sky_with_options( self, request: imageseg_20191230_models.SegmentSkyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSkyResponse: """ @param request: SegmentSkyRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentSkyResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentSky', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentSkyResponse(), self.call_api(params, req, runtime) ) async def segment_sky_with_options_async( self, request: imageseg_20191230_models.SegmentSkyRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSkyResponse: """ @param request: SegmentSkyRequest @param runtime: runtime options for this request RuntimeOptions @return: SegmentSkyResponse """ UtilClient.validate_model(request) query = {} if not UtilClient.is_unset(request.image_url): query['ImageURL'] = request.image_url req = open_api_models.OpenApiRequest( query=OpenApiUtilClient.query(query) ) params = open_api_models.Params( action='SegmentSky', version='2019-12-30', protocol='HTTPS', pathname='/', method='POST', auth_type='AK', style='RPC', req_body_type='formData', body_type='json' ) return TeaCore.from_map( imageseg_20191230_models.SegmentSkyResponse(), await self.call_api_async(params, req, runtime) ) def segment_sky( self, request: imageseg_20191230_models.SegmentSkyRequest, ) -> imageseg_20191230_models.SegmentSkyResponse: """ @param request: SegmentSkyRequest @return: SegmentSkyResponse """ runtime = util_models.RuntimeOptions() return self.segment_sky_with_options(request, runtime) async def segment_sky_async( self, request: imageseg_20191230_models.SegmentSkyRequest, ) -> imageseg_20191230_models.SegmentSkyResponse: """ @param request: SegmentSkyRequest @return: SegmentSkyResponse """ runtime = util_models.RuntimeOptions() return await self.segment_sky_with_options_async(request, runtime) def segment_sky_advance( self, request: imageseg_20191230_models.SegmentSkyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSkyResponse: # Step 0: init client access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() security_token = self._credential.get_security_token() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_sky_req = imageseg_20191230_models.SegmentSkyRequest() OpenApiUtilClient.convert(request, segment_sky_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = auth_client.authorize_file_upload_with_options(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) oss_client.post_object(upload_request, oss_runtime) segment_sky_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_sky_resp = self.segment_sky_with_options(segment_sky_req, runtime) return segment_sky_resp async def segment_sky_advance_async( self, request: imageseg_20191230_models.SegmentSkyAdvanceRequest, runtime: util_models.RuntimeOptions, ) -> imageseg_20191230_models.SegmentSkyResponse: # Step 0: init client access_key_id = await self._credential.get_access_key_id_async() access_key_secret = await self._credential.get_access_key_secret_async() security_token = await self._credential.get_security_token_async() credential_type = self._credential.get_type() open_platform_endpoint = self._open_platform_endpoint if UtilClient.empty(open_platform_endpoint): open_platform_endpoint = 'openplatform.aliyuncs.com' if UtilClient.is_unset(credential_type): credential_type = 'access_key' auth_config = open_api_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=security_token, type=credential_type, endpoint=open_platform_endpoint, protocol=self._protocol, region_id=self._region_id ) auth_client = OpenPlatformClient(auth_config) auth_request = open_platform_models.AuthorizeFileUploadRequest( product='imageseg', region_id=self._region_id ) auth_response = open_platform_models.AuthorizeFileUploadResponse() oss_config = oss_models.Config( access_key_id=access_key_id, access_key_secret=access_key_secret, type='access_key', protocol=self._protocol, region_id=self._region_id ) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField() oss_header = oss_models.PostObjectRequestHeader() upload_request = oss_models.PostObjectRequest() oss_runtime = ossutil_models.RuntimeOptions() OpenApiUtilClient.convert(runtime, oss_runtime) segment_sky_req = imageseg_20191230_models.SegmentSkyRequest() OpenApiUtilClient.convert(request, segment_sky_req) if not UtilClient.is_unset(request.image_urlobject): auth_response = await auth_client.authorize_file_upload_with_options_async(auth_request, runtime) oss_config.access_key_id = auth_response.body.access_key_id oss_config.endpoint = OpenApiUtilClient.get_endpoint(auth_response.body.endpoint, auth_response.body.use_accelerate, self._endpoint_type) oss_client = OSSClient(oss_config) file_obj = file_form_models.FileField( filename=auth_response.body.object_key, content=request.image_urlobject, content_type='' ) oss_header = oss_models.PostObjectRequestHeader( access_key_id=auth_response.body.access_key_id, policy=auth_response.body.encoded_policy, signature=auth_response.body.signature, key=auth_response.body.object_key, file=file_obj, success_action_status='201' ) upload_request = oss_models.PostObjectRequest( bucket_name=auth_response.body.bucket, header=oss_header ) await oss_client.post_object_async(upload_request, oss_runtime) segment_sky_req.image_url = f'http://{auth_response.body.bucket}.{auth_response.body.endpoint}/{auth_response.body.object_key}' segment_sky_resp = await self.segment_sky_with_options_async(segment_sky_req, runtime) return segment_sky_resp