儿童成语学习卡片(读音版)

创建时间: 2026-07-01 16:19 | 步骤: 7 个

工作流描述

根据输入的成语、年龄段和画面比例,生成包含适龄化成语释义、配图(画面中央包含中文成语大字)和缓慢朗读音频的儿童成语学习卡片。工作流首先对成语进行意图解析与儿童安全审查,过滤不良元素;然后根据年龄段将释义改写为适龄故事并生成TTS朗读节奏指引;接着生成融合场景、画风与中文文字渲染约束的专业配图提示词;最后并行调用文生图和文生音频API生成多模态资源,并通过轮询获取最终结果。

工作流输出

流程步骤 共 7 步

1成语意图解析与安全审查
2成语释义适龄化改写
3成语配图提示词生成
4启动成语配图生成任务
5轮询配图生成状态
6启动成语缓慢朗读音频生成任务
7轮询音频生成状态
工作流定义 (JSON)224 行
{
  "workflow_id": "idiom_learning_card_generator",
  "input": {
    "idiom": {
      "field_name": "idiom",
      "default": "",
      "description": "要学习的4字标准中文成语,如“守株待兔”、“杀鸡儆猴”",
      "example": "守株待兔",
      "required": true,
      "type": "string"
    },
    "age_group": {
      "field_name": "age_group",
      "default": "5-7岁",
      "description": "学习对象的年龄段标签,决定释义深度与画风:3-4岁(启蒙)、5-7岁(基础)、8-10岁(进阶)",
      "example": "5-7岁",
      "required": true,
      "type": "string"
    },
    "image_ratio": {
      "field_name": "image_ratio",
      "default": "1:1",
      "description": "生成配图的画面宽高比,可选值:1:1、3:4、4:3、16:9、9:16",
      "example": "1:1",
      "required": true,
      "type": "string"
    }
  },
  "steps": [
    {
      "id": "step_1_idiom_intent_analyze",
      "point_code": "",
      "result": [],
      "backend_type": "prompt_api",
      "api_code": "idiom_intent_analyze",
      "status": "PENDING",
      "name": "成语意图解析与安全审查",
      "action": "run",
      "params": {
        "idiom": "{{@input.idiom}}"
      }
    },
    {
      "id": "step_2_age_adapted_rewrite",
      "point_code": "",
      "result": [],
      "backend_type": "prompt_api",
      "api_code": "age_adapted_rewrite",
      "status": "PENDING",
      "name": "成语释义适龄化改写",
      "action": "run",
      "params": {
        "core_concept": "{{@step_1_idiom_intent_analyze.result.data.core_concept}}",
        "idiom": "{{@input.idiom}}",
        "age_group": "{{@input.age_group}}",
        "safe_story_material": "{{@step_1_idiom_intent_analyze.result.data.safe_story_material}}"
      },
      "depends_on": [
        "step_1_idiom_intent_analyze"
      ]
    },
    {
      "id": "step_3_idiom_illustration_prompt",
      "point_code": "",
      "result": [],
      "backend_type": "prompt_api",
      "api_code": "idiom_illustration_prompt",
      "status": "PENDING",
      "name": "成语配图提示词生成",
      "action": "run",
      "params": {
        "idiom": "{{@input.idiom}}",
        "story_keywords": "{{@step_2_age_adapted_rewrite.result.data.story_keywords}}",
        "age_group": "{{@input.age_group}}",
        "safe_story_material": "{{@step_1_idiom_intent_analyze.result.data.safe_story_material}}",
        "image_ratio": "{{@input.image_ratio}}"
      },
      "depends_on": [
        "step_1_idiom_intent_analyze",
        "step_2_age_adapted_rewrite"
      ]
    },
    {
      "id": "step_4_generate_image",
      "point_code": "1",
      "result": [],
      "backend_type": "sys_api",
      "api_code": "3373",
      "status": "PENDING",
      "name": "启动成语配图生成任务",
      "action": "run",
      "params": {
        "prompt": "{{@step_3_idiom_illustration_prompt.result.data.image_prompt}}",
        "aspect_ratio": "{{@input.image_ratio}}"
      },
      "depends_on": [
        "step_3_idiom_illustration_prompt"
      ]
    },
    {
      "id": "step_5_poll_image_status",
      "point_code": "",
      "result": [],
      "backend_type": "sys_api",
      "api_code": "polling",
      "status": "PENDING",
      "name": "轮询配图生成状态",
      "action": "run",
      "params": {
        "result_url": "{{@step_4_generate_image.result.data.result_url}}"
      },
      "depends_on": [
        "step_4_generate_image"
      ],
      "polling": {
        "interval_seconds": 5,
        "timeout_seconds": 600,
        "success_condition": "{{@step_5_poll_image_status.result.data.task_status}} === 'SUCCEEDED'"
      }
    },
    {
      "id": "step_6_generate_audio",
      "point_code": "1",
      "result": [],
      "backend_type": "sys_api",
      "api_code": "3322",
      "status": "PENDING",
      "name": "启动成语缓慢朗读音频生成任务",
      "action": "run",
      "params": {
        "input": "{{@input.idiom}}",
        "model": "glm-tts",
        "voice": "tongtong",
        "speed": "{{@step_2_age_adapted_rewrite.result.data.speech_pacing_guide.speed_ratio}}"
      },
      "depends_on": [
        "step_2_age_adapted_rewrite"
      ]
    },
    {
      "id": "step_7_poll_audio_status",
      "point_code": "",
      "result": [],
      "backend_type": "sys_api",
      "api_code": "polling",
      "status": "PENDING",
      "name": "轮询音频生成状态",
      "action": "run",
      "params": {
        "result_url": "{{@step_6_generate_audio.result.data.result_url}}"
      },
      "depends_on": [
        "step_6_generate_audio"
      ],
      "polling": {
        "interval_seconds": 5,
        "timeout_seconds": 300,
        "success_condition": "{{@step_7_poll_audio_status.result.data.task_status}} === 'SUCCEEDED'"
      }
    }
  ],
  "output": {
    "card_title": {
      "field_name": "card_title",
      "description": "学习卡片标题,格式为:[成语]-[年龄段]学习卡",
      "value": "{{@input.idiom}}-{{@input.age_group}}学习卡",
      "type": "string"
    },
    "image_ratio_actual": {
      "field_name": "image_ratio_actual",
      "description": "实际使用的画面比例",
      "value": "{{@input.image_ratio}}",
      "type": "string"
    },
    "text_rendering_fallback_suggestion": {
      "field_name": "text_rendering_fallback_suggestion",
      "description": "中文文字渲染兜底建议:若生图结果中文字缺失/错字,建议在代码层使用PIL/OpenCV将成语4字叠加渲染至配图空白区域",
      "value": "{{@step_3_idiom_illustration_prompt.result.data.text_rendering_guidance.fallback_suggestion}}",
      "type": "string"
    },
    "core_concept": {
      "field_name": "core_concept",
      "description": "成语的核心教育概念(如因果关系、规则意识、坚持等)",
      "value": "{{@step_1_idiom_intent_analyze.result.data.core_concept}}",
      "type": "string"
    },
    "idiom": {
      "field_name": "idiom",
      "description": "学习的4字成语",
      "value": "{{@input.idiom}}",
      "type": "string"
    },
    "age_group": {
      "field_name": "age_group",
      "description": "目标年龄段",
      "value": "{{@input.age_group}}",
      "type": "string"
    },
    "idiom_image_url": {
      "field_name": "idiom_image_url",
      "description": "生成的成语配图URL,画面中央包含中文成语大字",
      "value": "{{@step_5_poll_image_status.result.data.result_url}}",
      "type": "string"
    },
    "safety_transformations": {
      "field_name": "safety_transformations",
      "description": "成语原始典故中不良元素的安全转化记录列表(如暴力场景转化为因果关系逻辑)",
      "value": "{{@step_1_idiom_intent_analyze.result.data.safety_transformations}}",
      "type": "array"
    },
    "idiom_audio_url": {
      "field_name": "idiom_audio_url",
      "description": "生成的成语缓慢朗读音频URL",
      "value": "{{@step_7_poll_audio_status.result.data.result_url}}",
      "type": "string"
    },
    "idiom_story": {
      "field_name": "idiom_story",
      "description": "经过安全审查和适龄化改写后的成语故事文本,适合目标年龄段儿童阅读",
      "value": "{{@step_2_age_adapted_rewrite.result.data.age_adapted_story}}",
      "type": "string"
    }
  }
}