Chame a API de detecção síncrona de imagens (/green/image/scan) para moderar o conteúdo de imagens. Os cenários compatíveis incluem detecção de pornografia, terrorismo e conteúdo politicamente sensível, violações de anúncios, QR codes, cenas indesejáveis e logotipos.
Observações de uso
A operação /green/image/scan modera imagens de forma síncrona.
Chame esta operação para criar tarefas de moderação síncrona de imagens.Para saber como construir uma solicitação HTTP, consulte estrutura da solicitação. Alternativamente, utilize uma solicitação pré-construída conforme mostrado na visão geral do SDK.
-
Billing:
Esta é uma operação de API paga. Para obter mais informações sobre faturamento, consulte Preços do Content Moderation.
-
Response timeout:
O tempo máximo de detecção para uma solicitação síncrona é de 6 segundos. Caso a detecção não seja concluída dentro desse limite, o sistema retornará um erro de timeout. Se você não precisar de resultados em tempo real, utilize a detecção assíncrona. Caso contrário, use a detecção síncrona, pois sua chamada de API é mais simples. Para essas chamadas, defina o período de timeout como 6 segundos.
-
Returned results:
As solicitações de detecção síncrona geralmente retornam um resultado em até um segundo. No entanto, o tempo de resposta pode aumentar em cenários específicos, como alta carga do sistema, imagens grandes ou grande volume de texto para reconhecimento óptico de caracteres (OCR).
-
Image requirements:
A URL da imagem deve utilizar o protocolo HTTP ou HTTPS.
Formatos de imagem compatíveis: PNG, JPG, JPEG, BMP, GIF e WEBP.
-
O tamanho da imagem não pode exceder 20 MB tanto para chamadas síncronas quanto assíncronas .
O baixe da imagem deve ser concluído em até 3 segundos. Se o tempo de baixe exceder 3 segundos, o sistema retornará um erro de timeout de baixe.
Para obter desempenho ideal, recomenda-se que a resolução da imagem seja de pelo menos 256x256 pixels. Uma resolução menor pode afetar a precisão da detecção.
O tempo de resposta da API de detecção de imagens depende do tempo de baixe da imagem. Certifique-se de que o serviço de armazenamento onde a imagem está hospedada seja estável e confiável. Para melhor desempenho, utilize o Object Storage Service (OSS) da Alibaba Cloud ou uma Content Delivery Network (CDN).
| Cenário | Descrição | Categorias de detecção |
| detecção de pornografia | Detecta conteúdo pornográfico ou sexualmente sugestivo em imagens. | normal, pornográfico, sexualmente sugestivo |
| detecção de conteúdo terrorista | Detecta conteúdo terrorista ou politicamente sensível em imagens. | normal, sangrento, explosões e fumaça/clarões, vestimentas especiais, símbolos especiais, armas, política, brigas, aglomerações, marchas, cenas de acidentes de trânsito, bandeiras, pontos de referência |
| detecção de violação de anúncios | Detecta anúncios ou textos em imagens que violem políticas. | normal, texto contém conteúdo politicamente sensível, texto contém conteúdo pornográfico, texto contém conteúdo abusivo, texto contém conteúdo terrorista, texto contém conteúdo proibido, texto contém outro tipo de spam, pequenos adesivos de anúncio, contém QR codes, contém códigos de mini programa, outros anúncios Nota Configure as categorias de detecção com base nos requisitos do seu negócio. Para mais informações, consulte política personalizada de moderação assistida por máquina. |
| detecção de QR code | Detecta QR codes ou códigos de mini programas em imagens. | normal, contém QR codes, contém códigos de mini programa Nota Configure as categorias de detecção com base nos requisitos do seu negócio. Para mais informações, consulte política personalizada de moderação assistida por máquina. |
| detecção de cenas indesejáveis | Detecta cenas indesejáveis em imagens, como telas pretas, bordas pretas, filmagens escuras, picture-in-picture, fumo ou transmissões ao vivo dentro de veículos. | normal, sem conteúdo na imagem (por exemplo, tela preta ou branca), picture-in-picture, fumo, transmissão ao vivo dentro de veículo |
| detecção de logotipo | Detecta logotipos em imagens, como logotipos de emissoras de TV e marcas registradas. | normal, contém logotipos controlados, contém marcas registradas |
Limite de QPS
O limite de consultas por segundo (QPS) para esta API é de 50 por usuário. Exceder esse limite aciona o throttling, o que pode impactar seu negócio. Planeje suas chamadas adequadamente.
Parâmetros da solicitação
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| bizType | String | Não | default |
Este campo identifica o cenário do seu negócio. Crie um cenário de negócio no Content Moderation console. Para mais informações, consulte Personalizar regras de moderação. |
| scenes | StringArray | Sim | ["porn","terrorism","ad","live","qrcode","logo"] | Especifica o cenário de moderação. Valores válidos:
É possível especificar múltiplos cenários. Por exemplo,
["porn", "terrorism"] indica que a imagem será moderada tanto para conteúdo pornográfico quanto terrorista.Nota Se você especificar vários cenários para moderação, será cobrada a taxa cumulativa de todos os cenários. A taxa de cada cenário é calculada multiplicando-se o número de imagens moderadas pelo preço unitário do cenário. |
| tasks | JSONArray | Sim | Especifica as tarefas de moderação como um array de objetos de tarefa. É possível enviar até 100 tarefas em uma única solicitação. Para enviar 100 tarefas de uma vez, o limite de concorrência deve estar definido como 100 ou superior. Para detalhes sobre a estrutura do objeto, consulte task. |
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| clientInfo | JSONObject | Não | {"userId":"12023****","userNick":"Mike","userType":"others"} |
As informações do cliente. Para mais informações, consulte os parâmetros de consulta comuns em Parâmetros comuns. O servidor mescla o clientInfo global com o clientInfo individual especificado para a solicitação. Nota
O clientInfo individual tem prioridade maior. |
| dataId | String | Não | cfd33235-71a4-468b-8137-a5ffe323**** |
O ID de dados do objeto de detecção. Este ID pode conter letras maiúsculas e minúsculas, dígitos, sublinhados (_), hífens (-) e pontos (.), devendo ter no máximo 128 caracteres. Utilize-o para identificar exclusivamente seus dados de negócio. |
| url | String | Sim | http://www.aliyundoc.com/xxx.jpg |
Uma URL pública HTTP ou HTTPS. A URL não pode exceder 2.048 caracteres de comprimento. |
| extras | JSONObject | Não | {"hitLibInfo":[{"context":"Haokan Video","libCode":"2144002","libName":"Pre-release Test Ad Similar Text Librarya"}]} | Parâmetros adicionais para a chamada da API. Não são necessários para cenários de moderação de imagens. |
| interval | Integer | Não | 2 | O intervalo de captura de quadros para moderar imagens GIF e imagens longas.
Por padrão, apenas o primeiro quadro de uma imagem GIF ou longa é moderado. Defina o parâmetro interval para ativar a captura de quadros baseada em intervalo e reduzir os custos de moderação. Nota Use o parâmetro interval juntamente com o parâmetro maxFrames. Por exemplo, se você definir interval como 2 e maxFrames como 10 para uma imagem GIF ou longa, o sistema moderará um a cada dois quadros, até o máximo de 10 quadros. O faturamento é baseado no número real de quadros moderados. |
| maxFrames | Integer | Não | 10 |
O número máximo de quadros a serem capturados. Este parâmetro é usado apenas para detecção de imagens GIF e longas. Valor padrão: 1. Se |
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| code | Integer | 200 |
O código de erro. É igual ao código de status HTTP. Para mais informações, consulte Códigos de erro comuns. |
| msg | String | OK | A mensagem de resposta. |
| dataId | String | cfd33235-71a4-468b-8137-a5ffe323**** |
O ID de dados do objeto de detecção. Nota
Se dataId foi passado na solicitação de detecção, o mesmo dataId é retornado aqui. |
| taskId | String | img4wlJcb7p4wH4lAP3111111-123456 | O ID da tarefa de moderação. |
| url | String | http://www.aliyundoc.com/xxx.jpg |
Uma URL pública HTTP ou HTTPS. A URL não pode exceder 2.048 caracteres de comprimento. |
| storedUrl | String | http://www.aliyundoc.com | Se você ativar o recurso de armazenamento de evidências e a tarefa de moderação atender às regras configuradas, a imagem será salva no seu bucket do OSS da Alibaba Cloud e a URL correspondente será retornada. |
| extras | JSONObject | {"hitLibInfo":[{"context":"Haokan Video","libCode":"2144002","libName":"Ad text library for pre-release testing a"}]} | Informações adicionais. No cenário de violação de anúncio (ad), pode retornar o seguinte conteúdo. hitLibInfo: Se o texto em uma imagem corresponder a uma biblioteca de texto personalizada, retorna um array contendo informações sobre a biblioteca de texto correspondente. Para detalhes, consulte hitLibInfo. |
| results | JSONArray | Os resultados da moderação. Se a chamada for bem-sucedida (code=200), este parâmetro contém um array de um ou mais objetos de resultado. Para a estrutura do objeto, consulte result. |
| Parâmetro | Tipo | Exemplo | Descrição |
| scene | String | porn | O cenário de moderação de imagem. Este valor corresponde ao cenário especificado na solicitação. Valores válidos:
|
| label | String | sexy | A categoria do resultado da moderação. As categorias variam conforme o cenário de moderação. Valores válidos:
|
| sublabel | String | porn |
Se as cenas de detecção incluírem pornografia (porn) e terrorismo/política (terrorism), este campo pode retornar rótulos detalhados para os resultados da detecção. Este campo não é retornado por padrão. |
| suggestion | String | block | A ação recomendada. Valores válidos:
|
| rate | Float | 91.54 |
A pontuação de confiança. Valores válidos: 0 (menor confiança) a 100 (maior confiança). Se a suggestion for pass, quanto maior a pontuação de confiança, maior a probabilidade de o conteúdo estar em conformidade. Se a suggestion for review ou block, quanto maior a pontuação de confiança, maior a probabilidade de o conteúdo estar em desconformidade. Importante
Recomendamos utilizar os campos suggestion e label (ou sublabel, para algumas operações de API) para determinar se o conteúdo está em violação. |
| frames | JSONArray | Se a imagem moderada for muito longa e for truncada, retorna a URL temporária de cada quadro na imagem truncada. Para a estrutura, consulte frame. | |
| hintWordsInfo | JSONArray | Se a imagem contiver violações de anúncio, retorna as palavras-chave de risco correspondentes no texto do anúncio. Para a estrutura, consulte hintWordsInfo. Nota adRetornado apenas para o cenário de violação de anúncio. Exemplo:
|
|
| qrcodeData | StringArray | ["http://www.aliyundoc.com/01ZZOliO"] | Se a imagem contiver um QR code, retorna o conteúdo textual de todos os QR codes detectados. Nota QR codeRetornado apenas para o cenário de detecção de QR code. |
| qrcodeLocations | JSONArray | As coordenadas dos QR codes detectados na imagem. Para a estrutura, consulte qrcodeLocation. | |
| programCodeData | JSONArray | Se a imagem contiver um código de mini programa, retorna a localização do código. Para a estrutura, consulte programCodeData. Nota QR codeRetornado apenas para o cenário de detecção de QR code e somente se o reconhecimento de código de mini programa estiver ativado. |
|
| logoData | JSONArray | Se a imagem contiver um logotipo, retorna informações sobre o logotipo detectado. Para a estrutura, consulte logoData. Nota LogoRetornado apenas para o cenário de detecção de logotipo. |
|
| sfaceData | JSONArray | Se a imagem contiver conteúdo terrorista ou político, retorna informações sobre os rostos detectados. Para a estrutura, consulte sfaceData. Nota terrorismRetornado apenas para o cenário de detecção de terrorismo e conteúdo político. |
|
| ocrData | Array | Haokan Video | O texto completo reconhecido na imagem. Nota Não retornado por padrão. |
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
rate |
Float |
89,85 |
A pontuação de confiança. Valores válidos: 0 a 100. Uma pontuação de confiança mais alta indica uma maior probabilidade de o resultado da detecção ser preciso. Evite usar essa pontuação na lógica do seu negócio. |
|
url |
String |
http://www.aliyundoc.com/xxx-0.jpg |
A URL temporária do quadro da imagem truncada. A URL é válida por 5 minutos. |
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
x |
Float |
11,0 |
A coordenada x do canto superior esquerdo da área do código de mini programa. A origem (0,0) é o canto superior esquerdo da imagem. Unidade: pixels. |
|
y |
Float |
0,0 |
A coordenada y do canto superior esquerdo da área do código de mini programa. A origem (0,0) é o canto superior esquerdo da imagem. Unidade: pixels. |
|
w |
Float |
402,0 |
A largura da área do código de mini programa. Unidade: pixels. |
|
h |
Float |
413,0 |
A altura da área do código de mini programa. Unidade: pixels. |
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
type |
String |
TV |
O tipo do logotipo detectado. O valor é TV, que indica um logotipo de emissora de TV. |
|
name |
String |
xxx TV |
O nome do logotipo detectado. |
|
x |
Float |
140 |
A coordenada x do canto superior esquerdo da área do logotipo. A origem (0,0) é o canto superior esquerdo da imagem. Unidade: pixels. |
|
y |
Float |
68 |
A coordenada y do canto superior esquerdo da área do logotipo. A origem (0,0) é o canto superior esquerdo da imagem. Unidade: pixels. |
|
w |
Float |
106 |
A largura da área do logotipo. Unidade: pixels. |
|
h |
Float |
106 |
A altura da área do logotipo. Unidade: pixels. |
| Parâmetro | Tipo | Exemplo | Descrição |
| x | Float | 49 | A coordenada x do canto superior esquerdo da área do rosto. A origem (0,0) é o canto superior esquerdo da imagem. Unidade: pixels. |
| y | Float | 39 | A coordenada y do canto superior esquerdo da área do rosto. A origem (0,0) é o canto superior esquerdo da imagem. Unidade: pixels. |
| w | Float | 97 | A largura da área do rosto. Unidade: pixels. |
| h | Float | 131 | A altura da área do rosto. Unidade: pixels. |
| faces | JSONArray | [{"name":"Matched person","rate":91.54,"id":"AliFace_0123****"}] | Informações sobre os rostos detectados. Cada objeto contém os seguintes campos:
|
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
context |
String |
Haokan Video |
O conteúdo correspondente da biblioteca de texto personalizada. |
|
libCode |
String |
123456 |
O código da biblioteca de texto personalizada correspondente. |
|
libName |
String |
abc |
O nome da biblioteca de texto personalizada correspondente. |
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
context |
String |
Haokan Video |
A palavra-chave de risco correspondente. |
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
x |
Float |
11,0 |
A coordenada x do canto superior esquerdo da área do QR code. A origem (0,0) é o canto superior esquerdo da imagem. Unidade: pixels. |
|
y |
Float |
0,0 |
A coordenada y do canto superior esquerdo da área do QR code. A origem (0,0) é o canto superior esquerdo da imagem. Unidade: pixels. |
|
w |
Float |
402,0 |
A largura da área do QR code. Unidade: pixels. |
|
h |
Float |
413,0 |
A altura da área do QR code. Unidade: pixels. |
|
qrcode |
String |
http://www.aliyundoc.com/0.ZZOliO |
A URL para a qual o QR code detectado aponta. |
Exemplos
Exemplo de solicitação
http(s)://[Endpoint]/green/image/scan
&<common request parameters>
{
"scenes": [
"porn",
"terrorism",
"ad",
"live",
"qrcode",
"logo"
],
"tasks": [
{
"dataId": "uuid-xxxx-xxxx-1234",
"url": "http://www.aliyundoc.com/xxx.jpg"
}
]
}
Exemplo de resposta de sucesso
{
"msg": "OK",
"code": 200,
"data": [
{
"msg": "OK",
"code": 200,
"dataId": "cfd33235-71a4-468b-8137-a5ffe323****",
"extras": {
},
"results": [
{
"rate": 99.63,
"suggestion": "block",
"label": "sexy",
"scene": "porn"
},
{
"label": "politics",
"rate": 91.54,
"scene": "terrorism",
"sfaceData": [
{
"faces": [
{
"id": "AliFace_0123****",
"name": "matched name",
"rate": 91.54
}
],
"h": 131,
"w": 97,
"x": 49,
"y": 39
}
],
"suggestion": "block"
},
{
"extras": {
"qrcodes": "http://www.aliyundoc.com/0.ZZOliO",
"npx": "72.01",
"hitCustomLibCode": "8012345000",
"hitCustomLibName": "Name of the custom image library",
"hitLibInfo": [
{
"context": "matched text",
"libCode": "123456",
"libName": "Name of the text library"
}
]
},
"programCodeData": [
{
"w": 402.0,
"h": 413.0,
"x": 11.0,
"y": 0.0
}
],
"frames": [
{
"rate": 89.85,
"url": "http://www.aliyundoc.com/xxx-0.jpg"
},
{
"rate": 68.06,
"url": "http://www.aliyundoc.com/xxx-1.jpg"
}
],
"rate": 99.91,
"suggestion": "block",
"label": "ad",
"scene": "ad"
},
{
"rate": 99.91,
"suggestion": "block",
"label": "drug",
"scene": "live"
},
{
"qrcodeData": [
"http://www.aliyundoc.com/01ZZOliO"
],
"rate": 99.91,
"suggestion": "review",
"label": "qrcode",
"scene": "qrcode"
},
{
"logoData": [
{
"name": "xxx TV",
"type": "TV",
"x": 140,
"y": 68,
"w": 106,
"h": 106
}
],
"rate": 99.9,
"suggestion": "block",
"label": "TV",
"scene": "logo"
}
],
"taskId": "img4wlJcb7p4wH4lAP3111111-123456",
"url": "http://www.aliyundoc.com/xxx.jpg"
}
],
"requestId": "69B41AE8-1234-1234-1234-12D395695D2D"
}