UNPKG

woolball-client

Version:

Client-side library for Woolball enabling secure browser resource sharing for distributed AI task processing

42 lines (41 loc) 1.46 kB
"use strict"; // import { TaskData, TaskResult } from '../../types'; Object.defineProperty(exports, "__esModule", { value: true }); // let diffusionPipeline: any = null; // export async function imageGeneration(data: TaskData): Promise<TaskResult> { // const { // input, // model = 'aislamov/stable-diffusion-2-1-base-onnx', // numInferenceSteps = 30, // provider = 'diffusers', // revision = 'auto', // ...options // } = data; // try { // const { DiffusionPipeline } = await import('@aislamov/diffusers.js'); // if (!diffusionPipeline) { // const hasWebGPU = 'gpu' in navigator; // const pipelineOptions = hasWebGPU ? { revision } : { revision: 'cpu' }; // diffusionPipeline = DiffusionPipeline.fromPretrained(model, pipelineOptions); // } // const images = await diffusionPipeline.run({ // prompt: input, // numInferenceSteps, // ...options // }); // const image = images[0]; // const canvas = document.createElement('canvas'); // const ctx = canvas.getContext('2d'); // if (!ctx) { // throw new Error('Could not get canvas context'); // } // const imageData = await image.toImageData({ tensorLayout: 'NCWH', format: 'RGB' }); // ctx.putImageData(imageData, 0, 0); // const base64Image = canvas.toDataURL('image/png'); // return { // image: base64Image // }; // } catch (error) { // throw error; // } // }