{ "schema_version": "2", "name": "P-Q-Image-2.1-Remove-Object Workflow", "references": [ { "id": "ref_source", "label": "Photo", "role": "reference", "asset_type": "image", "inputs": [{"id": "in", "label": "Image", "type": "image"}], "outputs": [{"id": "out", "label": "Image", "type": "image"}], "x": 40, "y": 40, "width": 220, "height": 130, "data": {} }, { "id": "ref_mask", "label": "Mask (white = remove, optional)", "role": "reference", "asset_type": "image", "inputs": [{"id": "in", "label": "Image", "type": "image", "required": false}], "outputs": [{"id": "out", "label": "Image", "type": "image", "required": false}], "x": 40, "y": 200, "width": 220, "height": 130, "data": {} }, { "id": "ref_remove", "label": "Removal Instruction", "role": "reference", "asset_type": "text", "inputs": [{"id": "in", "label": "Text", "type": "text"}], "outputs": [{"id": "out", "label": "Text", "type": "text"}], "x": 300, "y": 40, "width": 280, "height": 130, "data": {"out": "Remove the person on the left."} }, { "id": "ref_variant", "label": "Variant", "role": "reference", "asset_type": "text", "inputs": [{"id": "in", "label": "Variant", "type": "text", "choices": ["6-step", "8-step", "base"]}], "outputs": [{"id": "out", "label": "Variant", "type": "text", "choices": ["6-step", "8-step", "base"]}], "x": 450, "y": 200, "width": 150, "height": 90, "data": {"out": "6-step"} }, { "id": "ref_seed", "label": "Seed", "role": "reference", "asset_type": "text", "inputs": [{"id": "in", "label": "Text", "type": "text"}], "outputs": [{"id": "out", "label": "Text", "type": "text"}], "x": 300, "y": 200, "width": 130, "height": 90, "data": {"out": "42"} }, { "id": "ref_mask_2", "label": "Second Mask (optional)", "role": "reference", "asset_type": "image", "inputs": [{"id": "in", "label": "Image", "type": "image", "required": false}], "outputs": [{"id": "out", "label": "Image", "type": "image", "required": false}], "x": 620, "y": 300, "width": 220, "height": 130, "data": {} }, { "id": "ref_remove_2", "label": "Second Removal Instruction", "role": "reference", "asset_type": "text", "inputs": [{"id": "in", "label": "Text", "type": "text"}], "outputs": [{"id": "out", "label": "Text", "type": "text"}], "x": 620, "y": 450, "width": 280, "height": 130, "data": {"out": "Remove the car parked on the right."} } ], "operators": [ { "id": "op_remove", "label": "P-Q Remove Object", "role": "operator", "kind": "fn", "fn": "pq_remove", "inputs": [ {"id": "image", "label": "Image", "type": "image", "required": true}, {"id": "prompt", "label": "Removal Instruction", "type": "text"}, {"id": "variant", "label": "Variant", "type": "text", "choices": ["6-step", "8-step", "base"], "default_value": "6-step"}, {"id": "seed", "label": "Seed", "type": "text"}, {"id": "mask", "label": "Mask", "type": "image", "required": false} ], "outputs": [{"id": "out_0", "label": "Image", "type": "image", "output_index": 0}], "x": 660, "y": 40, "width": 230, "height": 190, "data": {} }, { "id": "op_remove_2", "label": "P-Q Remove Object (chained)", "role": "operator", "kind": "fn", "fn": "pq_remove", "inputs": [ {"id": "image", "label": "Image", "type": "image", "required": true}, {"id": "prompt", "label": "Removal Instruction", "type": "text"}, {"id": "variant", "label": "Variant", "type": "text", "choices": ["6-step", "8-step", "base"], "default_value": "6-step"}, {"id": "seed", "label": "Seed", "type": "text"}, {"id": "mask", "label": "Mask", "type": "image", "required": false} ], "outputs": [{"id": "out_0", "label": "Image", "type": "image", "output_index": 0}], "x": 960, "y": 300, "width": 230, "height": 190, "data": {} } ], "subjects": [ { "id": "sub_removed", "label": "Object Removed", "role": "subject", "asset_type": "image", "inputs": [{"id": "in", "label": "Image", "type": "image"}], "outputs": [{"id": "out", "label": "Image", "type": "image"}], "x": 940, "y": 50, "width": 230, "height": 110, "data": {} }, { "id": "sub_final", "label": "Final Image", "role": "subject", "asset_type": "image", "inputs": [{"id": "in", "label": "Image", "type": "image"}], "outputs": [{"id": "out", "label": "Image", "type": "image"}], "x": 1240, "y": 310, "width": 230, "height": 110, "data": {} } ], "edges": [ {"id": "e_source", "from_node_id": "ref_source", "from_port_id": "out", "to_node_id": "op_remove", "to_port_id": "image", "type": "image"}, {"id": "e_mask", "from_node_id": "ref_mask", "from_port_id": "out", "to_node_id": "op_remove", "to_port_id": "mask", "type": "image"}, {"id": "e_remove", "from_node_id": "ref_remove", "from_port_id": "out", "to_node_id": "op_remove", "to_port_id": "prompt", "type": "text"}, {"id": "e_variant", "from_node_id": "ref_variant", "from_port_id": "out", "to_node_id": "op_remove", "to_port_id": "variant", "type": "text"}, {"id": "e_seed", "from_node_id": "ref_seed", "from_port_id": "out", "to_node_id": "op_remove", "to_port_id": "seed", "type": "text"}, {"id": "e_out", "from_node_id": "op_remove", "from_port_id": "out_0", "to_node_id": "sub_removed", "to_port_id": "in", "type": "image"}, {"id": "e_chain", "from_node_id": "op_remove", "from_port_id": "out_0", "to_node_id": "op_remove_2", "to_port_id": "image", "type": "image"}, {"id": "e_mask_2", "from_node_id": "ref_mask_2", "from_port_id": "out", "to_node_id": "op_remove_2", "to_port_id": "mask", "type": "image"}, {"id": "e_remove_2", "from_node_id": "ref_remove_2", "from_port_id": "out", "to_node_id": "op_remove_2", "to_port_id": "prompt", "type": "text"}, {"id": "e_variant_2", "from_node_id": "ref_variant", "from_port_id": "out", "to_node_id": "op_remove_2", "to_port_id": "variant", "type": "text"}, {"id": "e_seed_2", "from_node_id": "ref_seed", "from_port_id": "out", "to_node_id": "op_remove_2", "to_port_id": "seed", "type": "text"}, {"id": "e_out_2", "from_node_id": "op_remove_2", "from_port_id": "out_0", "to_node_id": "sub_final", "to_port_id": "in", "type": "image"} ] }