{"_id":"@aislamov/diffusers.js","_rev":"3-f0c3affa826b53da6bf90fc9195ad7c3","name":"@aislamov/diffusers.js","dist-tags":{"latest":"0.9.3"},"versions":{"0.9.0":{"name":"@aislamov/diffusers.js","version":"0.9.0","license":"MIT","author":{"name":"Arthur Islamov","email":"arthur@islamov.ai","url":"https://islamov.ai"},"type":"module","dependencies":{"@aislamov/onnxruntime-web64":"^1.0.3","@huggingface/hub":"^0.8.5","@types/node":"^16.18.34","@xenova/transformers":"^2.6.2","cli-progress":"^3.12.0","idb":"^7.1.1","module-alias":"^2.2.3","onnxruntime-common":"1.16.1","onnxruntime-node":"1.16.1","seedrandom":"^3.0.5","sharp":"^0.32.6","wasm-feature-detect":"^1.5.1"},"scripts":{"build":"npm run build:ts && npm run build:types","build:ts":"node scripts/build.js","build:types":"tsc --emitDeclarationOnly","test":"NODE_OPTIONS=--experimental-vm-modules npx jest","lint":"eslint --ext .ts,.tsx src"},"main":"dist/index.cjs","exports":{".":{"node":{"require":"./dist/index-node.cjs","import":"./dist/index-node.esm.js"},"default":{"require":"./dist/index.cjs","import":"./dist/index.esm.js"}}},"browser":{"fs":false,"path":false,"url":false,"sharp":false,"util":false,"onnxruntime-node":false,"cli-progress":false,"stream/web":false},"devDependencies":{"@babel/preset-typescript":"^7.23.2","@types/jest":"^29.5.5","@types/lodash":"^4.14.195","@types/seedrandom":"^3.0.6","@typescript-eslint/eslint-plugin":"^6.8.0","clang-format":"^1.8.0","esbuild":"0.19.4","eslint":"^8.52.0","eslint-config-standard":"^17.1.0","jest":"^29.7.0","ts-jest":"^29.1.1","typescript":"^5.2.2"},"overrides":{"@xenova/transformers":{"onnxruntime-common":"1.16.1","onnxruntime-node":"1.16.1"}},"gitHead":"018e5539c529d2a3d4cc835f7e2dd5c938e52ccb","types":"./dist/index.d.ts","description":"See demo here https://islamov.ai/stable-diffusion-webgpu/","_id":"@aislamov/diffusers.js@0.9.0","_nodeVersion":"20.4.0","_npmVersion":"9.7.2","dist":{"integrity":"sha512-wpSc+Cygav5qnI4iQdsMKLJ8SIj6klksli4MVnszAGVFO8iIbuw3wqAs+xy0MLSBA5ptHwPub8zEZWe7aEBocg==","shasum":"3b652b873ecb8680bf36f54daff2530fad1d03c3","tarball":"https://registry.npmjs.org/@aislamov/diffusers.js/-/diffusers.js-0.9.0.tgz","fileCount":38,"unpackedSize":258460,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF1oHRqVlVI3Bsc8dlEgZTJ8D9B/GBv/X5KJUilZ3tYQIgfthrmM/0T+WbwibbHxIVGJ1p1DxkrKPGwPx6vM0w1Tc="}]},"_npmUser":{"name":"daken","email":"arthur@islamov.ai"},"directories":{},"maintainers":[{"name":"daken","email":"arthur@islamov.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/diffusers.js_0.9.0_1698063534737_0.8160221956689471"},"_hasShrinkwrap":false},"0.9.1":{"name":"@aislamov/diffusers.js","version":"0.9.1","license":"MIT","author":{"name":"Arthur Islamov","email":"arthur@islamov.ai","url":"https://islamov.ai"},"type":"module","dependencies":{"@aislamov/onnxruntime-web64":"^1.0.3","@huggingface/hub":"^0.8.5","@types/node":"^16.18.34","@xenova/transformers":"^2.6.2","cli-progress":"^3.12.0","idb":"^7.1.1","module-alias":"^2.2.3","onnxruntime-common":"1.16.1","onnxruntime-node":"1.16.1","seedrandom":"^3.0.5","sharp":"^0.32.6","wasm-feature-detect":"^1.5.1"},"scripts":{"build":"npm run build:ts && npm run build:types","build:ts":"node scripts/build.js","build:types":"tsc --emitDeclarationOnly","test":"NODE_OPTIONS=--experimental-vm-modules npx jest","lint":"eslint --ext .ts,.tsx src"},"main":"dist/index.js","exports":{".":{"node":{"require":"./dist/index-node.cjs","import":"./dist/index-node.esm.js"},"default":{"require":"./dist/index.js","import":"./dist/index.esm.js"}}},"engines":{"node":">=18"},"browser":{"fs":false,"path":false,"url":false,"sharp":false,"util":false,"onnxruntime-node":false,"cli-progress":false,"stream/web":false},"devDependencies":{"@babel/preset-typescript":"^7.23.2","@types/jest":"^29.5.5","@types/lodash":"^4.14.195","@types/seedrandom":"^3.0.6","@typescript-eslint/eslint-plugin":"^6.8.0","clang-format":"^1.8.0","esbuild":"0.19.4","eslint":"^8.52.0","eslint-config-standard":"^17.1.0","jest":"^29.7.0","ts-jest":"^29.1.1","typescript":"^5.2.2"},"overrides":{"@xenova/transformers":{"onnxruntime-common":"1.16.1","onnxruntime-node":"1.16.1"}},"gitHead":"666e6704c16f3e6713d036e75832aa0924289ef0","types":"./dist/index.d.ts","description":"See demo here https://islamov.ai/stable-diffusion-webgpu/","_id":"@aislamov/diffusers.js@0.9.1","_nodeVersion":"20.4.0","_npmVersion":"9.7.2","dist":{"integrity":"sha512-SH9g+DZ4U88JoQ0ZbQLbXtA5qvf5MagIbtmNYVUjDKOZ1IJrB0jXQRISS/aVRu64jODFIUVcp4TcEn0gqDpe2Q==","shasum":"e5452eaab89717d52015776736b4273bb27bf000","tarball":"https://registry.npmjs.org/@aislamov/diffusers.js/-/diffusers.js-0.9.1.tgz","fileCount":40,"unpackedSize":258692,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBp7Hk6j9+fJgxN4GmO5NtWSpOitdKT2Nxbby0M1kT/GAiEAzuDK+b8K3oe6EaDBItDgquf/onuB1rWB03C5Op4EuxY="}]},"_npmUser":{"name":"daken","email":"arthur@islamov.ai"},"directories":{},"maintainers":[{"name":"daken","email":"arthur@islamov.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/diffusers.js_0.9.1_1698153627139_0.5094470397878945"},"_hasShrinkwrap":false},"0.9.2":{"name":"@aislamov/diffusers.js","version":"0.9.2","license":"MIT","author":{"name":"Arthur Islamov","email":"arthur@islamov.ai","url":"https://islamov.ai"},"type":"module","dependencies":{"@aislamov/onnxruntime-web64":"^1.0.3","@huggingface/hub":"^0.8.5","@types/node":"^16.18.34","@xenova/transformers":"^2.6.2","cli-progress":"^3.12.0","idb":"^7.1.1","module-alias":"^2.2.3","onnxruntime-common":"1.16.1","onnxruntime-node":"1.16.1","seedrandom":"^3.0.5","sharp":"^0.32.6","wasm-feature-detect":"^1.5.1"},"scripts":{"build":"npm run build:ts && npm run build:types","build:ts":"node scripts/build.js","build:types":"tsc --emitDeclarationOnly","test":"NODE_OPTIONS=--experimental-vm-modules npx jest","lint":"eslint --ext .ts,.tsx src"},"main":"dist/index.js","exports":{".":{"node":{"require":"./dist/index-node.cjs","import":"./dist/index-node.esm.js"},"default":{"require":"./dist/index.js","import":"./dist/index.esm.js"}}},"engines":{"node":">=18"},"browser":{"fs":false,"path":false,"url":false,"sharp":false,"util":false,"onnxruntime-node":false,"cli-progress":false,"stream/web":false},"devDependencies":{"@babel/preset-typescript":"^7.23.2","@types/jest":"^29.5.5","@types/lodash":"^4.14.195","@types/seedrandom":"^3.0.6","@typescript-eslint/eslint-plugin":"^6.8.0","clang-format":"^1.8.0","esbuild":"0.19.4","eslint":"^8.52.0","eslint-config-standard":"^17.1.0","jest":"^29.7.0","ts-jest":"^29.1.1","typescript":"^5.2.2"},"overrides":{"@xenova/transformers":{"onnxruntime-common":"1.16.1","onnxruntime-node":"1.16.1"}},"gitHead":"103b758d5b8a837f7dc0eff5bfce7d8a69f97c13","types":"./dist/index.d.ts","description":"See demo here https://islamov.ai/stable-diffusion-webgpu/","_id":"@aislamov/diffusers.js@0.9.2","_nodeVersion":"20.4.0","_npmVersion":"9.7.2","dist":{"integrity":"sha512-lLi9TNG61O3GyikiUVp6X7hFgTnVqKBktj94OXQv7lph+H+1ByBOGPOOU4P8lK/gBDSO6gj7sld9dPQCUJgATA==","shasum":"09c86d2d017bb1547c61dc764202101f2e624321","tarball":"https://registry.npmjs.org/@aislamov/diffusers.js/-/diffusers.js-0.9.2.tgz","fileCount":42,"unpackedSize":264389,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxB1l54BuMH3iH/E8izgOKn2Xrb53SnJGbUstfF3i9JgIgOTHZgKbxMoIIqUhhJl39q+9d8GvYzauUnBvMHhXB3i8="}]},"_npmUser":{"name":"daken","email":"arthur@islamov.ai"},"directories":{},"maintainers":[{"name":"daken","email":"arthur@islamov.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/diffusers.js_0.9.2_1698223380678_0.09920366960508176"},"_hasShrinkwrap":false},"0.9.3":{"name":"@aislamov/diffusers.js","version":"0.9.3","license":"MIT","author":{"name":"Arthur Islamov","email":"arthur@islamov.ai","url":"https://islamov.ai"},"type":"module","dependencies":{"@aislamov/onnxruntime-web64":"^1.0.6","@huggingface/hub":"^0.8.5","@types/node":"^16.18.34","@xenova/transformers":"^2.6.2","cli-progress":"^3.12.0","idb":"^7.1.1","module-alias":"^2.2.3","onnxruntime-common":"1.16.1","onnxruntime-node":"1.16.1","seedrandom":"^3.0.5","sharp":"^0.32.6","wasm-feature-detect":"^1.5.1"},"scripts":{"build":"npm run build:ts && npm run build:types","build:ts":"node scripts/build.js","build:types":"tsc --emitDeclarationOnly","test":"NODE_OPTIONS=--experimental-vm-modules npx jest","lint":"eslint --ext .ts,.tsx src"},"main":"dist/index.js","exports":{".":{"node":{"require":"./dist/index-node.cjs","import":"./dist/index-node.esm.js"},"default":{"require":"./dist/index.js","import":"./dist/index.esm.js"}}},"engines":{"node":">=18"},"browser":{"fs":false,"path":false,"url":false,"sharp":false,"util":false,"onnxruntime-node":false,"cli-progress":false,"stream/web":false},"devDependencies":{"@babel/preset-typescript":"^7.23.2","@types/jest":"^29.5.5","@types/lodash":"^4.14.195","@types/seedrandom":"^3.0.6","@typescript-eslint/eslint-plugin":"^6.8.0","clang-format":"^1.8.0","esbuild":"0.19.4","eslint":"^8.52.0","eslint-config-standard":"^17.1.0","jest":"^29.7.0","ts-jest":"^29.1.1","typescript":"^5.2.2"},"overrides":{"@xenova/transformers":{"onnxruntime-common":"1.16.1","onnxruntime-node":"1.16.1"}},"gitHead":"5a0284522f2c1e0f8c9fd5198a75fca0aa0fc6f3","types":"./dist/index.d.ts","description":"See demo here https://islamov.ai/stable-diffusion-webgpu/","_id":"@aislamov/diffusers.js@0.9.3","_nodeVersion":"20.4.0","_npmVersion":"9.7.2","dist":{"integrity":"sha512-KBtkzH+qNRRmmZAJyzsynBDBsZkEg+N2aTonM+YJH8L7L5bucnj9IIICAGiEWvm5OKMhi0g3VS4ZLVNRixyLEQ==","shasum":"9a3194511f782e665c966ef3ecbc09952b8fc9b0","tarball":"https://registry.npmjs.org/@aislamov/diffusers.js/-/diffusers.js-0.9.3.tgz","fileCount":52,"unpackedSize":351709,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJd7JepqvlYZNhixBdEK3eRLB+HoApKSEjit2N9MYO0gIgSwgSeUHlQcgJZXZ8qq2OO6j9BJ43Y4gS0DlzwOFTBPY="}]},"_npmUser":{"name":"daken","email":"arthur@islamov.ai"},"directories":{},"maintainers":[{"name":"daken","email":"arthur@islamov.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/diffusers.js_0.9.3_1699354469121_0.7981313934983061"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-23T12:18:54.646Z","0.9.0":"2023-10-23T12:18:54.967Z","modified":"2023-11-07T10:54:29.669Z","0.9.1":"2023-10-24T13:20:27.458Z","0.9.2":"2023-10-25T08:43:00.914Z","0.9.3":"2023-11-07T10:54:29.395Z"},"maintainers":[{"name":"daken","email":"arthur@islamov.ai"}],"description":"See demo here https://islamov.ai/stable-diffusion-webgpu/","author":{"name":"Arthur Islamov","email":"arthur@islamov.ai","url":"https://islamov.ai"},"license":"MIT","readme":"# diffusers.js library for running diffusion models on GPU/WebGPU\n\nSee demo here https://islamov.ai/stable-diffusion-webgpu/\n\n## Installation\n\n```bash\nnpm i @aislamov/diffusers.js\n```\n\n## Usage\n\nBrowser (see examples/react)\n```js\nimport { DiffusionPipeline } from '@aislamov/diffusers.js'\n\nconst pipe = DiffusionPipeline.fromPretrained('aislamov/stable-diffusion-2-1-base-onnx')\nconst images = pipe.run({\n  prompt: \"an astronaut running a horse\",\n  numInferenceSteps: 30,\n})\n\nconst canvas = document.getElementById('canvas')\nconst data = await images[0].toImageData({ tensorLayout: 'NCWH', format: 'RGB' });\ncanvas.getContext('2d').putImageData(data, 0, 0);\n```\n\nNode.js (see examples/node)\n```js\nimport { DiffusionPipeline } from '@aislamov/diffusers.js'\nimport { PNG } from 'pngjs'\n\nconst pipe = DiffusionPipeline.fromPretrained('aislamov/stable-diffusion-2-1-base-onnx')\nconst images = pipe.run({\n  prompt: \"an astronaut running a horse\",\n  numInferenceSteps: 30,\n})\n\nconst data = await images[0].mul(255).round().clipByValue(0, 255).transpose(0, 2, 3, 1)\n\nconst p = new PNG({ width: 512, height: 512, inputColorType: 2 })\np.data = Buffer.from(data.data)\np.pack().pipe(fs.createWriteStream('output.png')).on('finish', () => {\n  console.log('Image saved as output.png');\n})\n```\n\n'aislamov/stable-diffusion-2-1-base-onnx' model is optimized for GPU and will fail to load without CUDA/DML/WebGPU support. Please use 'cpu' revision on a machine without GPU.\n```js\nconst pipe = DiffusionPipeline.fromPretrained('aislamov/stable-diffusion-2-1-base-onnx', { revision: 'cpu' })\n```\n\n## Running examples\nBrowser/React\n```bash\nnpm install && npm run build\ncd examples/react && npm install\nnpm run start\n```\n\nNode\n```bash\nnpm install && npm run build\ncd examples/node && npm install\nnode src/txt2img.mjs --prompt \"a dog\" --rev cpu\n```\n","readmeFilename":"README.md"}