{ saveHandler(); }} >
{#if config}
{$i18n.t("General")}
{$i18n.t("Image Generation")}
{$i18n.t("Create Image")}
{#if config.ENABLE_IMAGE_GENERATION}
{$i18n.t("Model")}
{#each models ?? [] as model}
{model.name}
{/each}
{$i18n.t("Image Size")}
{#if ["comfyui", "automatic1111", ""].includes(config?.IMAGE_GENERATION_ENGINE)}
{$i18n.t("Steps")}
{/if}
{$i18n.t("Image Prompt Generation")}
{/if}
{$i18n.t("Image Generation Engine")}
{$i18n.t("Default (Open AI)")}
{$i18n.t("ComfyUI")}
{$i18n.t("Automatic1111")}
{$i18n.t("Gemini")}
{#if config?.IMAGE_GENERATION_ENGINE === "openai"}
{$i18n.t("OpenAI API Base URL")}
{$i18n.t("OpenAI API Key")}
{$i18n.t("OpenAI API Version")}
{$i18n.t("Additional Parameters")}
{:else if (config?.IMAGE_GENERATION_ENGINE ?? "automatic1111") === "automatic1111"}
{$i18n.t("AUTOMATIC1111 Base URL")}
{ await updateConfigHandler(); const res = await verifyConfigUrl( localStorage.token, ).catch((error) => { toast.error(`${error}`); return null; }); if (res) { toast.success( $i18n.t( "Server connection verified", ), ); } }} >
{$i18n.t( "Include `--api` flag when running stable-diffusion-rexpro", )}
{$i18n.t("(e.g. `sh rexpro.sh --api`)")}
{$i18n.t( "AUTOMATIC1111 Api Auth String", )}
{$i18n.t( "Include `--api-auth` flag when running stable-diffusion-rexpro", )}
{$i18n .t( "(e.g. `sh rexpro.sh --api --api-auth username_password`)", ) .replace("_", ":")}
{$i18n.t("Additional Parameters")}
{:else if config?.IMAGE_GENERATION_ENGINE === "comfyui"}
{$i18n.t("ComfyUI Base URL")}
{ await updateConfigHandler(); const res = await verifyConfigUrl( localStorage.token, ).catch((error) => { toast.error(`${error}`); return null; }); if (res) { toast.success( $i18n.t( "Server connection verified", ), ); } }} >
{$i18n.t("ComfyUI API Key")}
{ const file = e.target.files[0]; const reader = new FileReader(); reader.onload = (e) => { config.COMFYUI_WORKFLOW = e.target.result; e.target.value = null; }; reader.readAsText(file); }} />
{$i18n.t("ComfyUI Workflow")}
{#if config.COMFYUI_WORKFLOW}
{ // open code editor modal showComfyUIWorkflowEditor = true; }} > {$i18n.t("Edit")}
{/if}
{ document .getElementById( "upload-comfyui-workflow-input", ) ?.click(); }} > {$i18n.t("Upload")}
{ config.COMFYUI_WORKFLOW = e; }} onSave={() => { console.log("Saved"); }} /> {$i18n.t( "Make sure to export a workflow.json file as API format from ComfyUI.", )}
{#if config.COMFYUI_WORKFLOW}
{$i18n.t("ComfyUI Workflow Nodes")}
{#each REQUIRED_WORKFLOW_NODES as node}
{node.type}{node.type === "prompt" ? "*" : ""}
:
{/each}
{$i18n.t( "*Prompt node ID(s) are required for image generation", )}
{/if} {:else if config?.IMAGE_GENERATION_ENGINE === "gemini"}
{$i18n.t("Gemini Base URL")}
{$i18n.t("Gemini API Key")}
{$i18n.t("Gemini Endpoint Method")}
predict
generateContent
{/if}
{$i18n.t("Edit Image")}
{$i18n.t("Image Edit")}
{#if config?.ENABLE_IMAGE_GENERATION && config?.ENABLE_IMAGE_EDIT}
{$i18n.t("Model")}
{#each models ?? [] as model}
{model.name}
{/each}
{$i18n.t("Image Size")}
{/if}
{$i18n.t("Image Edit Engine")}
{$i18n.t("Default (Open AI)")}
{$i18n.t("ComfyUI")}
{$i18n.t("Gemini")}
{#if config?.IMAGE_EDIT_ENGINE === "openai"}
{$i18n.t("OpenAI API Base URL")}
{$i18n.t("OpenAI API Key")}
{$i18n.t("OpenAI API Version")}
{:else if config?.IMAGE_EDIT_ENGINE === "comfyui"}
{$i18n.t("ComfyUI Base URL")}
{ await updateConfigHandler(); const res = await verifyConfigUrl( localStorage.token, ).catch((error) => { toast.error(`${error}`); return null; }); if (res) { toast.success( $i18n.t( "Server connection verified", ), ); } }} >
{$i18n.t("ComfyUI API Key")}
{ const file = e.target.files[0]; const reader = new FileReader(); reader.onload = (e) => { config.IMAGES_EDIT_COMFYUI_WORKFLOW = e.target.result; e.target.value = null; }; reader.readAsText(file); }} />
{$i18n.t("ComfyUI Workflow")}
{#if config.IMAGES_EDIT_COMFYUI_WORKFLOW}
{ // open code editor modal showComfyUIEditWorkflowEditor = true; }} > {$i18n.t("Edit")}
{/if}
{ document .getElementById( "upload-comfyui-edit-workflow-input", ) ?.click(); }} > {$i18n.t("Upload")}
{ config.IMAGES_EDIT_COMFYUI_WORKFLOW = e; }} onSave={() => { console.log("Saved"); }} /> {$i18n.t( "Make sure to export a workflow.json file as API format from ComfyUI.", )}
{#if config.IMAGES_EDIT_COMFYUI_WORKFLOW}
{$i18n.t("ComfyUI Workflow Nodes")}
{#each REQUIRED_EDIT_WORKFLOW_NODES as node}
{node.type}{[ "prompt", "image", ].includes(node.type) ? "*" : ""}
:
{/each}
{$i18n.t( "*Prompt node ID(s) are required for image generation", )}
{/if} {:else if config?.IMAGE_EDIT_ENGINE === "gemini"}
{$i18n.t("Gemini Base URL")}
{$i18n.t("Gemini API Key")}
{/if}
{/if}
{$i18n.t("Save")} {#if loading}
{/if}