灵魂画手

创建时间: 2026-07-10 17:06 | 步骤: 5 个

工作流描述

基于用户上传的任意图片,生成纸质手绘手稿的'灵魂画手'风格黑白简笔画/涂鸦作品。流程包括:多模态视觉分析、提示词融合、异步图像生成、状态轮询和结果组装,产出具有娱乐性、反差感和传播力的趣味图片。

工作流输出

流程步骤 共 5 步

1视觉分析
2提示词融合
3生成图像
4轮询图像生成状态
5结果组装
工作流定义 (JSON)218 行
{
  "workflow_id": "soul_painter_generator",
  "input": {
    "source_image": {
      "field_name": "source_image",
      "description": "待转换的原始图片,支持人物、宠物、影视截图、搞笑表情、日常照片等;建议主体清晰、表情/动作有张力的图片效果更佳。传入标准Base64编码字符串(或普通URL)",
      "example": "https://oss.showapi.com/user/upload/2026/photo_001.jpg",
      "required": true,
      "type": "base64"
    },
    "prompt": {
      "field_name": "prompt",
      "description": "希望表达的情绪、动作、意志,可自由输入",
      "example": "传递'不退让、不妥协'的坚定意志",
      "required": true,
      "type": "string"
    },
    "aspect_ratio": {
      "field_name": "aspect_ratio",
      "default": "1:1",
      "description": "输出图片宽高比,可选值:1:1、3:4、4:3、16:9、9:16",
      "example": "1:1",
      "required": false,
      "type": "string"
    }
  },
  "steps": [
    {
      "id": "step_1_vision_analyzer",
      "point_code": "",
      "result": [],
      "api_code": "soul_vision_analyzer",
      "backend_type": "prompt_api",
      "status": "PENDING",
      "name": "视觉分析",
      "action": "run",
      "params": {
        "img_list": [
          {
            "url": "{{@input.source_image}}"
          }
        ],
        "user_prompt": "分析这张图片的主体类型、核心动作姿态、情绪氛围、构图特点和关键视觉元素。重点描述神韵和张力,而非精细外貌。为后续创意手绘重构提供素材。"
      }
    },
    {
      "id": "step_2_prompt_fusion",
      "point_code": "",
      "result": [],
      "api_code": "soul_prompt_fusion",
      "backend_type": "prompt_api",
      "status": "PENDING",
      "name": "提示词融合",
      "action": "run",
      "params": {
        "user_prompt": "{{@input.prompt}}",
        "visual_analysis": {
          "emotion_atmosphere": {
            "secondary_emotion": "{{@step_1_vision_analyzer.result.data.emotion_atmosphere.secondary_emotion}}",
            "atmosphere_keywords": "{{@step_1_vision_analyzer.result.data.emotion_atmosphere.atmosphere_keywords}}",
            "primary_emotion": "{{@step_1_vision_analyzer.result.data.emotion_atmosphere.primary_emotion}}"
          },
          "action_pose": {
            "pose_tension": "{{@step_1_vision_analyzer.result.data.action_pose.pose_tension}}",
            "core_action": "{{@step_1_vision_analyzer.result.data.action_pose.core_action}}",
            "limb_dynamics": "{{@step_1_vision_analyzer.result.data.action_pose.limb_dynamics}}",
            "frozen_moment": "{{@step_1_vision_analyzer.result.data.action_pose.frozen_moment}}"
          },
          "key_visual_elements": {
            "shape_signature": "{{@step_1_vision_analyzer.result.data.key_visual_elements.shape_signature}}",
            "silhouette_clarity": "{{@step_1_vision_analyzer.result.data.key_visual_elements.silhouette_clarity}}"
          },
          "composition_features": {
            "framing": "{{@step_1_vision_analyzer.result.data.composition_features.framing}}",
            "camera_angle": "{{@step_1_vision_analyzer.result.data.composition_features.camera_angle}}",
            "visual_focus": "{{@step_1_vision_analyzer.result.data.composition_features.visual_focus}}"
          },
          "style_reinterpretation_hints": {
            "essence_capture": "{{@step_1_vision_analyzer.result.data.style_reinterpretation_hints.essence_capture}}",
            "humor_opportunity": "{{@step_1_vision_analyzer.result.data.style_reinterpretation_hints.humor_opportunity}}",
            "exaggeration_potential": "{{@step_1_vision_analyzer.result.data.style_reinterpretation_hints.exaggeration_potential}}"
          },
          "subject_analysis": {
            "distinctive_features": "{{@step_1_vision_analyzer.result.data.subject_analysis.distinctive_features}}",
            "subject_type": "{{@step_1_vision_analyzer.result.data.subject_analysis.subject_type}}",
            "subject_subtype": "{{@step_1_vision_analyzer.result.data.subject_analysis.subject_subtype}}"
          }
        },
        "aspect_ratio": "{{@input.aspect_ratio}}"
      },
      "depends_on": [
        "step_1_vision_analyzer"
      ]
    },
    {
      "id": "step_3_generate_image",
      "point_code": "1",
      "result": [],
      "api_code": "3373",
      "backend_type": "sys_api",
      "status": "PENDING",
      "name": "生成图像",
      "action": "run",
      "params": {
        "referImages": [
          "{{@input.source_image}}"
        ],
        "prompt": "{{@step_2_prompt_fusion.result.data.result}}",
        "aspect_ratio": "{{@input.aspect_ratio}}"
      },
      "depends_on": [
        "step_2_prompt_fusion"
      ]
    },
    {
      "id": "step_4_poll_image_status",
      "point_code": "",
      "result": [],
      "api_code": "polling",
      "backend_type": "sys_api",
      "status": "PENDING",
      "name": "轮询图像生成状态",
      "action": "run",
      "params": {
        "result_url": "{{@step_3_generate_image.result.data.result_url}}"
      },
      "depends_on": [
        "step_3_generate_image"
      ],
      "polling": {
        "interval_seconds": 5,
        "timeout_seconds": 600,
        "success_condition": "{{@step_4_poll_image_status.result.data.task_status}} === 'SUCCEEDED'"
      }
    },
    {
      "id": "step_5_result_assemble",
      "point_code": "",
      "result": [],
      "api_code": "soul_result_assemble",
      "backend_type": "prompt_api",
      "status": "PENDING",
      "name": "结果组装",
      "action": "run",
      "params": {
        "original_input": {
          "source_image": "{{@input.source_image}}",
          "prompt": "{{@input.prompt}}",
          "aspect_ratio": "{{@input.aspect_ratio}}"
        },
        "visual_analysis_summary": {
          "mood_keywords": "{{@step_1_vision_analyzer.result.data.emotion_atmosphere.atmosphere_keywords}}",
          "primary_emotion": "{{@step_1_vision_analyzer.result.data.emotion_atmosphere.primary_emotion}}",
          "core_action": "{{@step_1_vision_analyzer.result.data.action_pose.core_action}}",
          "subject_type": "{{@step_1_vision_analyzer.result.data.subject_analysis.subject_type}}"
        },
        "prompt_fusion_summary": {
          "emotion_alignment_score": "{{@step_2_prompt_fusion.result.data.fusion_analysis.emotion_alignment_score}}",
          "style_reinforcement_tags": "{{@step_2_prompt_fusion.result.data.style_reinforcement_tags}}",
          "fusion_quality_score": "{{@step_2_prompt_fusion.result.data.prompt_quality_metrics.overall_score}}"
        },
        "generation_result": {
          "thumbnail_url": "{{@step_4_poll_image_status.result.data.result_url}}",
          "generation_time_ms": "{{@step_4_poll_image_status.result.data.total_time}}",
          "task_status": "{{@step_4_poll_image_status.result.data.task_status}}",
          "result_url": "{{@step_4_poll_image_status.result.data.result_url}}"
        }
      },
      "depends_on": [
        "step_4_poll_image_status"
      ]
    }
  ],
  "output": {
    "result_description": {
      "field_name": "result_description",
      "description": "作品结果描述",
      "value": "{{@step_5_result_assemble.result.data.result}}",
      "type": "string"
    },
    "thumbnail_url": {
      "field_name": "thumbnail_url",
      "description": "缩略图URL",
      "value": "{{@step_5_result_assemble.result.data.final_output.thumbnail_url}}",
      "type": "string"
    },
    "style_tags": {
      "field_name": "style_tags",
      "description": "风格标签体系",
      "value": "{{@step_5_result_assemble.result.data.style_tags}}",
      "type": "object"
    },
    "generation_parameters": {
      "field_name": "generation_parameters",
      "description": "生成参数记录",
      "value": "{{@step_5_result_assemble.result.data.generation_parameters}}",
      "type": "object"
    },
    "quality_assessment": {
      "field_name": "quality_assessment",
      "description": "质量评估",
      "value": "{{@step_5_result_assemble.result.data.quality_assessment}}",
      "type": "object"
    },
    "propagation_package": {
      "field_name": "propagation_package",
      "description": "传播建议包,包含平台推荐、文案建议等",
      "value": "{{@step_5_result_assemble.result.data.propagation_package}}",
      "type": "object"
    },
    "final_image_url": {
      "field_name": "final_image_url",
      "description": "生成的灵魂画手风格图片URL",
      "value": "{{@step_5_result_assemble.result.data.final_output.image_url}}",
      "type": "string"
    }
  }
}