"use strict"; function imageScaleNode(imageSource, size) { return { class_type: "ImageScale", inputs: { image: imageSource, upscale_method: "lanczos", width: size.width, height: size.height, crop: "disabled", }, }; } function buildUpscaleWorkflow(uploaded, modelName, scaledSize) { const imageSource = scaledSize ? ["2", 0] : ["1", 0]; const workflow = { "1": { class_type: "LoadImage", inputs: { image: uploaded.loadImageName, }, }, "3": { class_type: "UpscaleModelLoader", inputs: { model_name: modelName, }, }, "4": { class_type: "ImageUpscaleWithModel", inputs: { upscale_model: ["3", 0], image: imageSource, }, }, "5": { class_type: "SaveImage", inputs: { images: ["4", 0], filename_prefix: "prompt_editor/upscale", }, }, }; if (scaledSize) { workflow["2"] = imageScaleNode(["1", 0], scaledSize); } return { workflow, saveNodeId: "5", }; } function makePublicResult(image) { const parameters = new URLSearchParams({ filename: image.filename, subfolder: image.subfolder || "", type: image.type || "output", }); return { ...image, url: `/api/result?${parameters.toString()}`, }; } module.exports = { imageScaleNode, buildUpscaleWorkflow, makePublicResult, };