in aigen-20240111/core/Client.cs [1346:1541]
public InteractiveScribbleSegmentationResponse InteractiveScribbleSegmentationAdvance(InteractiveScribbleSegmentationAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime)
{
// Step 0: init client
string accessKeyId = this._credential.GetAccessKeyId();
string accessKeySecret = this._credential.GetAccessKeySecret();
string securityToken = this._credential.GetSecurityToken();
string credentialType = this._credential.GetType();
string openPlatformEndpoint = _openPlatformEndpoint;
if (AlibabaCloud.TeaUtil.Common.IsUnset(openPlatformEndpoint))
{
openPlatformEndpoint = "openplatform.aliyuncs.com";
}
if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType))
{
credentialType = "access_key";
}
AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config
{
AccessKeyId = accessKeyId,
AccessKeySecret = accessKeySecret,
SecurityToken = securityToken,
Type = credentialType,
Endpoint = openPlatformEndpoint,
Protocol = _protocol,
RegionId = _regionId,
};
AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig);
AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest
{
Product = "aigen",
RegionId = _regionId,
};
AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse();
AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config
{
AccessKeySecret = accessKeySecret,
Type = "access_key",
Protocol = _protocol,
RegionId = _regionId,
};
AlibabaCloud.OSS.Client ossClient = null;
AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField();
AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader();
AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest();
AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions();
AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime);
InteractiveScribbleSegmentationRequest interactiveScribbleSegmentationReq = new InteractiveScribbleSegmentationRequest();
AlibabaCloud.OpenApiUtil.Client.Convert(request, interactiveScribbleSegmentationReq);
if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.ImageUrlObject))
{
authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.AccessKeyId = authResponse.Body.AccessKeyId;
ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType);
ossClient = new AlibabaCloud.OSS.Client(ossConfig);
fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField
{
Filename = authResponse.Body.ObjectKey,
Content = request.ImageUrlObject,
ContentType = "",
};
ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader
{
AccessKeyId = authResponse.Body.AccessKeyId,
Policy = authResponse.Body.EncodedPolicy,
Signature = authResponse.Body.Signature,
Key = authResponse.Body.ObjectKey,
File = fileObj,
SuccessActionStatus = "201",
};
uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest
{
BucketName = authResponse.Body.Bucket,
Header = ossHeader,
};
ossClient.PostObject(uploadRequest, ossRuntime);
interactiveScribbleSegmentationReq.ImageUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey;
}
if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.IntegratedMaskUrlObject))
{
authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.AccessKeyId = authResponse.Body.AccessKeyId;
ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType);
ossClient = new AlibabaCloud.OSS.Client(ossConfig);
fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField
{
Filename = authResponse.Body.ObjectKey,
Content = request.IntegratedMaskUrlObject,
ContentType = "",
};
ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader
{
AccessKeyId = authResponse.Body.AccessKeyId,
Policy = authResponse.Body.EncodedPolicy,
Signature = authResponse.Body.Signature,
Key = authResponse.Body.ObjectKey,
File = fileObj,
SuccessActionStatus = "201",
};
uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest
{
BucketName = authResponse.Body.Bucket,
Header = ossHeader,
};
ossClient.PostObject(uploadRequest, ossRuntime);
interactiveScribbleSegmentationReq.IntegratedMaskUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey;
}
if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.MaskImageUrlObject))
{
authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.AccessKeyId = authResponse.Body.AccessKeyId;
ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType);
ossClient = new AlibabaCloud.OSS.Client(ossConfig);
fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField
{
Filename = authResponse.Body.ObjectKey,
Content = request.MaskImageUrlObject,
ContentType = "",
};
ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader
{
AccessKeyId = authResponse.Body.AccessKeyId,
Policy = authResponse.Body.EncodedPolicy,
Signature = authResponse.Body.Signature,
Key = authResponse.Body.ObjectKey,
File = fileObj,
SuccessActionStatus = "201",
};
uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest
{
BucketName = authResponse.Body.Bucket,
Header = ossHeader,
};
ossClient.PostObject(uploadRequest, ossRuntime);
interactiveScribbleSegmentationReq.MaskImageUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey;
}
if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.NegScribbleImageUrlObject))
{
authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.AccessKeyId = authResponse.Body.AccessKeyId;
ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType);
ossClient = new AlibabaCloud.OSS.Client(ossConfig);
fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField
{
Filename = authResponse.Body.ObjectKey,
Content = request.NegScribbleImageUrlObject,
ContentType = "",
};
ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader
{
AccessKeyId = authResponse.Body.AccessKeyId,
Policy = authResponse.Body.EncodedPolicy,
Signature = authResponse.Body.Signature,
Key = authResponse.Body.ObjectKey,
File = fileObj,
SuccessActionStatus = "201",
};
uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest
{
BucketName = authResponse.Body.Bucket,
Header = ossHeader,
};
ossClient.PostObject(uploadRequest, ossRuntime);
interactiveScribbleSegmentationReq.NegScribbleImageUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey;
}
if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.PosScribbleImageUrlObject))
{
authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.AccessKeyId = authResponse.Body.AccessKeyId;
ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType);
ossClient = new AlibabaCloud.OSS.Client(ossConfig);
fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField
{
Filename = authResponse.Body.ObjectKey,
Content = request.PosScribbleImageUrlObject,
ContentType = "",
};
ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader
{
AccessKeyId = authResponse.Body.AccessKeyId,
Policy = authResponse.Body.EncodedPolicy,
Signature = authResponse.Body.Signature,
Key = authResponse.Body.ObjectKey,
File = fileObj,
SuccessActionStatus = "201",
};
uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest
{
BucketName = authResponse.Body.Bucket,
Header = ossHeader,
};
ossClient.PostObject(uploadRequest, ossRuntime);
interactiveScribbleSegmentationReq.PosScribbleImageUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey;
}
InteractiveScribbleSegmentationResponse interactiveScribbleSegmentationResp = InteractiveScribbleSegmentationWithOptions(interactiveScribbleSegmentationReq, runtime);
return interactiveScribbleSegmentationResp;
}