{"_id":"@duyquangnvx/lobe-tts","_rev":"9-af0421a1c94c1b998a38c428ff624ed0","name":"@duyquangnvx/lobe-tts","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"@duyquangnvx/lobe-tts","version":"1.0.0","author":{"name":"Duy Quang","email":"duyquangnvx@gmail.com"},"license":"MIT","_id":"@duyquangnvx/lobe-tts@1.0.0","maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"homepage":"https://github.com/duyquangnvx/lobe-tts","bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"dist":{"shasum":"eb55bd55ff9d3a81d685c8ccf0357b5cf5d0ad28","tarball":"https://registry.npmjs.org/@duyquangnvx/lobe-tts/-/lobe-tts-1.0.0.tgz","fileCount":129,"integrity":"sha512-uNWd6gIpzdHIjkc0AyhjFI30P6sT6sEN6i/YMfWuJkGqMyeqD/gynLiu0Cr33ydYmfq7OQwfCZKFMpj9btCL7A==","signatures":[{"sig":"MEYCIQCsLvr1qa0fEFs+bd0tCIZtqNMwzW1NiP6IPS0a2iPVlQIhALZjUfAsyWjyqU2R8OqIQuvXS32MjIWhv9Z7Db/SreaA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493501},"main":"es/index.js","types":"es/index.d.ts","module":"es/index.js","gitHead":"a3ddbc2f057f5390a58f7b52b0245ae1ca31c7d4","scripts":{"ci":"npm run lint && npm run type-check && npm run doctor","dev":"father dev","lint":"eslint \"{src,api,lib}/**/*.{js,jsx,ts,tsx}\" --fix","test":"vitest --passWithNoTests","build":"tsx ./scripts/clean.ts && father build && tsx ./scripts/build.ts","setup":"dumi setup","start":"node server.js","doctor":"father doctor","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","prepack":"clean-package","prepare":"husky && npm run setup","release":"semantic-release","docs:dev":"concurrently -n docs,api -c blue,yellow \"dumi dev\" \"vercel dev -y\"","postpack":"clean-package restore","prettier":"prettier -c --write \"**/**\"","docs:build":"npm run build && dumi build","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","lint:circular":"dpdm src/**/*.{ts,tsx}  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage  --passWithNoTests","prepublishOnly":"npm run build","docs:build-analyze":"ANALYZE=1 dumi build"},"_npmUser":{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"},"repository":{"url":"git+https://github.com/duyquangnvx/lobe-tts.git","type":"git"},"_npmVersion":"10.9.2","description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"swr":"^2.3.3","uuid":"^11.1.0","openai":"^4.93.0","unified":"^11.0.5","url-join":"^5.0.0","lodash-es":"^4.17.21","antd-style":"^3.7.1","remark-gfm":"^4.0.1","@lobehub/ui":"v2.0.0","lucide-react":"^0.469.0","query-string":"^9.1.1","remark-parse":"^11.0.0","markdown-to-txt":"^2.0.1","react-layout-kit":"^1.9.1","unist-util-visit":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.19.3","dpdm":"^3.14.0","dumi":"^2.4.20","husky":"^9.1.7","jsdom":"^25.0.1","react":"^19.1.0","eslint":"^8.57.1","father":"^4.5.2","remark":"^15.0.1","vercel":"^41.5.0","vitest":"~1.2.2","prettier":"^3.5.3","react-dom":"^19.1.0","stylelint":"^15.11.0","commitlint":"^19.8.0","remark-cli":"^12.0.1","typescript":"^5.8.3","@types/node":"^22.14.0","@types/uuid":"^10.0.0","lint-staged":"^15.5.0","@types/react":"^19.1.0","@vercel/node":"^5.1.14","concurrently":"^9.1.2","@lobehub/lint":"^1.26.1","clean-package":"^2.2.0","@commitlint/cli":"^19.8.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.2","semantic-release":"^21.1.2","@lobehub/i18n-cli":"^1.20.3","dumi-theme-lobehub":"v2.0.0","@vitest/coverage-v8":"~1.2.2","babel-plugin-antd-style":"^1.0.4"},"peerDependencies":{"antd":"^5.23.0","react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lobe-tts_1.0.0_1759153724477_0.018724924395413067","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@duyquangnvx/lobe-tts","version":"1.0.3","author":"Duy Quang <duyquangnvx@gmail.com>","license":"MIT","_id":"@duyquangnvx/lobe-tts@1.0.3","maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"homepage":"https://github.com/duyquangnvx/lobe-tts","bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"dist":{"shasum":"4858ce00c0a769d61ae240a2cb5cb5653ba6f47b","tarball":"https://registry.npmjs.org/@duyquangnvx/lobe-tts/-/lobe-tts-1.0.3.tgz","fileCount":129,"integrity":"sha512-vLmg9LHGS2uwTE6UDbkG4VPmitsKrTxIHI2674nPPYBx6IPO7qeReDtBh1D7YFxQSaP0fxvlZ7cJ453HgrBGgQ==","signatures":[{"sig":"MEYCIQCLFbJfpqp+TOLj9hCpcRo9Be5jn+7pIxtubLMyiNN0MQIhAN4azcA+Ji0ashQ+gi184Fx+tXD3QwSDo4Xt5Chgqk8h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":496318},"main":"es/index.js","types":"es/index.d.ts","module":"es/index.js","shasum":"4858ce00c0a769d61ae240a2cb5cb5653ba6f47b","scripts":{"ci":"npm run lint && npm run type-check && npm run doctor","dev":"father dev","lint":"eslint \"{src,api,lib}/**/*.{js,jsx,ts,tsx}\" --fix","test":"vitest --passWithNoTests","build":"tsx ./scripts/clean.ts && father build && tsx ./scripts/build.ts","setup":"dumi setup","doctor":"father doctor","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","prepack":"clean-package","prepare":"husky && npm run setup","publish":"bun publish --access public","release":"semantic-release","docs:dev":"concurrently -n docs,api -c blue,yellow \"dumi dev\" \"vercel dev -y\"","postpack":"clean-package restore","prettier":"prettier -c --write \"**/**\"","docs:build":"npm run build && dumi build","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","lint:circular":"dpdm src/**/*.{ts,tsx}  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage  --passWithNoTests","prepublishOnly":"npm run build","docs:build-analyze":"ANALYZE=1 dumi build"},"_npmUser":{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"},"_integrity":"sha512-vLmg9LHGS2uwTE6UDbkG4VPmitsKrTxIHI2674nPPYBx6IPO7qeReDtBh1D7YFxQSaP0fxvlZ7cJ453HgrBGgQ==","repository":{"url":"https://github.com/duyquangnvx/lobe-tts.git","type":"git"},"_npmVersion":"10.8.3","description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"swr":"^2.3.3","uuid":"^11.1.0","openai":"^4.93.0","unified":"^11.0.5","url-join":"^5.0.0","lodash-es":"^4.17.21","antd-style":"^3.7.1","remark-gfm":"^4.0.1","@lobehub/ui":"v2.0.0","lucide-react":"^0.469.0","query-string":"^9.1.1","remark-parse":"^11.0.0","markdown-to-txt":"^2.0.1","react-layout-kit":"^1.9.1","unist-util-visit":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","dpdm":"^3.14.0","dumi":"^2.4.20","husky":"^9.1.7","jsdom":"^25.0.1","react":"^19.1.0","eslint":"^8.57.1","father":"^4.5.2","remark":"^15.0.1","vercel":"^41.5.0","vitest":"~1.2.2","prettier":"^3.5.3","react-dom":"^19.1.0","stylelint":"^15.11.0","commitlint":"^19.8.0","remark-cli":"^12.0.1","typescript":"^5.8.3","@types/node":"^22.14.0","@types/uuid":"^10.0.0","lint-staged":"^15.5.0","@types/react":"^19.1.0","@vercel/node":"^5.1.14","concurrently":"^9.1.2","@lobehub/lint":"^1.26.1","clean-package":"^2.2.0","@commitlint/cli":"^19.8.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.2","semantic-release":"^21.1.2","@lobehub/i18n-cli":"^1.20.3","dumi-theme-lobehub":"v2.0.0","@vitest/coverage-v8":"~1.2.2","babel-plugin-antd-style":"^1.0.4"},"peerDependencies":{"antd":"^5.23.0","react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lobe-tts_1.0.3_1759155937900_0.33128061358162264","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@duyquangnvx/lobe-tts","version":"1.0.4","author":{"name":"Duy Quang","email":"duyquangnvx@gmail.com"},"license":"MIT","_id":"@duyquangnvx/lobe-tts@1.0.4","maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"homepage":"https://github.com/duyquangnvx/lobe-tts","bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"dist":{"shasum":"47d2297ea7702380b7231927d71fe5ddd4f498f7","tarball":"https://registry.npmjs.org/@duyquangnvx/lobe-tts/-/lobe-tts-1.0.4.tgz","fileCount":129,"integrity":"sha512-F6GufKiT9j3lMBzLniMN29g3XB+jC9pW3OsBMJqpiOnFzS/Ly8xRXbCyiFy6NAXFNugde0/4XWuufxn76s5NSA==","signatures":[{"sig":"MEYCIQD/HM5OAebfIJZU0aX/iMP5MEIW3vwbMEQnVgZpIh3GuwIhAKJSGZavriDjQR7dITlRhZOiPTuei5wSpcaKNOwKEVta","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493497},"main":"es/index.js","types":"es/index.d.ts","module":"es/index.js","gitHead":"aa3f44a3f7866d1ecae1669b2a00027228978c61","scripts":{"ci":"npm run lint && npm run type-check && npm run doctor","dev":"father dev","lint":"eslint \"{src,api,lib}/**/*.{js,jsx,ts,tsx}\" --fix","test":"vitest --passWithNoTests","build":"tsx ./scripts/clean.ts && father build && tsx ./scripts/build.ts","setup":"dumi setup","start":"node server.js","doctor":"father doctor","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","prepack":"clean-package","prepare":"husky && npm run setup","publish":"npm publish --access public","release":"semantic-release","docs:dev":"concurrently -n docs,api -c blue,yellow \"dumi dev\" \"vercel dev -y\"","postpack":"clean-package restore","prettier":"prettier -c --write \"**/**\"","docs:build":"npm run build && dumi build","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","lint:circular":"dpdm src/**/*.{ts,tsx}  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage  --passWithNoTests","prepublishOnly":"npm run build","docs:build-analyze":"ANALYZE=1 dumi build"},"_npmUser":{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"},"repository":{"url":"git+https://github.com/duyquangnvx/lobe-tts.git","type":"git"},"_npmVersion":"9.9.4","description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"swr":"^2.3.3","uuid":"^11.1.0","openai":"^4.93.0","unified":"^11.0.5","url-join":"^5.0.0","lodash-es":"^4.17.21","antd-style":"^3.7.1","remark-gfm":"^4.0.1","@lobehub/ui":"v2.0.0","lucide-react":"^0.469.0","query-string":"^9.1.1","remark-parse":"^11.0.0","markdown-to-txt":"^2.0.1","react-layout-kit":"^1.9.1","unist-util-visit":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","dpdm":"^3.14.0","dumi":"^2.4.20","husky":"^9.1.7","jsdom":"^25.0.1","react":"^19.1.0","eslint":"^8.57.1","father":"^4.5.2","remark":"^15.0.1","vercel":"^41.5.0","vitest":"~1.2.2","prettier":"^3.5.3","react-dom":"^19.1.0","stylelint":"^15.11.0","commitlint":"^19.8.0","remark-cli":"^12.0.1","typescript":"^5.8.3","@types/node":"^22.14.0","@types/uuid":"^10.0.0","lint-staged":"^15.5.0","@types/react":"^19.1.0","@vercel/node":"^5.1.14","concurrently":"^9.1.2","@lobehub/lint":"^1.26.1","clean-package":"^2.2.0","@commitlint/cli":"^19.8.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.2","semantic-release":"^21.1.2","@lobehub/i18n-cli":"^1.20.3","dumi-theme-lobehub":"v2.0.0","@vitest/coverage-v8":"~1.2.2","babel-plugin-antd-style":"^1.0.4"},"peerDependencies":{"antd":"^5.23.0","react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lobe-tts_1.0.4_1759157420715_0.3930408396543166","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@duyquangnvx/lobe-tts","version":"1.0.5","author":{"name":"Duy Quang","email":"duyquangnvx@gmail.com"},"license":"MIT","_id":"@duyquangnvx/lobe-tts@1.0.5","maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"homepage":"https://github.com/duyquangnvx/lobe-tts","bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"dist":{"shasum":"5837f16fdfda1c960b5dcb164ea38c30d17550bb","tarball":"https://registry.npmjs.org/@duyquangnvx/lobe-tts/-/lobe-tts-1.0.5.tgz","fileCount":129,"integrity":"sha512-Fyz/y5Ocyn6uqvRylbBu/vQEe9/WIfyL0MLeFof0o80mxxZJGQrdZ2WJ+1nmf9J6cITmRXnO0vfMCBIHVy5oww==","signatures":[{"sig":"MEQCIAf7c8ZjYM9evNTy9t4xUHnkl+IYjzuiUz3oSdgIGbI3AiAG4JiKogBR+cJ1SRAii+8JziWHocXq76Xv0Ipsb1f4kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494851},"main":"es/index.js","types":"es/index.d.ts","module":"es/index.js","gitHead":"aa3f44a3f7866d1ecae1669b2a00027228978c61","scripts":{"ci":"npm run lint && npm run type-check && npm run doctor","dev":"father dev","lint":"eslint \"{src,api,lib}/**/*.{js,jsx,ts,tsx}\" --fix","test":"vitest --passWithNoTests","build":"tsx ./scripts/clean.ts && father build && tsx ./scripts/build.ts","setup":"dumi setup","start":"node server.js","doctor":"father doctor","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","prepack":"clean-package","prepare":"husky && npm run setup","release":"semantic-release","docs:dev":"concurrently -n docs,api -c blue,yellow \"dumi dev\" \"vercel dev -y\"","postpack":"clean-package restore","prettier":"prettier -c --write \"**/**\"","docs:build":"npm run build && dumi build","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","lint:circular":"dpdm src/**/*.{ts,tsx}  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage  --passWithNoTests","prepublishOnly":"npm run build","docs:build-analyze":"ANALYZE=1 dumi build"},"_npmUser":{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"},"repository":{"url":"git+https://github.com/duyquangnvx/lobe-tts.git","type":"git"},"_npmVersion":"10.9.2","description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"swr":"^2.3.3","uuid":"^11.1.0","openai":"^4.93.0","unified":"^11.0.5","url-join":"^5.0.0","lodash-es":"^4.17.21","antd-style":"^3.7.1","remark-gfm":"^4.0.1","@lobehub/ui":"v2.0.0","lucide-react":"^0.469.0","query-string":"^9.1.1","remark-parse":"^11.0.0","markdown-to-txt":"^2.0.1","react-layout-kit":"^1.9.1","unist-util-visit":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","dpdm":"^3.14.0","dumi":"^2.4.20","husky":"^9.1.7","jsdom":"^25.0.1","react":"^19.1.0","eslint":"^8.57.1","father":"^4.5.2","remark":"^15.0.1","vercel":"^41.5.0","vitest":"~1.2.2","prettier":"^3.5.3","react-dom":"^19.1.0","stylelint":"^15.11.0","commitlint":"^19.8.0","remark-cli":"^12.0.1","typescript":"^5.8.3","@types/node":"^22.14.0","@types/uuid":"^10.0.0","lint-staged":"^15.5.0","@types/react":"^19.1.0","@vercel/node":"^5.1.14","concurrently":"^9.1.2","@lobehub/lint":"^1.26.1","clean-package":"^2.2.0","@commitlint/cli":"^19.8.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.2","semantic-release":"^21.1.2","@lobehub/i18n-cli":"^1.20.3","dumi-theme-lobehub":"v2.0.0","@vitest/coverage-v8":"~1.2.2","babel-plugin-antd-style":"^1.0.4"},"peerDependencies":{"antd":"^5.23.0","react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lobe-tts_1.0.5_1759246414030_0.7025797698772072","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@duyquangnvx/lobe-tts","version":"1.0.6","author":{"name":"Duy Quang","email":"duyquangnvx@gmail.com"},"license":"MIT","_id":"@duyquangnvx/lobe-tts@1.0.6","maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"homepage":"https://github.com/duyquangnvx/lobe-tts","bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"dist":{"shasum":"13e0267daeaaed08157d06ba38ce90c10dfafa9c","tarball":"https://registry.npmjs.org/@duyquangnvx/lobe-tts/-/lobe-tts-1.0.6.tgz","fileCount":129,"integrity":"sha512-RYYRfgQ7KYu+limX10KHxB/8i6i8VZ8hlxOpoSkcqqSoXICk+Fd8mUIY4mtAqhScui/dENNzNMDUJ1DV7i5JNQ==","signatures":[{"sig":"MEUCICfY2I7/KRFZzaJJSXJA3H4kKe5+0d1d+4HdY5oBQD8KAiEA9pFnYLkZ9bbzNA1sic+Ck3Yus6qp+MKPTwG+u3qZuVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495320},"main":"es/index.js","types":"es/index.d.ts","module":"es/index.js","gitHead":"d6af4bcce0ffdb9a94c11e181392207a488117aa","scripts":{"ci":"npm run lint && npm run type-check && npm run doctor","dev":"father dev","lint":"eslint \"{src,api,lib}/**/*.{js,jsx,ts,tsx}\" --fix","test":"vitest --passWithNoTests","build":"tsx ./scripts/clean.ts && father build && tsx ./scripts/build.ts","setup":"dumi setup","start":"node server.js","doctor":"father doctor","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","prepack":"clean-package","prepare":"husky && npm run setup","release":"semantic-release","docs:dev":"concurrently -n docs,api -c blue,yellow \"dumi dev\" \"vercel dev -y\"","postpack":"clean-package restore","prettier":"prettier -c --write \"**/**\"","docs:build":"npm run build && dumi build","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","lint:circular":"dpdm src/**/*.{ts,tsx}  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage  --passWithNoTests","prepublishOnly":"npm run build","docs:build-analyze":"ANALYZE=1 dumi build"},"_npmUser":{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"},"repository":{"url":"git+https://github.com/duyquangnvx/lobe-tts.git","type":"git"},"_npmVersion":"10.9.2","description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"swr":"^2.3.3","uuid":"^11.1.0","openai":"^4.93.0","unified":"^11.0.5","url-join":"^5.0.0","lodash-es":"^4.17.21","antd-style":"^3.7.1","remark-gfm":"^4.0.1","@lobehub/ui":"v2.0.0","lucide-react":"^0.469.0","query-string":"^9.1.1","remark-parse":"^11.0.0","markdown-to-txt":"^2.0.1","react-layout-kit":"^1.9.1","unist-util-visit":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","dpdm":"^3.14.0","dumi":"^2.4.20","husky":"^9.1.7","jsdom":"^25.0.1","react":"^19.1.0","eslint":"^8.57.1","father":"^4.5.2","remark":"^15.0.1","vercel":"^41.5.0","vitest":"~1.2.2","prettier":"^3.5.3","react-dom":"^19.1.0","stylelint":"^15.11.0","commitlint":"^19.8.0","remark-cli":"^12.0.1","typescript":"^5.8.3","@types/node":"^22.14.0","@types/uuid":"^10.0.0","lint-staged":"^15.5.0","@types/react":"^19.1.0","@vercel/node":"^5.1.14","concurrently":"^9.1.2","@lobehub/lint":"^1.26.1","clean-package":"^2.2.0","@commitlint/cli":"^19.8.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.2","semantic-release":"^21.1.2","@lobehub/i18n-cli":"^1.20.3","dumi-theme-lobehub":"v2.0.0","@vitest/coverage-v8":"~1.2.2","babel-plugin-antd-style":"^1.0.4"},"peerDependencies":{"antd":"^5.23.0","react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lobe-tts_1.0.6_1759248891026_0.8263358249155606","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@duyquangnvx/lobe-tts","version":"1.0.7","author":{"name":"Duy Quang","email":"duyquangnvx@gmail.com"},"license":"MIT","_id":"@duyquangnvx/lobe-tts@1.0.7","maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"homepage":"https://github.com/duyquangnvx/lobe-tts","bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"dist":{"shasum":"0fe4575d8fc4f171afa9451341d28241c1f23e0e","tarball":"https://registry.npmjs.org/@duyquangnvx/lobe-tts/-/lobe-tts-1.0.7.tgz","fileCount":129,"integrity":"sha512-9CuLZ9veMjU6OAtGVUWt5cCo2vroY4w0t54HYLu5gnxfmIWOgQWeIXTq83tTeG6TsILTJVswdA3ggGvhT56iMA==","signatures":[{"sig":"MEUCIQCCgl4ORnJ6+fszXQTgLO3RNuwm1N6FFwrKsJomQcqGeQIgeWn7yNKSqiFW+1qcIX0ATW1ewx57qgTP2dAq7YfsREU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495735},"main":"es/index.js","types":"es/index.d.ts","module":"es/index.js","gitHead":"54b0b1fe663f9d9fc79e040eac76b3c835b24261","scripts":{"ci":"npm run lint && npm run type-check && npm run doctor","dev":"father dev","lint":"eslint \"{src,api,lib}/**/*.{js,jsx,ts,tsx}\" --fix","test":"vitest --passWithNoTests","build":"tsx ./scripts/clean.ts && father build && tsx ./scripts/build.ts","setup":"dumi setup","start":"node server.js","doctor":"father doctor","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","prepack":"clean-package","prepare":"husky && npm run setup","release":"semantic-release","docs:dev":"concurrently -n docs,api -c blue,yellow \"dumi dev\" \"vercel dev -y\"","postpack":"clean-package restore","prettier":"prettier -c --write \"**/**\"","docs:build":"npm run build && dumi build","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","lint:circular":"dpdm src/**/*.{ts,tsx}  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage  --passWithNoTests","prepublishOnly":"npm run build","docs:build-analyze":"ANALYZE=1 dumi build"},"_npmUser":{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"},"repository":{"url":"git+https://github.com/duyquangnvx/lobe-tts.git","type":"git"},"_npmVersion":"10.9.2","description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"swr":"^2.3.3","uuid":"^11.1.0","openai":"^4.93.0","unified":"^11.0.5","url-join":"^5.0.0","lodash-es":"^4.17.21","antd-style":"^3.7.1","remark-gfm":"^4.0.1","@lobehub/ui":"v2.0.0","lucide-react":"^0.469.0","query-string":"^9.1.1","remark-parse":"^11.0.0","markdown-to-txt":"^2.0.1","react-layout-kit":"^1.9.1","unist-util-visit":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","dpdm":"^3.14.0","dumi":"^2.4.20","husky":"^9.1.7","jsdom":"^25.0.1","react":"^19.1.0","eslint":"^8.57.1","father":"^4.5.2","remark":"^15.0.1","vercel":"^41.5.0","vitest":"~1.2.2","prettier":"^3.5.3","react-dom":"^19.1.0","stylelint":"^15.11.0","commitlint":"^19.8.0","remark-cli":"^12.0.1","typescript":"^5.8.3","@types/node":"^22.14.0","@types/uuid":"^10.0.0","lint-staged":"^15.5.0","@types/react":"^19.1.0","@vercel/node":"^5.1.14","concurrently":"^9.1.2","@lobehub/lint":"^1.26.1","clean-package":"^2.2.0","@commitlint/cli":"^19.8.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.2","semantic-release":"^21.1.2","@lobehub/i18n-cli":"^1.20.3","dumi-theme-lobehub":"v2.0.0","@vitest/coverage-v8":"~1.2.2","babel-plugin-antd-style":"^1.0.4"},"peerDependencies":{"antd":"^5.23.0","react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lobe-tts_1.0.7_1759250596441_0.025821802543998018","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@duyquangnvx/lobe-tts","version":"1.0.8","author":{"name":"Duy Quang","email":"duyquangnvx@gmail.com"},"license":"MIT","_id":"@duyquangnvx/lobe-tts@1.0.8","maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"homepage":"https://github.com/duyquangnvx/lobe-tts","bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"dist":{"shasum":"d41ede59e1c9dbd703d92059913a0cac84623447","tarball":"https://registry.npmjs.org/@duyquangnvx/lobe-tts/-/lobe-tts-1.0.8.tgz","fileCount":129,"integrity":"sha512-1dCBuGjGHSZE3u7jIziJZO9c5O4O64LFNTbeVcLE3mlb2lD+2d5T1jH5LdQyxBH4Ml+JqSXSpPmig2kwk5TuWQ==","signatures":[{"sig":"MEQCIA9rvECUI7le5ngaryk8qADY+T9WATI2BlsGJMWg9HLyAiAdjXUGyjmL6DrkNjIN5kYZAHlplOX5llQWV7IJRitIwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495931},"main":"es/index.js","types":"es/index.d.ts","module":"es/index.js","gitHead":"54b0b1fe663f9d9fc79e040eac76b3c835b24261","scripts":{"ci":"npm run lint && npm run type-check && npm run doctor","dev":"father dev","lint":"eslint \"{src,api,lib}/**/*.{js,jsx,ts,tsx}\" --fix","test":"vitest --passWithNoTests","build":"tsx ./scripts/clean.ts && father build && tsx ./scripts/build.ts","setup":"dumi setup","start":"node server.js","doctor":"father doctor","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","prepack":"clean-package","prepare":"husky && npm run setup","release":"semantic-release","docs:dev":"concurrently -n docs,api -c blue,yellow \"dumi dev\" \"vercel dev -y\"","postpack":"clean-package restore","prettier":"prettier -c --write \"**/**\"","docs:build":"npm run build && dumi build","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","lint:circular":"dpdm src/**/*.{ts,tsx}  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage  --passWithNoTests","prepublishOnly":"npm run build","docs:build-analyze":"ANALYZE=1 dumi build"},"_npmUser":{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"},"repository":{"url":"git+https://github.com/duyquangnvx/lobe-tts.git","type":"git"},"_npmVersion":"10.9.2","description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"swr":"^2.3.3","uuid":"^11.1.0","openai":"^4.93.0","unified":"^11.0.5","url-join":"^5.0.0","lodash-es":"^4.17.21","antd-style":"^3.7.1","remark-gfm":"^4.0.1","@lobehub/ui":"v2.0.0","lucide-react":"^0.469.0","query-string":"^9.1.1","remark-parse":"^11.0.0","markdown-to-txt":"^2.0.1","react-layout-kit":"^1.9.1","unist-util-visit":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","dpdm":"^3.14.0","dumi":"^2.4.20","husky":"^9.1.7","jsdom":"^25.0.1","react":"^19.1.0","eslint":"^8.57.1","father":"^4.5.2","remark":"^15.0.1","vercel":"^41.5.0","vitest":"~1.2.2","prettier":"^3.5.3","react-dom":"^19.1.0","stylelint":"^15.11.0","commitlint":"^19.8.0","remark-cli":"^12.0.1","typescript":"^5.8.3","@types/node":"^22.14.0","@types/uuid":"^10.0.0","lint-staged":"^15.5.0","@types/react":"^19.1.0","@vercel/node":"^5.1.14","concurrently":"^9.1.2","@lobehub/lint":"^1.26.1","clean-package":"^2.2.0","@commitlint/cli":"^19.8.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.2","semantic-release":"^21.1.2","@lobehub/i18n-cli":"^1.20.3","dumi-theme-lobehub":"v2.0.0","@vitest/coverage-v8":"~1.2.2","babel-plugin-antd-style":"^1.0.4"},"peerDependencies":{"antd":"^5.23.0","react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lobe-tts_1.0.8_1759637970995_0.1136842228973789","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@duyquangnvx/lobe-tts","version":"1.0.9","author":{"name":"Duy Quang","email":"duyquangnvx@gmail.com"},"license":"MIT","_id":"@duyquangnvx/lobe-tts@1.0.9","maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"homepage":"https://github.com/duyquangnvx/lobe-tts","bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"dist":{"shasum":"822bc66e001d5a189f08a1b8646252bbbf3f204d","tarball":"https://registry.npmjs.org/@duyquangnvx/lobe-tts/-/lobe-tts-1.0.9.tgz","fileCount":129,"integrity":"sha512-Steo2L70MGlsWm8K2i8MeUaBW7wpGduWZ2ruUjFyCQ5DxNNERrSnfDiTLJVAsO+GZumpYAIaoZljANla8taTdw==","signatures":[{"sig":"MEQCIHuWRM0IpFq8pPkc5RHqt/10pH9JBtogfq0Ogu4FPuJOAiASu72BZBiat+Rr2F4DHrVoMSy5g4VtUvvDEwEOIyb1qQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":496058},"main":"es/index.js","types":"es/index.d.ts","module":"es/index.js","gitHead":"54b0b1fe663f9d9fc79e040eac76b3c835b24261","scripts":{"ci":"npm run lint && npm run type-check && npm run doctor","dev":"father dev","lint":"eslint \"{src,api,lib}/**/*.{js,jsx,ts,tsx}\" --fix","test":"vitest --passWithNoTests","build":"tsx ./scripts/clean.ts && father build && tsx ./scripts/build.ts","setup":"dumi setup","start":"node server.js","doctor":"father doctor","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","prepack":"clean-package","prepare":"husky && npm run setup","release":"semantic-release","docs:dev":"concurrently -n docs,api -c blue,yellow \"dumi dev\" \"vercel dev -y\"","postpack":"clean-package restore","prettier":"prettier -c --write \"**/**\"","docs:build":"npm run build && dumi build","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","lint:circular":"dpdm src/**/*.{ts,tsx}  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage  --passWithNoTests","prepublishOnly":"npm run build","docs:build-analyze":"ANALYZE=1 dumi build"},"_npmUser":{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"},"repository":{"url":"git+https://github.com/duyquangnvx/lobe-tts.git","type":"git"},"_npmVersion":"10.9.2","description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"swr":"^2.3.3","uuid":"^11.1.0","openai":"^4.93.0","natural":"^8.1.0","unified":"^11.0.5","url-join":"^5.0.0","lodash-es":"^4.17.21","antd-style":"^3.7.1","remark-gfm":"^4.0.1","@lobehub/ui":"v2.0.0","lucide-react":"^0.469.0","query-string":"^9.1.1","remark-parse":"^11.0.0","markdown-to-txt":"^2.0.1","react-layout-kit":"^1.9.1","unist-util-visit":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","dpdm":"^3.14.0","dumi":"^2.4.20","husky":"^9.1.7","jsdom":"^25.0.1","react":"^19.1.0","eslint":"^8.57.1","father":"^4.5.2","remark":"^15.0.1","vercel":"^41.5.0","vitest":"~1.2.2","prettier":"^3.5.3","react-dom":"^19.1.0","stylelint":"^15.11.0","commitlint":"^19.8.0","remark-cli":"^12.0.1","typescript":"^5.8.3","@types/node":"^22.14.0","@types/uuid":"^10.0.0","lint-staged":"^15.5.0","@types/react":"^19.1.0","@vercel/node":"^5.1.14","concurrently":"^9.1.2","@lobehub/lint":"^1.26.1","clean-package":"^2.2.0","@commitlint/cli":"^19.8.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.2","semantic-release":"^21.1.2","@lobehub/i18n-cli":"^1.20.3","dumi-theme-lobehub":"v2.0.0","@vitest/coverage-v8":"~1.2.2","babel-plugin-antd-style":"^1.0.4"},"peerDependencies":{"antd":"^5.23.0","react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lobe-tts_1.0.9_1759640064655_0.4788481561390132","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@duyquangnvx/lobe-tts","version":"1.0.10","description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","homepage":"https://github.com/duyquangnvx/lobe-tts","bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"repository":{"type":"git","url":"git+https://github.com/duyquangnvx/lobe-tts.git"},"license":"MIT","author":{"name":"Duy Quang","email":"duyquangnvx@gmail.com"},"sideEffects":false,"main":"es/index.js","module":"es/index.js","types":"es/index.d.ts","scripts":{"build":"tsx ./scripts/clean.ts && father build && tsx ./scripts/build.ts","ci":"npm run lint && npm run type-check && npm run doctor","dev":"father dev","docs:build":"npm run build && dumi build","docs:build-analyze":"ANALYZE=1 dumi build","docs:dev":"concurrently -n docs,api -c blue,yellow \"dumi dev\" \"vercel dev -y\"","doctor":"father doctor","i18n-md":"lobe-i18n md","lint":"eslint \"{src,api,lib}/**/*.{js,jsx,ts,tsx}\" --fix","lint:circular":"dpdm src/**/*.{ts,tsx}  --warning false  --tree false  --exit-code circular:1  -T true","lint:md":"remark . --quiet --frail --output","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepack":"clean-package","postpack":"clean-package restore","prepare":"husky && npm run setup","prepublishOnly":"npm run build","prettier":"prettier -c --write \"**/**\"","release":"semantic-release","setup":"dumi setup","test":"vitest --passWithNoTests","test:coverage":"vitest run --coverage  --passWithNoTests","test:update":"vitest -u","type-check":"tsc --noEmit","start":"node server.js"},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{mjs,cjs}":["prettier --write","eslint --fix"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"dependencies":{"@lobehub/ui":"v2.0.0","antd-style":"^3.7.1","compromise":"^14.14.4","lodash-es":"^4.17.21","lucide-react":"^0.469.0","markdown-to-txt":"^2.0.1","natural":"^8.1.0","openai":"^4.93.0","query-string":"^9.1.1","react-layout-kit":"^1.9.1","remark-gfm":"^4.0.1","remark-parse":"^11.0.0","swr":"^2.3.3","unified":"^11.0.5","unist-util-visit":"^5.0.0","url-join":"^5.0.0","uuid":"^11.1.0"},"devDependencies":{"@commitlint/cli":"^19.8.0","@lobehub/i18n-cli":"^1.20.3","@lobehub/lint":"^1.26.1","@types/lodash-es":"^4.17.12","@types/node":"^22.14.0","@types/react":"^19.1.0","@types/react-dom":"^19.1.2","@types/uuid":"^10.0.0","@vercel/node":"^5.1.14","@vitest/coverage-v8":"~1.2.2","babel-plugin-antd-style":"^1.0.4","clean-package":"^2.2.0","commitlint":"^19.8.0","concurrently":"^9.1.2","dpdm":"^3.14.0","dumi":"^2.4.20","dumi-theme-lobehub":"v2.0.0","eslint":"^8.57.1","father":"^4.5.2","husky":"^9.1.7","jsdom":"^25.0.1","lint-staged":"^15.5.0","prettier":"^3.5.3","react":"^19.1.0","react-dom":"^19.1.0","remark":"^15.0.1","remark-cli":"^12.0.1","semantic-release":"^21.1.2","stylelint":"^15.11.0","tsx":"^4.19.3","typescript":"^5.8.3","vercel":"^41.5.0","vitest":"~1.2.2"},"peerDependencies":{"antd":"^5.23.0","react":"^19.0.0","react-dom":"^19.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_id":"@duyquangnvx/lobe-tts@1.0.10","gitHead":"54b0b1fe663f9d9fc79e040eac76b3c835b24261","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-hBJxZbglhxA0mgm4WPysAa0w38fJuRkxzZJk7rpLddk+LzooZjdCPfDbHiYD34NTI+z105FwOydvxbpPMiTTAw==","shasum":"e2f579ded02164403f9d3569861d305002309ee5","tarball":"https://registry.npmjs.org/@duyquangnvx/lobe-tts/-/lobe-tts-1.0.10.tgz","fileCount":129,"unpackedSize":496048,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCWZ21KpmiL+ltE25VXZtFUZ09bDELdg2ym+6H4ZOX0TAIhAN52B7y1jnZ3GwlZSgTyqaqALlhwHaBDj0Wqj3NhYzLe"}]},"_npmUser":{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"},"directories":{},"maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lobe-tts_1.0.10_1759641130628_0.9011562408273226"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-29T13:48:44.377Z","modified":"2025-10-05T05:12:11.077Z","1.0.0":"2025-09-29T13:48:44.663Z","1.0.3":"2025-09-29T14:25:38.095Z","1.0.4":"2025-09-29T14:50:20.886Z","1.0.5":"2025-09-30T15:33:34.314Z","1.0.6":"2025-09-30T16:14:51.234Z","1.0.7":"2025-09-30T16:43:16.616Z","1.0.8":"2025-10-05T04:19:31.200Z","1.0.9":"2025-10-05T04:54:24.850Z","1.0.10":"2025-10-05T05:12:10.883Z"},"bugs":{"url":"https://github.com/duyquangnvx/lobe-tts/issues/new/choose"},"author":{"name":"Duy Quang","email":"duyquangnvx@gmail.com"},"license":"MIT","homepage":"https://github.com/duyquangnvx/lobe-tts","repository":{"type":"git","url":"git+https://github.com/duyquangnvx/lobe-tts.git"},"description":"A high-quality & reliable TTS React Hooks library with enhanced SSML options support","maintainers":[{"name":"duyquangnvx","email":"duyquangnvx@gmail.com"}],"readme":"<div align=\"center\"><a name=\"readme-top\"></a>\n\n<img height=\"120\" src=\"https://registry.npmmirror.com/@lobehub/assets-logo/1.0.0/files/assets/logo-3d.webp\">\n<img height=\"120\" src=\"https://gw.alipayobjects.com/zos/kitchen/qJ3l3EPsdW/split.svg\">\n<img height=\"120\" src=\"https://registry.npmmirror.com/@lobehub/assets-emoji/1.3.0/files/assets/microphone.webp\">\n\n<h1>Lobe TTS</h1>\n\nA high-quality & reliable TTS/STT library for Server and Browser\n\n[![][npm-release-shield]][npm-release-link]\n[![][github-releasedate-shield]][github-releasedate-link]\n[![][github-action-test-shield]][github-action-test-link]\n[![][github-action-release-shield]][github-action-release-link]<br/>\n[![][github-contributors-shield]][github-contributors-link]\n[![][github-forks-shield]][github-forks-link]\n[![][github-stars-shield]][github-stars-link]\n[![][github-issues-shield]][github-issues-link]\n[![][github-license-shield]][github-license-link]<br/>\n[![][sponsor-shield]][sponsor-link]\n\n[Documents](https://tts.lobehub.com) · [Changelog](./CHANGELOG.md) · [Report Bug][github-issues-link] · [Request Feature][github-issues-link]\n\n![](https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284077909-854cc09a-b3c7-4fc4-9ea7-f7137abba351.png)\n\n</div>\n\n<details>\n<summary><kbd>Table of contents</kbd></summary>\n\n#### TOC\n\n- [📖 Introduction](#-introduction)\n- [📦 Usage](#-usage)\n  - [Generate Speech on server](#generate-speech-on-server)\n  - [Use the React Component](#use-the-react-component)\n- [📦 Installation](#-installation)\n  - [Compile with Next.js](#compile-with-nextjs)\n- [⌨️ Local Development](#️-local-development)\n- [🤝 Contributing](#-contributing)\n- [🩷 Sponsor](#-sponsor)\n- [🔗 Links](#-links)\n  - [More Products](#more-products)\n  - [Design Resources](#design-resources)\n  - [Development Resources](#development-resources)\n\n####\n\n</details>\n\n## 📖 Introduction\n\n[🤖 Lobe Chat](https://github.com/lobehub/lobe-chat) supports Text-to-Speech (TTS) and Speech-to-Text (STT) technologies, enabling our application to convert text messages into clear voice outputs,\nallowing users to interact with our conversational agent as if they were talking to a real person. Users can choose from a variety of voices to pair with the agent.\n\nIn the process of implementing this feature, we found that there was no satisfactory TTS (Text-to-Speech) frontend library available on the market.\nAs a result, we invested a lot of effort, including data conversion, audio progress management, and speech visualization, among other tasks.\n\n> \\[!NOTE]\n>\n> Therefore, we decided to refine our implementation and make it open source, hoping to assist developers who wish to implement TTS.\n> [@lobehub/tts][npm-release-link] is a high-quality TTS toolkit developed in TypeScript, which supports usage both on the server-side and in the browser.\n>\n> - **Server-side:** With just 15 lines of code, you can achieve high-quality voice generation capabilities comparable to OpenAI's TTS service. It currently supports EdgeSpeechTTS, MicrosoftTTS, OpenAITTS, and OpenAISTT.\n> - **Browser-side:** It provides high-quality React Hooks and visual audio components, supporting common functions such as loading, playing, pausing, and dragging the timeline. Additionally, it offers a very rich set of capabilities for adjusting the audio track styles.\n\n## 📦 Usage\n\n### Generate Speech on server\n\nrun the script below use Bun: `bun index.js`\n\n```js\n// index.js\nimport { EdgeSpeechTTS } from '@lobehub/tts';\nimport { Buffer } from 'buffer';\nimport fs from 'fs';\nimport path from 'path';\n\n// Instantiate EdgeSpeechTTS\nconst tts = new EdgeSpeechTTS({ locale: 'en-US' });\n\n// Create speech synthesis request payload\nconst payload = {\n  input: 'This is a speech demonstration',\n  options: {\n    voice: 'en-US-GuyNeural',\n  },\n};\n\n// Call create method to synthesize speech\nconst response = await tts.create(payload);\n\n// generate speech file\nconst mp3Buffer = Buffer.from(await response.arrayBuffer());\nconst speechFile = path.resolve('./speech.mp3');\n\nfs.writeFileSync(speechFile, mp3Buffer);\n```\n\n<https://github.com/lobehub/lobe-tts/assets/28616219/3ab68c5a-2745-442e-8d66-ca410192ace1>\n\n> \\[!IMPORTANT]\\\n> **Run on Node.js**\n>\n> As the Node.js environment lacks the `WebSocket` instance, we need to polyfill WebSocket. This can be done by importing the ws package.\n\n```js\n// import at the top of the file\nimport WebSocket from 'ws';\n\nglobal.WebSocket = WebSocket;\n```\n\n### Use the React Component\n\n```tsx\nimport { AudioPlayer, AudioVisualizer, useAudioPlayer } from '@lobehub/tts/react';\n\nexport default () => {\n  const { ref, isLoading, ...audio } = useAudioPlayer(url);\n\n  return (\n    <Flexbox align={'center'} gap={8}>\n      <AudioPlayer audio={audio} isLoading={isLoading} style={{ width: '100%' }} />\n      <AudioVisualizer audioRef={ref} isLoading={isLoading} />\n    </Flexbox>\n  );\n};\n```\n\n<https://github.com/lobehub/lobe-tts/assets/28616219/c2638383-314f-44c3-b358-8fbbd3028d61>\n\n## 📦 Installation\n\n> \\[!IMPORTANT]\\\n> This package is [ESM only](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c).\n\nTo install `@lobehub/tts`, run the following command:\n\n```bash\n$ pnpm i @lobehub/tts\n```\n\n[![][bun-shield]][bun-link]\n\n```bash\n$ bun add @lobehub/tts\n```\n\n### Compile with Next.js\n\n> \\[!NOTE]\\\n> By work correct with Next.js SSR, add `transpilePackages: ['@lobehub/tts']` to `next.config.js`. For example:\n\n```js\nconst nextConfig = {\n  transpilePackages: ['@lobehub/tts'],\n};\n```\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## ⌨️ Local Development\n\nYou can use Github Codespaces for online development:\n\n[![][github-codespace-shield]][github-codespace-link]\n\nOr clone it for local development:\n\n```bash\n$ git clone https://github.com/lobehub/lobe-tts.git\n$ cd lobe-tts\n$ bun install\n$ bun dev\n```\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## 🤝 Contributing\n\nContributions of all types are more than welcome, if you are interested in contributing code, feel free to check out our GitHub [Issues][github-issues-link] to get stuck in to show us what you’re made of.\n\n[![][pr-welcome-shield]][pr-welcome-link]\n\n[![][github-contrib-shield]][github-contrib-link]\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## 🩷 Sponsor\n\nEvery bit counts and your one-time donation sparkles in our galaxy of support! You're a shooting star, making a swift and bright impact on our journey. Thank you for believing in us – your generosity guides us toward our mission, one brilliant flash at a time.\n\n<a href=\"https://opencollective.com/lobehub\" target=\"_blank\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/lobehub/.github/blob/main/static/sponsor-dark.png?raw=true\">\n    <img  src=\"https://github.com/lobehub/.github/blob/main/static/sponsor-light.png?raw=true\">\n  </picture>\n</a>\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## 🔗 Links\n\n### More Products\n\n- **[🤯 Lobe Chat](https://github.com/lobehub/lobe-chat)** - An open-source, extensible (Function Calling), high-performance chatbot framework. It supports one-click free deployment of your private ChatGPT/LLM web application.\n- **[🅰️ Lobe Theme](https://github.com/lobehub/sd-webui-lobe-theme)** - The modern theme for stable diffusion webui, exquisite interface design, highly customizable UI, and efficiency boosting features.\n- **[🧸 Lobe Vidol](https://github.com/lobehub/lobe-vidol)** - Experience the magic of virtual idol creation with Lobe Vidol, enjoy the elegance of our Exquisite UI Design, dance along using MMD Dance Support, and engage in Smooth Conversations.\n\n### Design Resources\n\n- **[🍭 Lobe UI](https://ui.lobehub.com)** - An open-source UI component library for building AIGC web apps.\n- **[🥨 Lobe Icons](https://lobehub.com/icons)** - Popular AI / LLM Model Brand SVG Logo and Icon Collection.\n- **[📊 Lobe Charts](https://charts.lobehub.com)** - React modern charts components built on recharts\n\n### Development Resources\n\n- **[🎤 Lobe TTS](https://tts.lobehub.com)** - A high-quality & reliable TTS/STT library for Server and Browser\n- **[🌏 Lobe i18n](https://github.com/lobehub/lobe-cli-toolbox/blob/master/packages/lobe-i18n)** - Automation ai tool for the i18n (internationalization) translation process.\n\n[More Resources](https://lobehub.com/resources)\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n---\n\n#### 📝 License\n\nCopyright © 2023 [LobeHub][profile-link]. <br />\nThis project is [MIT](./LICENSE) licensed.\n\n[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-black?style=flat-square\n[bun-link]: https://bun.sh\n[bun-shield]: https://img.shields.io/badge/-speedup%20with%20bun-black?logo=bun&style=for-the-badge\n[github-action-release-link]: https://github.com/lobehub/lobe-tts/actions/workflows/release.yml\n[github-action-release-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-tts/release.yml?label=release&labelColor=black&logo=githubactions&logoColor=white&style=flat-square\n[github-action-test-link]: https://github.com/lobehub/lobe-tts/actions/workflows/test.yml\n[github-action-test-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-tts/test.yml?label=test&labelColor=black&logo=githubactions&logoColor=white&style=flat-square\n[github-codespace-link]: https://codespaces.new/lobehub/lobe-tts\n[github-codespace-shield]: https://github.com/codespaces/badge.svg\n[github-contrib-link]: https://github.com/lobehub/lobe-tts/graphs/contributors\n[github-contrib-shield]: https://contrib.rocks/image?repo=lobehub%2Flobe-tts\n[github-contributors-link]: https://github.com/lobehub/lobe-tts/graphs/contributors\n[github-contributors-shield]: https://img.shields.io/github/contributors/lobehub/lobe-tts?color=c4f042&labelColor=black&style=flat-square\n[github-forks-link]: https://github.com/lobehub/lobe-tts/network/members\n[github-forks-shield]: https://img.shields.io/github/forks/lobehub/lobe-tts?color=8ae8ff&labelColor=black&style=flat-square\n[github-issues-link]: https://github.com/lobehub/lobe-tts/issues\n[github-issues-shield]: https://img.shields.io/github/issues/lobehub/lobe-tts?color=ff80eb&labelColor=black&style=flat-square\n[github-license-link]: https://github.com/lobehub/lobe-tts/blob/main/LICENSE\n[github-license-shield]: https://img.shields.io/github/license/lobehub/lobe-tts?color=white&labelColor=black&style=flat-square\n[github-releasedate-link]: https://github.com/lobehub/lobe-tts/releases\n[github-releasedate-shield]: https://img.shields.io/github/release-date/lobehub/lobe-tts?labelColor=black&style=flat-square\n[github-stars-link]: https://github.com/lobehub/lobe-tts/network/stargazers\n[github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-tts?color=ffcb47&labelColor=black&style=flat-square\n[npm-release-link]: https://www.npmjs.com/package/@lobehub/tts\n[npm-release-shield]: https://img.shields.io/npm/v/@lobehub/tts?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square\n[pr-welcome-link]: https://github.com/lobehub/lobe-tts/pulls\n[pr-welcome-shield]: https://img.shields.io/badge/%F0%9F%A4%AF%20PR%20WELCOME-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge\n[profile-link]: https://github.com/lobehub\n[sponsor-link]: https://opencollective.com/lobehub 'Become 🩷 LobeHub Sponsor'\n[sponsor-shield]: https://img.shields.io/badge/-Sponsor%20LobeHub-f04f88?logo=opencollective&logoColor=white&style=flat-square\n","readmeFilename":"README.md"}