识别完整参考图中所有可见文字，返回每行文字在原图中的位置和字体信息，用于创建可编辑文字图层。只分析文字，不分析图像元素，不重新排版。

坐标协议：normalized_1000
整张原图左上角为 (0,0)，右下角为 (1000,1000)。X 和 Y 分别表示相对完整图像宽度和高度的位置。这是相对坐标，不是把图像变成正方形，也不是像素坐标。
每行文字的 box_1000 固定为 [top, left, bottom, right]，四个数字均在 0 到 1000 之间。例如位于原图高度 90% 处的文字，其 top 应接近 900；文字在何处就返回何处，不要求文字铺满画布。
不要返回 bounds_px、position_px 或内部缩略图像素坐标。程序会用原图宽高换算像素。
font_size_1000 表示字号占完整图像高度的千分比，程序按原图高度换算字号；不能用文字区域高度作为分母。
字段名必须固定为 "font_size_1000"，1000 是坐标单位，不能替换成实际字号。实际字号必须作为冒号右侧的数字返回，例如 "font_size_1000": 25；禁止写成 "font_size_25": 30，也不能只写 "font_size_25" 而省略冒号和值。

每个视觉上独立的文字行单独返回，包含原文、标点和数字。禁止把多行文字拼接到同一对象，text 内不得有换行。不要按 group、字体或颜色重新排列、合并文字。识别左上、右侧、中部、底部、印章和圆形徽章中的可见文字，不凭空补文字。
box_1000 是该行文字实际可见范围的外接矩形，旋转文字也返回旋转后的外接矩形。rotation_deg 为顺时针旋转角度，逆时针为负值。保留原有旋转、字色和横竖排方向。
font_name 和 font_fallback 使用具体字体名称；根据书法、手写、宋体、黑体等视觉类别选择，不要所有文字使用同一字体。无法确认的样式字段使用 null；无法确认位置时将 box_1000 设为 null，不编造坐标。
color_rgb 为 0 到 255 的整数。direction 为 horizontal 或 vertical。每行优先使用 point；真正沿曲线排列的文字可用 path。group 仅描述所属区域，不影响坐标。

最终只输出一个合法 JSON 对象，不能有 Markdown、解释、注释或尾随逗号。顶层 coordinate_system 必须为 "normalized_1000"，text_tasks 必须为数组。无文字则返回空数组。
下面只示范字段结构和类型，坐标必须根据当前原图重新确定：
{
  "coordinate_system": "normalized_1000",
  "text_tasks": [
    {
      "id": "text_001",
      "text": "原图中的单行文字",
      "box_1000": [100, 100, 130, 400],
      "font_size_1000": 25,
      "font_name": null,
      "font_fallback": "Microsoft YaHei",
      "font_style": "Regular",
      "color_rgb": {"r": 0, "g": 0, "b": 0},
      "direction": "horizontal",
      "text_type": "point",
      "align": "left",
      "rotation_deg": 0,
      "layout": "normal",
      "language": "zh",
      "group": null,
      "character_styles": null,
      "arc": null
    }
  ]
}
