文档

图片内容提取

更新时间:

AI搜索开放平台支持通过API的方式调用图片内容提取服务,您可以将服务集成到您的业务处理链路中,解析后的文本可用于图片检索问答场景。

服务列表

服务名称

服务ID

服务描述

图片内容理解服务001

ops-image-analyze-vlm-001

提供图片内容解析服务,可基于多模态大模型对图片内容进行解析理解以及文字识别,解析后的文本可用于图片检索及问答等场景。

图片文本识别服务001

ops-image-analyze-ocr-001

提供图片内容OCR识别服务,可基于OCR能力对图片文字进行识别,将文字信息提取出来,用于图片检索及问答等场景。

前提条件

  • 获取身份鉴权信息

    通过API调用AI搜索开放平台服务时,需要对调用者身份进行鉴权,如何获取鉴权信息请参见获取API-KEY

  • 获取服务调用地址

    支持通过公网和VPC两种方式调用服务,详情请参见获取服务接入地址

创建异步提取任务

请求方式

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/image-analyze/{service_id}/async
  • host:调用服务的地址,支持通过公网和VPC两种方式调用API服务,可参见获取服务接入地址

    AI apikey截图.png

  • workspace_name:工作空间名称,例如default。

  • service_id: 系统内置服务ID,例如ops-image-analyze-vlm-001。

请求参数

Header参数

API-KEY认证

参数

类型

必填

描述

示例值

Content-Type

String

请求类型:application/json

application/json

Authorization

String

API-Key

Bearer OS-d1**2a

Body参数

参数

类型

必填

描述

示例值

service_id

String

系统内置服务ID:

  • ops-image-analyze-vlm-001

  • ops-image-analyze-ocr-001

ops-image-analyze-vlm-001

document.url

String

指明文件保存的URL地址。URL和content二选一,支持http,https协议。

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

document.content

String

指明文件的内容,用Base64Encode编码。URL和content二选一。

"aGVsbG8gd29ybGQ="

document.file_name

String

文件名,如果为空从URL推断,如果URL为空需要显式指定。

test.jpg

document.file_type

String

文件类型,为空则从file_name的后缀推断,无法推断则需要显式指定,如:jpg, jpeg, png, bmp,tiff。

jpg

返回参数

参数

类型

描述

示例值

result.task_id

String

图片解析异步任务ID。

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

Curl请求示例

curl -XPOST -H"Content-Type: application/json" 
"http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/image-analyze/ops-image-analyze-vlm-001/async" 
-H "Authorization: Bearer 您的API-KEY" \ 
-d "{    
      \"document\":{    
            \"url\":\"https://img01.yzcdn.cn/****/2017/05/11/FoTMgBa0SvUaAeFruY7i7O_EUMhf.jpg%21middle.jpg\",   
            \"file_type\":\"jpg\"
      }
}"

响应示例

正常响应示例

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

异常响应示例

在访问请求出错的情况下,输出的结果中会通过code和message指明出错原因。

{
      "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"
}

获取异步提取任务状态

请求方式

GET

URL

{host}/v3/openapi/workspaces/{workspace_name}/image-analyze/{service_id}/async/task-status?task_id=${task_id}
  • host:调用服务的地址,支持通过公网和VPC两种方式调用API服务,可参见获取服务接入地址

  • workspace_name:工作空间名称,例如default。

  • service_id: 系统内置服务ID,例如ops-image-analyze-vlm-001。

  • task_id:创建图片解析响应中返回的任务标识ID,例如cd4e26f0-23ff-449c-83dc-20cc8ff1****。

请求参数

Header参数

API-KEY认证

参数

类型

必填

描述

示例

Content-Type

string

请求类型:application/json

application/json

Authorization

string

API-Key

Bearer OS-d1**2a

返回参数

参数

类型

描述

示例

request_id

String

系统对一次API调用赋予的唯一标识。

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

latency

Float/Int

请求耗时,单位ms。

3.0

result.task_id

String

异步任务ID,同步调用时无此项。

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

result.status

String

任务状态:

  • PENDING:待处理

  • SUCCESS:任务成功完成

  • FAILD:任务失败终止

SUCCESS

result.data

Object

图片解析的结果。

{"content":"图中展示的是XXXX",

"content_type":"plain"}

result.data.content

String

图片内容。

"XXX"

result.data.content_type

String

输出的文本类型:plain。

plain

usage.token_count

int

输出的token数,适用于ops-image-analyze-vlm-001服务。

1234

usage.pv_count

int

调用次数(固定为1),适用于ops-image-analyze-ocr-001服务。

1

Curl请求示例

curl -XGET -H"Content-Type: application/json" 
"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****" 
-H "Authorization: Bearer 您的API-KEY" 

响应示例

正常响应示例

{
      "request_id":"3C09570D-12DB-46B4-BF0F-A100D79B****",
      "latency":3.0,
      "http_code":200,
      "result":{
           "status":"SUCCESS",
           "data":{
                "content":"图中展示的是一台WMF品牌的搅拌机,周围摆放着各种水果和蔬菜。搅拌机旁边有一个装有红色果汁的杯子,杯子里还插着一根吸管。桌子上散落着几片柠檬、几个草莓和一些猕猴桃。在桌子的一角还有一个切好的菠萝和一个橙子。此外,还有一些胡萝卜被切成小块放在搅拌机里准备榨汁。整个场景看起来非常健康和美味。",
                "content_type":"plain"
            },
            "task_id":"d9781786-20b8-4fb4-bbb5-38f82e69****"
       },
            "usage":{
                "token_count":95
            }
}

异常响应示例

在访问请求出错的情况下,输出的结果中会通过code和message指明出错原因。

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

创建同步提取任务

请求方式

POST

URL

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

参数说明

  • host:调用服务的地址,支持通过公网和VPC两种方式调用API服务,可参见获取服务接入地址

  • workspace_name:工作空间名称,例如default。

  • service_id: 系统内置服务ID,例如ops-image-analyze-vlm-001。

请求参数

Header参数

API-KEY认证

参数

类型

必填

描述

示例值

Content-Type

String

请求类型:application/json

application/json

Authorization

String

API-Key

Bearer OS-d1**2a

Body参数

参数

类型

必填

描述

示例值

service_id

String

系统内置服务ID:

  • ops-image-analyze-vlm-001

  • ops-image-analyze-ocr-001

ops-image-analyze-vlm-001

document.url

String

指明文件保存的URL地址。URL和content二选一,支持http,https协议。

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

document.content

String

文档内容,用Base64Encode编码

与document.url二选一即可。

"aGVsbG8gd29ybGQ="

document.file_name

String

文件名,如果为空从URL推断,如果URL为空需要显式指定。

test.jpg

document.file_type

String

文件类型,如果为空从file_name的后缀推断,如果无法推断需要显式指定,如:jpg,jpeg,png, bmp,tiff。

jpg

返回参数

参数

类型

描述

示例值

result.status

String

任务状态:

  • PENDING: 待处理

  • SUCCESS: 任务处理成功

  • FAIL: 任务失败终止

SUCCESS

result.error

String

status=FAIL时的错误信息内容,正常情况为空。

文档解密失败

result.data

Object

图片解析的结果。

{"content":"图中展示的是XXXX",

"content_type":"plain"}

result.data.content

String

图片内容。

"XXX"

result.data.content_type

String

输出的文本类型:plain。

plain

request_id

String

系统对一次API调用赋予的唯一标识。

B4AB89C8-B135-xxxx-A6F8-2BAB801A2CE4

latency

Float/Int

请求耗时,单位ms。

10

usage

Object

本次调用产生的计量信息。

"usage": {

"token_count": 1234

}

usage.token_count

Int

输出的token数,适用于ops-image-analyze-vlm-001服务。

1234

usage.pv_count

Int

调用次数(固定为1),适用于ops-image-analyze-ocr-001服务。

1

Curl请求示例

curl -XPOST -H"Content-Type: application/json" 
 "http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/image-analyze/ops-image-analyze-vlm-001/sync" 
-H "Authorization: Bearer 您的API-KEY" 
\ -d "{    
      \"document\":{    
            \"url\":\"https://img01.yzcdn.cn/****/2017/05/11/FoTMgBa0SvUaAeFruY7i7O_EUMhf.jpg%21middle.jpg\",   
            \"file_type\":\"jpg\"
      }
}"

响应示例

正常响应示例

{
    "request_id":"BB5CD4C3-C8B6-40E7-A037-4ADAE88A****", 
    "latency":12525.0,
    "http_code":200,
    "result":{
        "status":"SUCCESS",
        "data":{
              "content":" 图中展示的是一台WMF品牌的搅拌机,周围摆放着各种水果和蔬菜。搅拌机旁边有一个装有红色果汁的杯子,杯子里还插着一根吸管。桌子上散落着几片柠 檬、几个草莓和一些猕猴桃。在桌子的一角还有一个切好的菠萝和一个橙子。此外,还有一些胡萝卜被切成小块放在搅拌机里准备榨汁。整个场景看起来非常健康和美味。",
              "content_type":"plain"
        }
      },
      "usage":{
          "token_count":95
      }
}

异常响应示例

在访问请求出错的情况下,输出的结果中会通过code和message指明出错原因。

{
    "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\\"
}

状态码说明

HTTP 状态码

错误码

描述

200

-

请求成功,包括任务失败场景,实际任务状态需从result.status中判断。

404

BadRequest.TaskNotExist

任务不存在。

400

InvalidParameter

不合法请求。

500

InternalServerError

内部错误。

更多状态码说明,请参见状态码说明