Todos los productos
Search
Centro de documentos

OpenSearch:Extracción de contenido de imágenes

Última actualización: Sep 04, 2026

OpenSearch permite llamar al servicio de extracción de contenido de imágenes mediante una API, integrar el servicio en sus flujos de trabajo empresariales y utilizar el texto analizado para la recuperación de imágenes y la respuesta a preguntas.

Lista de servicios

Nombre del servicio

ID del servicio

Descripción

Límite de QPS de la API

Image Content Understanding Service 001

ops-image-analyze-vlm-001

Analiza el contenido de la imagen y reconoce texto mediante un modelo grande multimodal, lo que habilita aplicaciones como la recuperación de imágenes y la respuesta a preguntas.

10

Nota

Para solicitar un límite de QPS de API mayor, envíe un ticket al soporte técnico.

Image OCR Service 001

ops-image-analyze-ocr-001

Extrae texto de imágenes mediante OCR, lo que habilita aplicaciones como la recuperación de imágenes y la respuesta a preguntas.

  • Obtenga las credenciales de autenticación

    La plataforma abierta AI Search requiere una clave de API para la autenticación. Para obtener instrucciones, consulte Get an API key.

  • Obtenga el endpoint del servicio

    Puede llamar al servicio a través de la red pública o de una VPC. Para más detalles, consulte Get the service endpoint.

Crear una tarea de extracción asíncrona

Método de solicitud

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/image-analyze/{service_id}/async
  • host: El endpoint del servicio de API. Puede acceder al servicio de API a través de la red pública o mediante una VPC. Para más información, consulte Obtain an endpoint.

    En la consola de AI Search Open Platform, elija API Keys en el panel de navegación izquierdo. Luego encontrará el Public API Domain Name y el Private API Domain Name en la sección Access Domain Name, en la parte superior de la página.

  • workspace_name: El nombre del workspace. Por ejemplo, default.

  • service_id: El ID del servicio integrado del sistema. Por ejemplo, ops-image-analyze-vlm-001.

Parámetros de solicitud

Parámetros de encabezado

Autenticación por clave de API

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

Content-Type

String

Obligatorio

Especifica el tipo de medio del cuerpo de la solicitud. Debe ser application/json.

application/json

Authorization

String

Obligatorio

La clave de API para la autenticación, con el prefijo Bearer .

Bearer OS-d1**2a

Parámetro del cuerpo

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

service_id

String

Sí

ID del servicio integrado:

  • ops-image-analyze-vlm-001

  • ops-image-analyze-ocr-001

ops-image-analyze-vlm-001

document.url

String

No

La URL del archivo. Se debe especificar este parámetro o document.content. Admite los protocolos http y https.

http://path/to/***.jpg

document.content

String

No

El contenido del archivo codificado en Base64. Se debe especificar este parámetro o document.url.

"aGVsbG8gd29ybGQ="

document.file_name

String

No

El nombre del archivo. Si se omite este parámetro, el nombre se infiere de document.url. Es obligatorio si también se omite document.url.

test.jpg

document.file_type

String

No

El tipo de archivo (por ejemplo, jpg, jpeg, png, bmp, tiff). Si se omite este parámetro, el tipo se infiere de la extensión de document.file_name. Es obligatorio si el tipo no se puede inferir automáticamente.

jpg

Parámetros de respuesta

Parámetro

Tipo

Descripción

Valor

result.task_id

String

El ID de la tarea asíncrona de análisis de imágenes.

6177bf71-f87f-4d86-ab0c-e2b64dfe****

Solicitud cURL

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  "http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/image-analyze/ops-image-analyze-vlm-001/async"
  --data '{
    "document": {
      "url": "https://img01.yzcdn.cn/****/2017/05/11/FoTMgBa0SvUaAeFruY7i7O_EUMhf.jpg%21middle.jpg",
      "file_type": "jpg"
    }
  }' \ 

Ejemplo de respuesta

Respuesta normal

{
	"request_id":"CD4E26F0-23FF-449C-83DC-20CC8FF1****",
        "latency":8.0,
        "http_code":200,
        "result":{
                  "task_id":"cd4e26f0-23ff-449c-83dc-20cc8ff1****"
        }
}

Ejemplo de respuesta de error

Si una solicitud de acceso falla, la salida contiene un code y un message que explican el error.

{
      "request_id":"0CCAC03B-D83F-432F-B6BA-C3049576****",
      "latency":0.0,
      "code":"InvalidParameter",
      "http_code":400,
      "message":"document.content or document.url required, and both cannot be present at the same time"
}

Estado de la tarea de extracción asíncrona

Método de solicitud

GET

URL

{host}/v3/openapi/workspaces/{workspace_name}/image-analyze/{service_id}/async/task-status?task_id=${task_id}
  • host: El endpoint del servicio de API. Puede llamar al servicio de API a través de la red pública o mediante una VPC. Para más detalles, consulte Get a service endpoint.

  • workspace_name: El nombre del workspace. Por ejemplo, default.

  • service_id: El ID del servicio integrado. Por ejemplo, ops-image-analyze-vlm-001.

  • task_id: El ID de la tarea devuelto en la respuesta cuando crea una tarea de análisis de imágenes. Por ejemplo, cd4e26f0-23ff-449c-83dc-20cc8ff1****.

Parámetros de solicitud

Parámetros de encabezado

Autenticación por clave de API

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

Content-Type

string

Sí

El tipo de solicitud. Debe ser application/json.

application/json

Authorization

string

Sí

La clave de API para la autenticación, con el prefijo Bearer .

Bearer OS-d1**2a

Parámetros de respuesta

Parámetro

Tipo

Descripción

Ejemplo

request_id

String

El identificador único de la llamada a la API.

3C09570D-12DB-46B4-BF0F-A100D79B****

latency

Float/Int

La latencia de la solicitud, en milisegundos.

3.0

result.task_id

String

El ID de la tarea asíncrona. Este parámetro no se devuelve en llamadas síncronas.

a7e4c0f6-874c-47e3-b05b-02278a96e****

result.status

String

El estado de la tarea. Valores posibles:

  • PENDING: La tarea está pendiente.

  • SUCCESS: La tarea se completó correctamente.

  • FAILED: La tarea falló.

SUCCESS

result.data

Object

Los resultados del análisis de la imagen.

{"content":"The image shows XXXX",

"content_type":"plain"}

result.data.content

String

El contenido extraído de la imagen.

"XXX"

result.data.content_type

String

El tipo de contenido de la salida. El valor siempre es plain.

plain

usage.token_count

int

El recuento de tokens de la salida. Este parámetro aplica al servicio ops-image-analyze-vlm-001.

1234

usage.pv_count

int

El número de llamadas, fijo en 1. Aplica al servicio ops-image-analyze-ocr-001.

1

Ejemplo de solicitud cURL

curl -X GET \
-H"Content-Type: application/json" \
-H "Authorization: Bearer Your API-KEY" \
"http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/image-analyze/ops-image-analyze-vlm-001/async/task-status?task_id=d9781786-20b8-4fb4-bbb5-38f82e69****" 
 

Ejemplo de respuesta

Respuesta exitosa

{
      "request_id":"3C09570D-12DB-46B4-BF0F-A100D79B****",
      "latency":3.0,
      "http_code":200,
      "result":{
           "status":"SUCCESS",
           "data":{
                "content":"The image shows a WMF blender surrounded by fruits and vegetables. Next to it is a glass of red juice with a straw. On the table are lemon slices, strawberries, and kiwifruit. A cut pineapple and an orange sit in one corner. Chopped carrots are in the blender, ready for juicing. The scene looks healthy and appetizing.",
                "content_type":"plain"
            },
            "task_id":"d9781786-20b8-4fb4-bbb5-38f82e69****"
       },
            "usage":{
                "token_count":95
            }
}

Ejemplo de respuesta de error

Cuando una solicitud de acceso falla, la salida incluye un code y un message que explican el error.

{
  "request_id":"153FC253-468D-4C46-873E-2AEB918C****",
  "latency":2.0,
  "code":"BadRequest.TaskNotExist",
  "http_code":404,
  "message":"task[d9781786-20b8-4fb4-bbb5-38f82e690b****] does not exist"
}

Crear una tarea de extracción síncrona

Método de solicitud

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/image-analyze/{service_id}/sync

Parámetros

  • host: El endpoint del servicio de API. Puede llamar al servicio de API a través de la red pública o mediante una VPC. Para más información, consulte Get a service endpoint.

  • workspace_name: El nombre de su workspace. Por ejemplo, default.

  • service_id: El ID del servicio integrado. Por ejemplo, ops-image-analyze-vlm-001.

Parámetros

Parámetros de encabezado

Autenticación por clave de API

Parámetro

Tipo

Obligatorio

Descripción

Valor de ejemplo

Content-Type

String

Sí

El tipo de medio de la solicitud.

application/json

Authorization

String

Sí

Clave de API

Bearer OS-d1**2a

Parámetros del cuerpo

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

service_id

String

Sí

El ID del servicio integrado. Valores válidos:

  • ops-image-analyze-vlm-001

  • ops-image-analyze-ocr-001

ops-image-analyze-vlm-001

document.url

String

No

La URL del archivo. Admite HTTP y HTTPS. Debe especificar document.url o document.content.

http://path/to/***.jpg

document.content

String

No

El contenido del archivo codificado en Base64.

Debe especificar document.url o document.content.

"aGVsbG8gd29ybGQ="

document.file_name

String

No

El nombre del archivo. Si este parámetro se deja en blanco, el nombre se infiere de document.url. Si document.url también está en blanco, debe especificar este parámetro.

test.jpg

document.file_type

String

No

El tipo de archivo. Si este parámetro está en blanco, el tipo se infiere de la extensión del nombre del archivo. Si el tipo no se puede inferir, debe especificarlo explícitamente. Ejemplos: jpg, jpeg, png, bmp y tiff.

jpg

Parámetros de respuesta

Parámetro

Tipo

Descripción

Valor de ejemplo

result.status

String

El estado de la tarea. Valores posibles:

  • PENDING: La tarea está en curso.

  • SUCCESS: La tarea se completó correctamente.

  • FAIL: La tarea falló.

SUCCESS

result.error

String

El mensaje de error cuando result.status es FAIL. De lo contrario, este campo está vacío.

Failed to decrypt the document.

result.data

Object

Los resultados del análisis de la imagen.

{"content":"The image shows XXXX",

"content_type":"plain"}

result.data.content

String

El contenido extraído de la imagen.

"XXX"

result.data.content_type

String

El tipo del contenido de salida. El valor siempre es plain.

plain

request_id

String

Un identificador único para la llamada a la API.

B4AB89C8-B135-xxxx-A6F8-2BAB801A2CE4

latency

number

La latencia de la solicitud, en ms.

10

usage

Object

Uso de esta llamada a la API.

"usage": {

"token_count": 1234

}

usage.token_count

integer

El recuento de tokens de salida. Esto aplica al servicio ops-image-analyze-vlm-001.

1234

usage.pv_count

integer

El recuento de invocaciones. El valor es fijo en 1. Esto aplica al servicio ops-image-analyze-ocr-001.

1

cURL

This section provides a sample API call and a glossary of relevant technical terms.
API call example
The following example shows how to make a synchronous call to the image analysis API endpoint.
curl -X POST \
-H"Content-Type: application/json" \
-H "Authorization: Bearer " \
 "http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/image-analyze/ops-image-analyze-vlm-001/sync" \
\ -d "{    
      \"document\":{    
            \"url\":\"https://img01.yzcdn.cn/****/2017/05/11/FoTMgBa0SvUaAeFruY7i7O_EUMhf.jpg%21middle.jpg\",   
            \"file_type\":\"jpg\"
      }
}"
Terminology
The following table lists the technical terms used in this API call, their standard formatting, and related conventions.

Term
Standard form
Type
Notes

API key
API key
Industry Standard
Standard industry term. Use lowercase in prose.

China (Hangzhou)
China (Hangzhou)
Alibaba Cloud Region
The official region name. The identifier hangzhou in the URL is for system use.

Open Search
Open Search
Alibaba Cloud Product
The official product name. The identifier opensearch in the URL is for system use.

workspace
workspace
Industry Standard
A common cloud resource concept. Use lowercase.

image analysis
image analysis
Industry Standard
A functional description. The identifier image-analyze in the URL is for system use.

sync / async
sync / async
Industry Standard
Standard terms for synchronous and asynchronous operations.

document
document
JSON Field
A standard JSON field name. Use lowercase.

url
url
JSON Field
A standard JSON field name. Use lowercase.

file_type
file_type
JSON Field
A standard JSON field name. Use lowercase.

UI elements
This API call example does not reference any user interface (UI) elements.

Ejemplo de respuesta

Respuesta exitosa

{
    "request_id":"BB5CD4C3-C8B6-40E7-A037-4ADAE88A****", 
    "latency":12525.0,
    "http_code":200,
    "result":{
        "status":"SUCCESS",
        "data":{
              "content":"The image shows a WMF blender surrounded by fruit and vegetables. Next to the blender is a cup of red juice with a straw in it. Scattered on the table are a few lemon slices, several strawberries, and some kiwifruit. In one corner of the table, there is a cut pineapple and an orange. Additionally, chopped carrots are in the blender, ready to be juiced. Everything looks healthy and delicious.",
              "content_type":"plain"
        }
      },
      "usage":{
          "token_count":95
      }
}

Respuesta de error

Una solicitud de acceso fallida devuelve un code y un message que explican el error.

{
    "request_id": "6F33AFB6-A35C-4DA7-AFD2-9EA16CCF****",
    "latency": 2.0,
    "code": "InvalidParameter",
    "http_code": 400,
    "message": "JSON parse error: Cannot deserialize value of type `ImageStorage` from String \\"xxx\\"
}

Códigos de estado

Código de estado HTTP

Código de error

Descripción

200

-

Una solicitud exitosa no garantiza el éxito de la tarea; compruebe el estado de la tarea en result.status.

404

BadRequest.TaskNotExist

La tarea no existe.

400

InvalidParameter

La solicitud no es válida.

500

InternalServerError

Ocurrió un error interno.

Para más información sobre los códigos de estado, consulte status codes.