Use a server-side SDK to call OpenAPI operations for media asset moderation in Intelligent Media Services.
Sample code
You can debug this operation online in the Alibaba Cloud OpenAPI Developer Portal.
<?php
require_once '../vendor/autoload.php';
use AlibabaCloud\SDK\ICE\V20201109\ICE;
use AlibabaCloud\SDK\ICE\V20201109\Models;
use AlibabaCloud\SDK\ICE\V20201109\Models\QueryMediaCensorJobListRequest;
use AlibabaCloud\SDK\ICE\V20201109\Models\QueryMediaCensorJobDetailRequest;
use AlibabaCloud\SDK\ICE\V20201109\Models\CreateCustomTemplateRequest;
use AlibabaCloud\SDK\ICE\V20201109\Models\SubmitMediaCensorJobRequest;
use AlibabaCloud\SDK\ICE\V20201109\Models\SubmitMediaCensorJobRequest\input;
use Darabonba\OpenApi\Models\Config;
try {
// An AccessKey of an Alibaba Cloud account has permissions to access all APIs. Use a Resource Access Management (RAM) user for API access or daily O&M.
// This example shows how to store your AccessKey ID and AccessKey secret in environment variables. For more information, see https://help.aliyun.com/document_detail/311677.html.
$credential = new Credential([]);
$config = new Config([
'credential' => $credential,
'endpoint' => 'ice.cn-shanghai.aliyuncs.com'
]);
// To hard-code the AccessKey ID and AccessKey secret, use the following code. We strongly recommend that you do not store your AccessKey ID and AccessKey secret in your project code. This may cause an AccessKey leak and compromise the security of all resources in your account.
// $config->accessKeyId = '<yourAccessKeyId>';
// $config->accessKeySecret = '<yourAccessKeySecret>';
$client = new ICE($config);
// Create a content moderation template.
$censorTemplateConfig = "{\"Scene\":[\"porn\",\"terrorism\"],\"Scope\":[\"title\",\"video\",\"audio\",\"cover\"]}";
$request = new CreateCustomTemplateRequest();
$request->name = "sdk_sample_censor_template";
$request->type = 7;
$request->subtype = 1;
$request->templateConfig = $censorTemplateConfig;
$response = $client->createCustomTemplate($request);
echo json_encode($response->body);
// Submit a media content moderation job.
$request = new SubmitMediaCensorJobRequest();
$request->input = new input(["type" => "Media","media" => "3945e42d01823498****"]);
$request->output = "oss://test_bucket/censor/snapshot-{Count}.jpg";
$request->templateId = "4945e09631823498****";
$response = $client->submitMediaCensorJob($request);
echo json_encode($response->body);
// Query the details of a media content moderation job.
$request = new QueryMediaCensorJobDetailRequest();
$request->jobId = "20b48fb04483915d4f2cd8ac****";
$response = $client->queryMediaCensorJobDetail($request);
echo json_encode($response->body);
// Query the list of media content moderation jobs.
$request = new QueryMediaCensorJobListRequest();
$request->jobIds = "20b48fb04483915d4f2cd8ac****";
$response = $client->QueryMediaCensorJobList($request);
echo json_encode($response->body);
} catch (TeaUnableRetryError $e) {
var_dump($e->getMessage());
}
Related API operations
该文章对您有帮助吗?