diff --git a/src/composables/useTemplateWorkflows.ts b/src/composables/useTemplateWorkflows.ts index f10237a7d..5ad92a8d6 100644 --- a/src/composables/useTemplateWorkflows.ts +++ b/src/composables/useTemplateWorkflows.ts @@ -160,12 +160,15 @@ export function useTemplateWorkflows() { */ const fetchTemplateJson = async (id: string, sourceModule: string) => { if (sourceModule === 'default') { - // Default templates provided by frontend are served on this separate endpoint - return fetch(api.fileURL(`/templates/${id}.json`)).then((r) => r.json()) + // Default templates provided by frontend are served as static files + const response = await fetch(api.fileURL(`/templates/${id}.json`)) + return response.json() } else { - return fetch( - api.apiURL(`/workflow_templates/${sourceModule}/${id}.json`) - ).then((r) => r.json()) + // Custom node templates served via API + const response = await api.fetchApi( + `/workflow_templates/${sourceModule}/${id}.json` + ) + return response.json() } } diff --git a/src/extensions/core/load3d/ModelExporter.ts b/src/extensions/core/load3d/ModelExporter.ts index 3181cbd36..f676ea4d9 100644 --- a/src/extensions/core/load3d/ModelExporter.ts +++ b/src/extensions/core/load3d/ModelExporter.ts @@ -4,6 +4,7 @@ import { OBJExporter } from 'three/examples/jsm/exporters/OBJExporter' import { STLExporter } from 'three/examples/jsm/exporters/STLExporter' import { t } from '@/i18n' +import { api } from '@/scripts/api' import { useToastStore } from '@/stores/toastStore' export class ModelExporter { @@ -36,7 +37,18 @@ export class ModelExporter { desiredFilename: string ): Promise { try { - const response = await fetch(url) + // Check if this is a ComfyUI relative URL + const isComfyUrl = url.startsWith('/') || url.includes('/view?') + + let response: Response + if (isComfyUrl) { + // Use ComfyUI API client for internal URLs + response = await fetch(api.apiURL(url)) + } else { + // Use direct fetch for external URLs + response = await fetch(url) + } + const blob = await response.blob() const link = document.createElement('a')