Skip to content

图像接口

图像接口包括同步图像处理、异步图像增强 pipeline 和增强 workflow 管理。

通用输入

字段类型必填说明
input_upload_idstring条件通过本地 HTTP 上传得到的 ID。同步处理方法使用单个上传 ID。
input_pathstring条件本地文件路径。同步处理方法使用单个本地路径。
input_upload_idsstring[]条件多图增强时使用,位于 image.enhancesource 中。
input_pathsstring[]条件多图增强时使用,位于 image.enhancesource 中。
output_pathstring输出文件路径。同步处理方法使用。
output_dirstring输出目录;为空时使用 runtime 任务资产目录。

同步处理方法要求 input_upload_idinput_path 至少传一种。input_upload_id 会解析为当前连接可访问的已注册资产,再作为本地输入文件处理。

page_processingcolor_modesingle_pagecurved_bookselected_area 的取值与采集模块保持一致,详见 采集接口 / CZUR Provider 能力

同步处理方法

方法参数响应 data说明
image.process通用输入,page_processing?: string=keep_originalcolor_mode?: string=no_optimizeoutput_format?: string=jpgsingle_page?: objectcurved_book?: objectselected_area?: objectscan_device_type?: numberprofile?: CaptureProfiletask_idinput_upload_idinput_pathoutput_pathoutputs[]assets[]page_processingcolor_modeoutput_formatprocessedprovider页面处理 + 色彩模式 + 格式输出。
image.process_page通用输入,page_processing?: string=single_pagesingle_page?: objectcurved_book?: objectselected_area?: objectscan_device_type?: numberprofile?: CaptureProfiletask_idinput_upload_idinput_pathoutput_pathoutputs[]assets[]page_processingoutput_formatprocessedprovider只做页面处理,输出格式必须和输入一致。
image.apply_color_mode通用输入,color_mode?: string=no_optimizeprofile?: CaptureProfiletask_idinput_upload_idinput_pathoutput_pathoutputs[]assets[]color_modeoutput_formatprocessedprovider只做色彩处理,输出格式必须和输入一致。

同步处理由 czur-graphic-provider 执行:

行为说明
image.process依次执行页面处理、色彩处理和格式转换。output_format 优先使用显式参数;未传时从 output_path 后缀推断;仍为空时默认 jpg
image.process_page默认 page_processing=single_page。如果 output_path 后缀与输入格式不一致,会返回参数错误。
image.apply_color_mode未传 color_mode 时使用 profile.capture.color_mode;仍为空时默认 no_optimize。如果 output_path 后缀与输入格式不一致,会返回参数错误。
profile 覆盖传入 profile 时,会先读取其中的页面处理、色彩模式和输出格式;同级显式参数优先级更高。
selected_area传入后会把页面处理模式切换为 selected_area

outputs[] / assets[]

outputs[] 描述本次处理输出,assets[] 是同一批输出注册到本地资产服务后的信息。两者都可用于读取结果;前端预览通常使用 outputs[].urloutputs[].download_url

字段类型说明
asset_idstring资产 ID,例如 asset-finalasset-pageasset-color
output_idstringprovider 输出 ID,多页输出时用于区分页面。
rolestring输出角色,例如 pagecolorfinal
indexnumber输出序号,从 0 开始。
pathstring本地输出文件路径。
urlstring本地 HTTP 资产访问地址。
download_urlstring本地 HTTP 资产下载地址。
content_typestringMIME 类型。
width / heightnumber输出图片尺寸。
sizenumber输出文件大小,单位 byte。

ImageEnhancePipeline

字段类型说明
versionstring默认 image.enhance.pipeline.v1
steps[]array按顺序执行的增强步骤;缺少 type 的步骤会被忽略。
steps[].idstring步骤 ID;为空时 runtime 自动生成 step-N
steps[].typestring能力类型,例如 blank_page_detectnormalize_specdoc_crop_enhance
steps[].providerstring默认 auto。当前实现由已注册的图像增强 provider 执行。
steps[].enabledboolean默认 true;为 false 时跳过该步骤。
steps[].on_errorstringfailskip,默认 fail
steps[].paramsobject能力参数,建议从 image.enhance_capabilities 返回的 defaultsschema 生成。
target.typestring输出目标类型,默认 images。支持 imagespdfofdtiffjpgpng
target.formatstring图片输出格式,默认 jpg;文档目标会使用 target.type 作为输出格式。
target.export_typestringsingle-pagemulti-page。图片目标默认 single-page,文档目标默认 multi-page
target.path / target.output_pathstring指定最终输出文件路径。
target.dir / target.output_dirstring指定最终输出目录。
target.qualitynumber输出质量,默认 90
target.tiff_colorstringTIFF 输出颜色模式,默认 color
target.tiff_compressionstringTIFF 压缩方式,默认 lzw
options.keep_intermediateboolean是否保留中间结果,默认 false
options.include_metadataboolean是否包含元数据,默认 true

图像增强方法

方法参数响应 data说明
image.enhance_capabilitiesproviders[]pipeline_version返回 provider、能力、默认值、schema、本地化文案和在线能力可用性。
image.enhancesource.input_upload_id(s)source.input_path(s)pipeline: ImageEnhancePipelineoutput_dir?: stringacceptedtask_idstatustask提交异步增强任务。也兼容把输入字段直接放在顶层 params
image.enhance_gettask_id: string 必填task_idtask查询任务。任务只允许创建它的连接查询。
image.enhance_canceltask_id: string 必填acceptedtask_idtask取消任务。任务只允许创建它的连接取消。
image.enhance_workflow_listworkflows[]countprovider列出保存的 workflow。
image.enhance_workflow_getworkflow_id: string 必填workflow获取一个 workflow。
image.enhance_workflow_saveworkflow 对象,或直接传 namedescriptionpipelinesavedupdatedworkflow保存或更新 workflow;缺少 workflow_id 时自动生成。
image.enhance_workflow_deleteworkflow_id: string 必填deletedworkflow_idcount删除 workflow。

Enhance capabilities 响应结构

image.enhance_capabilities 使用通用 Command WS 响应包裹,增强能力列表位于 data。当前私有实现 provider 为 private-image-enhance-providerkindmixed

json
{
  "request_id": "req-enhance-cap-001",
  "id": "req-enhance-cap-001",
  "code": 0,
  "message": "ok",
  "data": {
    "pipeline_version": "image.enhance.pipeline.v1",
    "providers": [
      {
        "provider": "private-image-enhance-provider",
        "kind": "mixed",
        "available": true,
        "capabilities": [
          {
            "type": "blank_page_detect",
            "title": "Blank page detection",
            "description": "Detects blank pages and can mark or remove them from the output sequence.",
            "i18n_key": "image_enhance.blank_page_detect",
            "localized": {
              "en": {
                "title": "Blank page detection",
                "description": "Detects blank pages and can mark or remove them from the output sequence."
              },
              "zh-CN": {
                "title": "空白页检测",
                "description": "检测空白页,可选择标记空白页或从输出序列中移除。"
              }
            },
            "category": "detect",
            "runtime": "offline",
            "available": true,
            "unavailable_reason": "",
            "requires_capability": "image.enhance",
            "quota_unit": "page",
            "input": {
              "source_types": ["image", "images"],
              "min_pages": 1,
              "max_pages": 1000
            },
            "output": {
              "page_effect": "filter",
              "metadata": true
            },
            "defaults": {
              "action": "drop",
              "threshold": 0.98
            },
            "schema": {},
            "order_hint": 40,
            "version": "1.0"
          }
        ]
      }
    ]
  },
  "ts": 1710000000
}

data 字段说明:

字段类型说明
pipeline_versionstring当前可用于 ImageEnhancePipeline.version 的 pipeline 版本。
providers[]array可用图像增强 provider 列表。
providers[].providerstringprovider 名称,可用于识别能力来源。
providers[].kindstringprovider 类型,例如 offlineonlinemixed
providers[].availablebooleanprovider 当前是否可用。
providers[].capabilities[]arrayprovider 支持的增强能力列表。

当前 成者(CZUR) 提供的 private-image-enhance-provider 能力:

类型runtime分类说明
crop_enhanceofflinecleanup按上下左右百分比裁剪页面,或保留画布并将裁剪区域外填白。
normalize_specofflinenormalize统一页面规格、DPI、背景、对齐和填充规则。
rotateofflinenormalize手动旋转,或按文字方向自动转正并纠偏。
blank_page_detectofflinedetect检测空白页,可标记或从输出序列中移除。
red_green_headofflineenhance使用离线算法增强红头、绿头文件。
doc_crop_enhanceonlineenhance在线文档透视矫正、清理和视觉增强。
remove_handwritingonlineenhance在线去除手写痕迹。
doc_repaironlineenhance在线减弱纸张底纹、水印类背景和纹理噪声。
remove_moireonlineenhance在线去除摩尔纹。

在线能力需要在线增强 API Key;未配置时 available=false,并通过 unavailable_reasonlocalized.*.unavailable_reason 返回原因。

capabilities[] 字段说明:

字段类型说明
typestring能力类型;组装 pipeline 时填入 pipeline.steps[].type
title / descriptionstring默认英文标题和描述。
i18n_keystring前端或调用方可使用的国际化 key。
localized.en / localized.zh-CNobject英文和中文文案;能力不可用时可能包含 unavailable_reason
categorystring能力分类,例如 cleanupnormalizedetectenhance
runtimestring执行位置,例如 offlineonline
availableboolean当前能力是否可用;在线能力未配置时通常为 false
unavailable_reasonstring能力不可用原因;可展示给用户或用于诊断。
requires_capabilitystring调用该能力需要的授权能力,例如 image.enhanceimage.enhance.online
quota_unitstring计量单位,当前通常为 page
input.source_types[]string[]支持的输入类型,例如 imageimages
input.min_pages / input.max_pagesnumber支持的输入页数范围。
output.page_effectstring对页面的影响,例如 transformfilter
output.metadataboolean是否主要产出元数据。
defaultsobject推荐默认参数,可作为 pipeline.steps[].params 的起点。
schemaobject参数 schema,可用于生成 UI 或做参数校验。
order_hintnumberUI 排序提示。
versionstring能力定义版本。

增强任务快照

task 包含任务状态、步骤状态、页面结果和最终资产:

字段类型说明
task_idstring任务 ID。
statusstringqueuedrunningcompletedfailedcancelled
phasestring当前阶段,例如 queuedenhancingconvertingcompletedfailedcancelled
progressnumber进度,范围 0..100
input_page_count / output_page_countnumber输入页数和当前输出页数。
pages[]array当前页面列表。
steps[]array已执行步骤快照。
assets[]array完成后注册的输出资产。
warnings[]string[]非致命警告。
output_path / output_paths[]string / string[]最终输出路径。
output_type / output_format / export_typestring输出目标信息。
errorstring失败原因。
cancel_requestedboolean是否请求取消。

pages[] 字段:source_indexoutput_indexpathdroppedmetadata

steps[] 字段:idtypestatusproviderinput_page_countoutput_page_countmetadatawarnings[]message

事件

异步增强任务状态变化时,Command WS 会推送 image.enhance_changed

json
{
  "event": "image.enhance_changed",
  "code": 0,
  "message": "ok",
  "payload": {
    "task_id": "image-enhance-1",
    "task": {
      "task_id": "image-enhance-1",
      "status": "running",
      "phase": "enhancing",
      "progress": 5
    }
  },
  "ts": 1710000000
}

CZUR Open Platform Documentation