Envie tarefas assíncronas de reconhecimento óptico de caracteres (OCR) e consulte os resultados. Use esta operação para submeter tarefas de OCR que detectam e extraem texto de imagens.
Descrição da operação assíncrona
Operação: /green/image/asyncscan
Use esta operação para enviar tarefas assíncronas de moderação de imagens. Para saber como construir uma solicitação HTTP, consulte Estrutura da solicitação. Também é possível usar uma solicitação HTTP pré-construída. Para mais informações, veja Visão geral do SDK.
-
Billing method:
Esta é uma operação de API paga. Para mais detalhes 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. Se a detecção não for concluída dentro desse prazo, um erro de timeout será retornado. Se resultados em tempo real não forem necessários, use a detecção assíncrona. Caso contrário, prefira a detecção síncrona, pois sua chamada de API é mais simples. Para essas chamadas, defina o tempo limite como 6 segundos.
-
Returned results:
Tarefas de detecção assíncrona não retornam resultados em tempo real. É necessário usar callback ou polling para recuperar os resultados, que ficam armazenados por até uma hora.
Ative a notificação por callback para obter resultados de moderação: ao enviar tarefas assíncronas, especifique uma URL de callback no parâmetro callback da solicitação para receber os resultados. Para mais informações sobre o parâmetro callback, consulte Parâmetros da solicitação.
Consulte os resultados de moderação em intervalos regulares: não é necessário definir o parâmetro callback ao enviar tarefas assíncronas. Após o envio, chame a operação /green/video/results para consultar os resultados. Para mais detalhes sobre essa operação, veja Descrição da operação /green/image/results.
-
Limits on images:
A URL da imagem deve usar o protocolo HTTP ou HTTPS.
Formatos de imagem suportados: 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 .
A imagem deve ser baixada em até 3 segundos. Se o download exceder esse tempo, um erro de timeout de download será retornado.
Para melhor desempenho, recomenda-se que a resolução da imagem seja de pelo menos 256x256 pixels. Resoluções inferiores podem afetar a precisão da detecção.
O tempo de resposta da API de detecção de imagens depende do tempo de download da imagem. Garanta que o serviço de armazenamento onde a imagem está hospedada seja estável e confiável. Para obter o melhor desempenho, use o Object Storage Service (OSS) da Alibaba Cloud ou uma Content Delivery Network (CDN).
Limite de QPS
O limite de consultas por segundo (QPS) para esta API é de 10 por usuário. Exceder esse limite aciona o throttling, o que pode impactar seus negócios. 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 seu cenário de negócios. Crie um cenário de negócios no Content Moderation console. Para mais informações, consulte Personalizar regras de moderação. |
scenes | StringArray | Sim | ["ocr"] | Cenário de moderação. Defina o valor como ocr. |
callback | String | Não | http://www.aliyundoc.com/xx.json | URL para recebimento de notificações de callback com os resultados da detecção. A URL deve usar o protocolo HTTP ou HTTPS. Se este parâmetro for deixado vazio, será necessário consultar periodicamente os resultados via polling. A interface de
Nota
Após receber uma notificação de resultado, seu servidor de callback deve retornar o código de status HTTP 200 para indicar sucesso. Qualquer outro código é tratado como falha. Em caso de falha na notificação, o Content Moderation tentará novamente até 16 vezes. Se ainda falhar após 16 tentativas, nenhuma nova tentativa será feita. Recomendamos verificar o status do seu endpoint de callback. |
seed | String | Não | aabbcc123 | String aleatória usada para assinatura na solicitação de notificação de callback. A string pode conter letras, dígitos e underscores (_), com no máximo 64 caracteres. Personalize esta string para verificar a origem das solicitações de callback. Nota
Este parâmetro é obrigatório ao utilizar callback. |
cryptType | String | Não | SHA256 | Se você utilizar notificações de callback, este parâmetro especifica o algoritmo de hash para a assinatura do callback (checksum). O Content Moderation gera o checksum aplicando o hash na string (concatenada a partir de ID da conta Alibaba Cloud + seed + content) com o algoritmo especificado antes de enviá-lo à sua URL de callback. Valores válidos:
|
tasks | JSONArray | Sim | Lista de objetos a serem moderados. O array JSON pode conter um ou mais elementos, sendo cada elemento uma estrutura. O array suporta até 100 elementos, permitindo o envio de até 100 objetos de moderação por vez. Para enviar 100 objetos simultaneamente, aumente o limite de concorrência relevante para um valor superior a 100. Para mais detalhes sobre a estrutura de cada elemento, consulte task. |
Tabela 1. task
Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
dataId | String | Não | test_data_xxxx | ID dos dados. Certifique-se de que cada ID seja único dentro de uma solicitação. |
url | String | Sim | https://www.aliyundoc.com/test_image_xxxx.png | URL pública HTTP ou HTTPS. A URL não pode exceder 2.048 caracteres. |
interval | Integer | Não | 2 | Intervalo de captura de quadros. Este parâmetro é usado apenas para detecção de GIF e imagens longas.
Por padrão, apenas o primeiro quadro de um GIF ou imagem longa é detectado. O parâmetro interval permite que o sistema pule quadros durante a detecção para reduzir custos. Nota
O parâmetro interval deve ser usado junto com o parâmetro maxFrames. Por exemplo, se você definir interval como 2 e maxFrames como 100, o sistema detectará um quadro a cada dois em um GIF ou imagem longa, até o limite de 100 quadros. O faturamento é baseado no número real de quadros detectados. |
maxFrames | Integer | Não | 100 | Número máximo de quadros a serem capturados. Este parâmetro é usado apenas para detecção de GIF e imagens longas. Valor padrão: 1. Se |
Parâmetros de resposta
Parâmetro | Tipo | Exemplo | Descrição |
code | Integer | 200 | Código de erro. Corresponde ao código de status HTTP. Para mais informações, consulte Códigos de erro comuns. |
msg | String | OK | Mensagem retornada para a solicitação. |
dataId | String | test_data_xxxx | 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 | aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876**** | ID da tarefa de moderação. |
url | String | https://www.aliyundoc.com/test_image_xxxx.png | URL pública HTTP ou HTTPS. A URL não pode exceder 2.048 caracteres. |
extras | JSONObject | xxx | Parâmetros adicionais de chamada, correspondentes ao parâmetro extras na solicitação de detecção. Nota
Este parâmetro pode sofrer ajustes. Não confie em seu valor de retorno no momento. |
Exemplos
Exemplos de solicitações
http(s)://[Endpoint]/green/image/asyncscan
&<Common request parameters>
{
"scenes": [
"ocr"
],
"tasks": [
{
"dataId": "test_data_xxxx",
"url": "https://www.aliyundoc.com/test_image_xxxx.png"
}
]
}
Exemplos de respostas de sucesso
{
"code": 200,
"msg": "OK",
"requestId": "92AD868A-F5D2-4AEA-96D4-E1273B8E074C",
"data": [
{
"code": 200,
"msg": "OK",
"dataId": "test_data_xxxx",
"taskId": "aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****",
"url": "https://www.aliyundoc.com/test_image_xxxx.png"
}
]
}
Descrição da operação /green/image/results
Operação: /green/image/results
Use esta operação para consultar resultados assíncronos de OCR. Para saber como construir uma solicitação HTTP, consulte Estrutura da solicitação. Também é possível usar uma solicitação HTTP pré-construída. Para mais informações, veja Visão geral do SDK.
-
Billing method:
Esta operação de API é gratuita.
-
Response timeout:
Defina o intervalo de polling para 30 segundos, ou seja, consulte o resultado 30 segundos após enviar uma tarefa de detecção assíncrona. O resultado fica armazenado por até uma hora e é descartado se não for recuperado nesse período.
Limite de QPS
O limite de consultas por segundo (QPS) para esta API é de 10 por usuário. Exceder esse limite aciona o throttling, o que pode impactar seus negócios. Planeje suas chamadas adequadamente.
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
body |
JSONArray |
Sim |
["aaa25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695"] |
Lista de valores taskId das tarefas de detecção que você deseja consultar. O array pode conter até 100 elementos. Obtenha o taskId na resposta após enviar uma tarefa de detecção. |
Parâmetros de resposta
Parâmetro | Tipo | Exemplo | Descrição |
code | Integer | 200 | Código de erro. Corresponde ao código de status HTTP. Para mais informações, consulte Códigos de erro comuns. |
msg | String | OK | Mensagem retornada para a solicitação. |
dataId | String | test_data_xxxx | 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 | aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876**** | ID da tarefa de moderação. |
url | String | https://www.aliyundoc.com/test_image_xxxx.png | URL pública HTTP ou HTTPS. A URL não pode exceder 2.048 caracteres. |
results | Array | Resultados retornados. Se o código de status HTTP 200 for retornado, o array nos resultados conterá um ou mais elementos. Cada elemento é uma estrutura. Para mais detalhes sobre a estrutura de cada elemento, consulte result. |
Tabela 2. result
Parâmetro | Tipo | Exemplo | Descrição |
scene | String | ocr | Cenário de moderação. Defina o valor como ocr. |
label | String | ocr | Categoria do resultado da moderação. Valores válidos:
|
suggestion | String | review | Operação subsequente recomendada. Valores válidos:
|
rate | Float | 99,91 | Probabilidade de a imagem moderada pertencer à categoria detectada. Ignore este parâmetro no cenário de OCR. |
ocrLocations | Array | Informações sobre cada entrada de texto individual na imagem estática moderada, incluindo o texto, tamanho da área de texto e localização. Para mais detalhes sobre a estrutura, consulte ocrLocation. | |
ocrData | Array | Este tópico descreve como chamar uma operação para enviar tarefas assíncronas de moderação de imagens. | Combinação de todo o texto na imagem estática moderada. Geralmente, a combinação de texto é armazenada como o primeiro elemento do array. |
frames | Array | xxx | Quadros capturados da imagem animada moderada e o texto detectado em cada quadro. |
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
text |
String |
hello |
Entrada de texto única detectada na imagem moderada. |
|
x |
Float |
41 |
Distância entre o canto superior esquerdo da área de texto e o eixo y, considerando o canto superior esquerdo da imagem como origem das coordenadas. Unidade: pixels. |
|
y |
Float |
84 |
Distância entre o canto superior esquerdo da área de texto e o eixo x, considerando o canto superior esquerdo da imagem como origem das coordenadas. Unidade: pixels. |
|
w |
Float |
83 |
Largura da área de texto. Unidade: pixels. |
|
h |
Float |
26 |
Altura da área de texto. Unidade: pixels. |
Tabela 3. ocrDetailInfo
Tabela 4. wordsInfo
Exemplos
Exemplos de solicitações
http(s)://[Endpoint]green/image/results
&<Common request parameters>
[
"aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****"
]
Exemplos de respostas de sucesso
{
"code": 200,
"data": [
{
"code": 200,
"dataId": "test_data_xxxx",
"extras": {
},
"msg": "OK",
"results": [
{
"label": "ocr",
"ocrData": [
"This topic describes how to call an operation to submit asynchronous image moderation tasks."
],
"ocrLocations": [
{
"h": 19,
"text": "This topic describes how to call an operation to submit asynchronous image moderation tasks.",
"w": 362,
"x": 31,
"y": 11
}
],
"rate": 99.91,
"scene": "ocr",
"suggestion": "review"
}
],
"taskId": "aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****",
"url": "https://www.aliyundoc.com/test_image_xxxx.png"
}
],
"msg": "OK",
"requestId": "992C7849-AA45-4055-8F82-8D44D64C15E3"
}