{"_id":"g4f","_rev":"28-b0f1ccebb700455167bce1a3e0f67431","name":"g4f","description":"GPT4 for free, No API key, no auth required.","dist-tags":{"latest":"1.4.6"},"versions":{"1.0.0":{"name":"g4f","version":"1.0.0","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.0","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f_ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f_ts/issues"},"dist":{"shasum":"cb3569602ca3b0d9bb9a9f2199935cfbb2f5304d","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.0.tgz","fileCount":7,"integrity":"sha512-03cBduhS2Xp/crOG1RcbvdEz7MUH2N27dNyG/aDWtUPXvweFxUgBGC9fST5IqrCzp6OFYzTp2SqOvAtmOT9WkA==","signatures":[{"sig":"MEYCIQCWpjRljce5FHKwH0eY+nHoEdvjK0al1ak1CRDn+RufEAIhAKc+cLA73d1Hx0tTuuEr2ges1Pr6PkDSJBEFYvtEINuW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18790},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"951906dc0bb4b3d7fa9909748b4154de3b3b1514","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f_ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","debug":"^4.3.4","dotenv":"^16.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.0_1705510903056_0.8954835214182668","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"g4f","version":"1.0.1","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.1","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"f7b563f9efab6ca9ccd48ef4344aa9fd4907475b","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.1.tgz","fileCount":7,"integrity":"sha512-6ZjPdGbHP6ixcltpuRtAkLoto4JoUgDjQQiCOV/8xzgAiGcSv24y30QR93xyUeoOYdrOwayigr3246teEzIYlA==","signatures":[{"sig":"MEYCIQCmKuOPA8aRjlB1Wap3++Z3s91SuAyJwaWd9bLDzAMkyAIhAKPgY9Ny2Efou8GUteuTGKBHWFfE3pTv/AZfc0/2nB6f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18753},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"c348f9c764789ba6eb064162ba96e2d008b50a9d","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","debug":"^4.3.4","dotenv":"^16.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.1_1705518569558_0.9203126843711065","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"g4f","version":"1.0.2","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.2","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"c633ab4ae649e652bafde3220e26b0f99efb1ecc","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.2.tgz","fileCount":7,"integrity":"sha512-J7fTKNNUtRwPJNzfKWLiObpGFRQeXkR6vRaDDaUIWayrnV7Pp9ittLDrr5llk98JlWhpn/YQfuP3zgd2IRZP1w==","signatures":[{"sig":"MEYCIQCb1s67WL/+uNZa9seKSlAEFm7kaFgv9sglFiJI0Ed4NQIhAKeVhBR465SyZnmGMGzJQH1oMs2BmC46Xm2H1AFPmIqf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18794},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"126a34bbcd3180713e0545bfdfc23c671e314868","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","debug":"^4.3.4","dotenv":"^16.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.2_1705521994023_0.7503203729545034","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"g4f","version":"1.0.3","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.3","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"5ea38d840f46c5cda0e499b105e4ed23bd989a9f","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.3.tgz","fileCount":7,"integrity":"sha512-gFFg4LUn1Nq4LsXFoe8n65Rp7EqAnUAaZmIFCKGqBbXWDCBhSy9FKGrWSWYcJjeIB9MBN4+WeDK8IkqB1blsvQ==","signatures":[{"sig":"MEQCIFFlyuJ7zDtuNO0WBnvjNqYNiuqLghZDGspzdxlBCaw5AiAuUaoeEwr07lKD99D1UCOPwarwWwJ7rYvRUJb65A9f7Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18794},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"126a34bbcd3180713e0545bfdfc23c671e314868","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","debug":"^4.3.4","dotenv":"^16.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.3_1705522718179_0.34090900563937665","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"g4f","version":"1.0.4","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.4","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"24284ba6c4ebca9e96c33a64a0a1c807b5b6be4d","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.4.tgz","fileCount":7,"integrity":"sha512-3/tPQtxzVqyZUr4LT1BDvETi6S1gv+GWaaAO+yeRaAhewoUjC/KW33xhxAquGy8n0OazGiJTqWJBt6AaiEhrvg==","signatures":[{"sig":"MEUCIHtrQlZI9/pFUAKIpfYHKEz570w3hBel5um7110wUYTHAiEA7M5XlRxJcDcszb4uQpTaRTK/BYEXbyk0Lja2qzIOKpg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18718},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"126a34bbcd3180713e0545bfdfc23c671e314868","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","debug":"^4.3.4","dotenv":"^16.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.4_1705522916412_0.3340639716023681","host":"s3://npm-registry-packages"}},"1.0.41":{"name":"g4f","version":"1.0.41","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.41","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"3f80611e6a553eaa272e6098ab1b0fc30778f2e0","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.41.tgz","fileCount":7,"integrity":"sha512-1e3cOKQWg9RVwgfZQSTyir3+sR25SGo3nG44VyauOyKO9c3r3tf1Z4V5fGuCMLskVbVhAT6XlcrcULA8YWvnBA==","signatures":[{"sig":"MEUCIQCeKxsbBJlfQDg/Ndjnzw/UAO2IaHFT4MF8n8ur5GYEyQIgBK2KlIlE64ULTG2PPR2O/rSZEjlBzIxw3zt/u/xf4Pk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18719},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"a5260b3ce9537693dc580c513b73d57794b95703","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","debug":"^4.3.4","dotenv":"^16.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.41_1705523553198_0.6319276848898032","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"g4f","version":"1.0.5","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.5","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"ed720436611424e3ad157d358a37ed4643ab2f40","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.5.tgz","fileCount":6,"integrity":"sha512-c4RAsCju9Y8oTk7XSOZwNRPhpbhh+CwO6mx448I9h4FaAjT6m+wlgtBayZYUHXARaqvm5CKl2PN6wfw3ZhhZ1Q==","signatures":[{"sig":"MEQCICDJauDuUuIe9YbS4GyouectaPHNanW4pPMZDnBuqw/fAiAD3J8Uce6ONsoopyuKFdb1o7C9+XnbABVyupP8eHgLpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20177},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"ee82e9a3fad33925f5d6249d5f29c9e1b7a187f3","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.5_1705543262931_0.6693818747740397","host":"s3://npm-registry-packages"}},"1.0.52":{"name":"g4f","version":"1.0.52","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.52","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"9cd033c3ca430bdccd90b94cd4840658b4bfebe6","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.52.tgz","fileCount":6,"integrity":"sha512-/5qYZEJTAn6eDolo5swlEEfW16BJ3dsA0sbv7GVSUqJ0RMPivLckp+CD5TcsHz1ZeJ9cmKQTgHRkD9nFrZ2Qig==","signatures":[{"sig":"MEYCIQClXjdxaAzTdizYR4ecyae4DVS9foVfb5U/3j15cquw2AIhAMd0ustMKC4FBOV4WLCNS5L7jqRmDVwhatEwRXjT8YTC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22193},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"17f3d8296e52fb5676a2baad87f10ee1a1c73d81","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.52_1705548895949_0.5171224856994825","host":"s3://npm-registry-packages"}},"1.0.53":{"name":"g4f","version":"1.0.53","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.53","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"ddb09f7714608ac5e67ed6a6cf841734e06f6cc5","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.53.tgz","fileCount":6,"integrity":"sha512-7G2URPghTlVtdAGG+j3u8va505BNaTOXXxld1GPzJ5n9rklldb7NdpYV/7KgeTBDzkm0IzRRNo44zWt1W0StPg==","signatures":[{"sig":"MEYCIQCg8FSawSuCGBviaW6O98bfzLHp4+d+mrdOL2+MTEDvIwIhAJgCti9jyrDAC+dUt9k8EQhtUupM5PMs943mDYaO4mfU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22281},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"3bf40ec7977bc151b30bcbf2c138adbd2cf5c7fc","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.53_1705550438537_0.6883666287901657","host":"s3://npm-registry-packages"}},"1.0.54":{"name":"g4f","version":"1.0.54","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.54","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"43e4c7be97d177015aac71749ab16e55b9bb690d","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.54.tgz","fileCount":6,"integrity":"sha512-DmOFi4CZb5g+X9GoNTBRhZoLJ7IKT718ktaobxZY0t6b3c4P0fAB3SHOusb8Q6KYSNRWMDMzhg3S+UAXUyibaQ==","signatures":[{"sig":"MEUCIHagIqDkUvZwkqMiEJ0JvImHOgu4TiqLpD605WuKeq64AiEAw/3KtZeykZpXMEs/SA5B/UAImd5UzQs3LcRHUdwQJRI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22565},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"13dcfc0a71d8a243b989093cc6e460140aaf19f8","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.54_1705550739329_0.41361535849005304","host":"s3://npm-registry-packages"}},"1.0.55":{"name":"g4f","version":"1.0.55","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.55","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"989b2ba73f691f09051af138a23f4051294a2acc","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.55.tgz","fileCount":7,"integrity":"sha512-kJC0rVNK/vDjL8lIFi5g2oM87SZjAwacObXI62VUKHjkuaMa5eibut33WSXOEdFqP52JZHDGZcycjmz6XnCasw==","signatures":[{"sig":"MEUCIQD3Xl31/Dendp0EwNClJkaNaEhq9ti6BLdfBJcDhWt2TQIgXFNHzncC7mDdk3uc4FEECk/B62i71EfoRGUT00Z/GLU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24482},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"7a05424b969d817184181849918c4340e2d54aac","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.55_1705552636477_0.4807701890227196","host":"s3://npm-registry-packages"}},"1.0.56":{"name":"g4f","version":"1.0.56","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.56","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"2c58109a0650473439428173c55a6573a98c2b48","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.56.tgz","fileCount":7,"integrity":"sha512-bhVh4wMf80Uz0eLLnV2kHGqCR7azUUeqfTP/IgoIxKaxXyKWJbqmvldk/G6azUSAPLcHa/1q30D2qsd1EUS7zA==","signatures":[{"sig":"MEUCIQC/IcciVUfMv2DBO8idtMERQikICfZvKvId7+Qj88xTggIgDyNyhNOg4B0j3JItsb63JKoHr26yxZc01LAXQCc6cwM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24895},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"8cef01e5ad561216dc5e9e707ecc861fc5b773d3","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.56_1705552767065_0.3247832036794256","host":"s3://npm-registry-packages"}},"1.0.57":{"name":"g4f","version":"1.0.57","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.57","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"73355fb706a94c7a9d62100c02530e0fb223eba5","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.57.tgz","fileCount":7,"integrity":"sha512-QzzPQq8NRwZZpsZ5hjm/FYWFFq3z5DRh8RbjFmZhDjQwsZCW2QpROXaGJEARhOkEvcZsYor9ey13ZNP72oVYZA==","signatures":[{"sig":"MEUCIQCyBXVm8TWKvbFeWAfYpO1QXbAxU3pT4L0WZPYOW6jLvQIgS9XbzgYKpYJXukfMW/6PNqFQLQ/9PihZmIjLd6vwwDU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24497},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"f1f6c0026df397ffd623a3d3b3f9b9bcf3189305","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.57_1705553042806_0.9351970711917708","host":"s3://npm-registry-packages"}},"1.0.58":{"name":"g4f","version":"1.0.58","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.58","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"87e5e69485bf375d51bd41989238b5b5f21600fe","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.58.tgz","fileCount":7,"integrity":"sha512-ie95gUlJwZD8llHrEoHj1L773R+Lttr4EjitWv/cFemYHHTdXqsnZI7wHN7jf3hg57rM3FG6uDPsOVrYMOAk0A==","signatures":[{"sig":"MEUCIQDVORDMda/MY4uj5Q2r/S6TNCdjueWFNvdlkqwZUdXx3gIgYHddklFWDD88AUPJMSudi2edIekveH/nDoXR4U+7nO4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24933},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"d5ec22803cdc1189d5a2253312922eac2ea3b4c9","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.58_1705553662819_0.6164521224121431","host":"s3://npm-registry-packages"}},"1.0.59":{"name":"g4f","version":"1.0.59","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.59","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"f0bdf478978c346390292661565a044cb00f7c30","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.59.tgz","fileCount":7,"integrity":"sha512-dNXcI33EBajNTRiNAziTlOkvjP6xT3sK4LSmpGUmvLhaXwRJsznK1pGKBiV8HnnVk6zomarmjgxiPWnVgShndw==","signatures":[{"sig":"MEUCIQCZFW7QzYUB3dp91sjEbwe2e4PHLbWNYfJUkIMPcZLptwIgciI2PXS7lZgKFlxVkvarnPmrkZabfss13Z6CAHZiZI8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24987},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"df2254bc51f42e1f2eb067621cd02ab91cbbde93","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.59_1705553911910_0.2517808367261578","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"g4f","version":"1.0.6","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.0.6","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"cf49531242638d6e0ee50350a31a0f679d5a6410","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.0.6.tgz","fileCount":7,"integrity":"sha512-ptFF1cgO1mY7Ded/WZP+245WBCzhq8DSbxReueMPGWR4uzaDKnRc9ooWE+g0Xe/C37p2o0VyAgT1hIHXQBWP7A==","signatures":[{"sig":"MEUCIQDwiljF/qYqBqqOWmXrh+WcX+nHH27Ht54/C79YxLOhTgIgYLeCnOVE/bdi7nlts85WZxRKgz92hZjCEZCARsZiw04=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24985},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"68bde3ef8e5710bb90a12e84c286efdc232e8a24","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@types/debug":"^4.1.12"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.0.6_1705555532411_0.2582770511188397","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"g4f","version":"1.1.0","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.1.0","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"233ddea41b6d6c060c4aacc2d516948f54069f06","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.1.0.tgz","fileCount":7,"integrity":"sha512-fGDLDjW0xfMyxTu76MKtbYZcICNKn8Jd85rzKHjElVDSZ0j8TK78qD5wI8iq4LPXPIv8MhheGzTJYaePBbyS0Q==","signatures":[{"sig":"MEYCIQDoNSuaB6guByS5Y61fMBaz2qxo3LbjlvM+8truG9v04gIhAIY2wpJM0o93GSu7HR4Q9q456NQXqVHeNVnlXPYMUDsj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44389},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"cff27b1ecd053af63486b4ccc161c49293303c5e","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.1.0_1706203980402_0.7745436049024921","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"g4f","version":"1.2.0","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.2.0","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"3985917357a78c88fcc35778f8f71053aaad01b3","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.2.0.tgz","fileCount":7,"integrity":"sha512-j5NEvs0x8xLJF5PAwPs5fywgUJVCkPUSdt2Uogy2aolRc690+FZ2wAlxOGMe1BDjMxL/5v3jHu2M4Hz01BEfeA==","signatures":[{"sig":"MEUCIGOJgO7TRF606Y3YN4DQ/tFxeFokF6fZcVFB+2yCJSAOAiEAsHPcOWWYDLCT9stchmqhgPe37DIGcJQnpHy1I+dns9I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54334},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"acf38eeebf6e8f56d4b98887074708daed01744e","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.2.0_1707103361331_0.7026647833474291","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"g4f","version":"1.2.1","keywords":["gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.2.1","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"5dc2c017ae8a0d6dd51ee5b2fe6a8553252b5985","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.2.1.tgz","fileCount":7,"integrity":"sha512-rTkYD8AaQBNw3BPkNwKZhNK0kuep/JYg0HUNb+QMc232b9r3FXsYQm9tv+LWrHgJQV7fMpE7YfbETOKoGaSCxQ==","signatures":[{"sig":"MEUCIQDu85f+w93uMOtHt/dEG+1qyuDl++yzDtW5FBKH/lZwyQIgQE6GXncLO68ci81MC4mYfabqEhGlVrWOQy6btMRzhUk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54090},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"acf38eeebf6e8f56d4b98887074708daed01744e","scripts":{"build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"ChatGPT but free","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.2.1_1707139985138_0.6862521520416434","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"g4f","version":"1.3.0","keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.3.0","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"fd343a2bd5b9a50371c39826fc838d17a3ebf056","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.3.0.tgz","fileCount":7,"integrity":"sha512-g1YGxBqPBIuRDvDKPmgpD+AGFkQLUHCeTf9DRX8fzoHCo7iCF+xAPGe3rIKc8xxkwdyDkjif9p7Z1OR4bLeEjA==","signatures":[{"sig":"MEQCIFiEhl5icJlgpe0h4OTwzNj+CmX3wp3qf3e7Kkjhs264AiBYeyts6ZX4LpkwNzMHz9WBbKp/u5+nnzMOHT1/0eS81w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108885},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"25e6e59d565f73bfba4f69a684969cd997bcf51c","scripts":{"test":"jest","build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"GPT4 for free, No API key, no auth required.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@babel/core":"^7.23.9","@types/jest":"^29.5.12","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.3.0_1707350321456_0.35827505615812205","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"g4f","version":"1.3.1","keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.3.1","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"97b90a7c5ad6c97282c4604cf3c9e0cff803f8d4","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.3.1.tgz","fileCount":7,"integrity":"sha512-B+cgs4FUr9FTFaKmsB0P9qlzb+5r4qO7fKPnaHhlX/0QjDokzABaZ+xyL11DN7RUS6fJw80NJkLk6N3HiLWxPA==","signatures":[{"sig":"MEQCIAhjOv2bF/9fc6mHZuqGZPbw7hHjYoqathO5Cs00TLX+AiAu80m9RJK/pUKvUfL6iJl440+o5vIUckCbcF1dvv4Qhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108883},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"25e6e59d565f73bfba4f69a684969cd997bcf51c","scripts":{"test":"jest","build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"GPT4 for free, No API key, no auth required.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@babel/core":"^7.23.9","@types/jest":"^29.5.12","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.3.1_1707350438001_0.11589181732912146","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"g4f","version":"1.3.2","keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.3.2","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"3b20458b263f698aed3b0b909ba66cdf94db0c09","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.3.2.tgz","fileCount":7,"integrity":"sha512-PfPEJ9xKFW71ef3X2yQNkf4Ws0/+cPvheYVlIVYGYAbs+2JH3YPPXEIJMBsflawd/gCheHzZG2xtpcPaBYwl6A==","signatures":[{"sig":"MEUCIQC4FMlcdjheMZp6aXRCQaVmXNRtqvb58nMIo7px+NfxFAIgdxI/oZJK4U8NVJrTR9ibSktINpOIvYMHPo7DP9FlIJk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108933},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"dad4589259d849bad4098ffc8a05448ad8e7d65a","scripts":{"test":"jest","build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"GPT4 for free, No API key, no auth required.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@babel/core":"^7.23.9","@types/jest":"^29.5.12","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.3.2_1707350668014_0.9320291276337407","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"g4f","version":"1.4.0","keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.4.0","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"b5b5180e58dc61848dbee051ac178241effa6e78","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.4.0.tgz","fileCount":7,"integrity":"sha512-PRg5gJsl+QpSABdzxyO7nksJKoJW9hePRzYQxKvyKCOf4ippTNGSdArpF0iJp7LfSgpc5Ee75FDKlgedO044EQ==","signatures":[{"sig":"MEYCIQDU8ckKMut0cM4lpCmQAJ+Jdmq//+pqKBUOzdcz0LmY2AIhAPTF8EZbbyKa6eQk/x5fb4WDg/kZnOEo2YsEZ8n70V9f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197935},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"dad4589259d849bad4098ffc8a05448ad8e7d65a","scripts":{"test":"jest","build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"GPT4 for free, No API key, no auth required.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@babel/core":"^7.23.9","@types/jest":"^29.5.12","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.4.0_1707968816377_0.4820550609146461","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"g4f","version":"1.4.1","keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.4.1","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"cfcd7f62fe480a4627ca5d2a8b8478e67923f896","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.4.1.tgz","fileCount":8,"integrity":"sha512-JT1cU1FU0GZ/talAP2Sj64VJSyllfTQSK2PE/SPIyjcxIMmcUX3UmtggUy5u+HydPRf7B5+OOnMOuC/X/3+QFA==","signatures":[{"sig":"MEYCIQDeiByBD3EW05HouZjhn1a3FPOabypJAKr2QZZawaqdIAIhAJby0zGH52holQLeoXB0d/2UnWvbSelX8K3N9l9uX7dK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":200050},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"78ca1022ede238093055ef1d3396c7dac91bd5fa","scripts":{"test":"jest","build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"GPT4 for free, No API key, no auth required.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@babel/core":"^7.23.9","@types/jest":"^29.5.12","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.4.1_1708014800159_0.8294819734776688","host":"s3://npm-registry-packages"}},"1.4.2":{"name":"g4f","version":"1.4.2","keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.4.2","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"abfda7ee0582619dedf39a19beeaa8c404887171","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.4.2.tgz","fileCount":7,"integrity":"sha512-5jJhl4X/I8tKaDcsp4S+74c9RWoL+3v3VmIGscjRqobKkkFOH1XwqEDSGKZhv9FzPZmN7s0KD7ytvf7cQMDM4g==","signatures":[{"sig":"MEUCIGDs80XislyAIT/nQdzF0yp+RWlV72uREhk6aZPRMWssAiEA11kVZPIrMQ/fM0ao+TBIYXXfhcruOp8Muczqb4tZHaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197101},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"18c80d15e4f388f3ac7560ae316002134a6abef2","scripts":{"test":"jest","build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"GPT4 for free, No API key, no auth required.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@babel/core":"^7.23.9","@types/jest":"^29.5.12","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.4.2_1708797429602_0.7623121432531723","host":"s3://npm-registry-packages"}},"1.4.3":{"name":"g4f","version":"1.4.3","keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.4.3","maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"6139bfafbde8e701fc62ea9232eebdecadba1f48","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.4.3.tgz","fileCount":7,"integrity":"sha512-NaPbm9XiGofxl82lZbwpnU+KjVY9x4ohs7j3jLEnRe4dm/qe7RxSI8ypdpB3jI1x+f84IPOnKYjkhAALcKW9Tw==","signatures":[{"sig":"MEYCIQDlybfwyVeXDoWHmPsr6CeoGY5SFQ+KiusPFhi50FFvCAIhAJvaTw/U75K9+XOcmDWHMX24EL56VWFEsxcnalEVvlv+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197247},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"df392284b7d413c5543e19d7d27e0a970ce1bc57","scripts":{"test":"jest","build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"GPT4 for free, No API key, no auth required.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@babel/core":"^7.23.9","@types/jest":"^29.5.12","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.4.3_1711163794534_0.036651646359036505","host":"s3://npm-registry-packages"}},"1.4.4":{"name":"g4f","version":"1.4.4","keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.4.4","homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"f19bb76349c9c831e25ea9e24cd7514779a62d17","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.4.4.tgz","fileCount":7,"integrity":"sha512-avRs7chgVRjS/31qRvLI628XXf18+pfj1vgOPdREf9SJkag4HTucm5MDdPkGKBCnBXnjwlTf6dIqTn7ZDlcKew==","signatures":[{"sig":"MEUCIQCta5LQeEGsYm7izW5MbUv29lLKYU346KTw13fjm+eJfgIgGMM8Ay8DP7SHXXt8D/5LYluRQWW116wzCT5ZyMVKeY0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":204823},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"8d6bb5053b451d8520d17363e933b0c740180d34","scripts":{"test":"jest","build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"GPT4 for free, No API key, no auth required.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@babel/core":"^7.23.9","@types/jest":"^29.5.12","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.4.4_1719203570692_0.3322744246055398","host":"s3://npm-registry-packages"}},"1.4.5":{"name":"g4f","version":"1.4.5","keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","_id":"g4f@1.4.5","homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"dist":{"shasum":"b40f47bee6a4ecdd2afa8175b7c1ad92d563e146","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.4.5.tgz","fileCount":7,"integrity":"sha512-4a/O+4OW+8ricWa8YnYtYGVM9GFzIr/G4VNgTVxWjZ52nj0DPiGXAC/CvgsvlNTuH5sA+vOvP7WLJ7paAQMwYA==","signatures":[{"sig":"MEYCIQD3mtlRhxxpK5Spq914rIrAWNH1B4jO/um4wUv2e6PjswIhAJ/1PyDswbdg/8okvnizkVdfjXnIewzuQqQ87w+wY3dF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207623},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"17773669a85fa513cd6e42eec509f66eb101ebd7","scripts":{"test":"jest","build":"tsup"},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"_npmVersion":"9.6.7","description":"GPT4 for free, No API key, no auth required.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"axios":"^1.6.5","signale":"^1.4.0","@types/signale":"^1.4.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","ts-node":"^10.9.2","typescript":"^5.3.3","@babel/core":"^7.23.9","@types/jest":"^29.5.12","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3"},"_npmOperationalInternal":{"tmp":"tmp/g4f_1.4.5_1719205409066_0.8963451562066163","host":"s3://npm-registry-packages"}},"1.4.6":{"name":"g4f","version":"1.4.6","description":"GPT4 for free, No API key, no auth required.","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"scripts":{"build":"tsup","test":"jest"},"keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"author":{"name":"victormrojas"},"license":"MIT","dependencies":{"@types/signale":"^1.4.7","axios":"^1.6.5","signale":"^1.4.0"},"devDependencies":{"@babel/core":"^7.23.9","@babel/preset-env":"^7.23.9","@babel/preset-typescript":"^7.23.3","@types/jest":"^29.5.12","jest":"^29.7.0","ts-node":"^10.9.2","tsup":"^8.0.1","typescript":"^5.3.3"},"gitHead":"e177e0e05842c7c2d0fe892f530e244b7c7b65e6","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"homepage":"https://github.com/VictorMRojas/g4f-ts#readme","_id":"g4f@1.4.6","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-KWQr84KqMjGv/z2g2pvD9hh/Oty06y3muTN3aFaUNzebQLKR58zbRoI5hCOn/4HPXrK4kgE0CzFnJ0U0HteffA==","shasum":"c630bb5f959783330d061d330412a0e33238bdc2","tarball":"https://registry.npmjs.org/g4f/-/g4f-1.4.6.tgz","fileCount":7,"unpackedSize":209396,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0F8O4xyyJra4vAUHNmLmMZn9PsqHftInh2ZK7y4NNiAIhAIY5WqCffMGRythQhyOzaTk7KL2Zb0/239Qp7ZuNyNsD"}]},"_npmUser":{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/g4f_1.4.6_1719711767819_0.4039582224037488"},"_hasShrinkwrap":false}},"time":{"created":"2024-01-17T17:01:43.055Z","modified":"2024-06-30T01:42:48.171Z","1.0.0":"2024-01-17T17:01:43.220Z","1.0.1":"2024-01-17T19:09:29.752Z","1.0.2":"2024-01-17T20:06:34.181Z","1.0.3":"2024-01-17T20:18:38.408Z","1.0.4":"2024-01-17T20:21:56.568Z","1.0.41":"2024-01-17T20:32:33.347Z","1.0.5":"2024-01-18T02:01:03.114Z","1.0.52":"2024-01-18T03:34:56.139Z","1.0.53":"2024-01-18T04:00:38.723Z","1.0.54":"2024-01-18T04:05:39.492Z","1.0.55":"2024-01-18T04:37:16.638Z","1.0.56":"2024-01-18T04:39:27.199Z","1.0.57":"2024-01-18T04:44:02.966Z","1.0.58":"2024-01-18T04:54:23.041Z","1.0.59":"2024-01-18T04:58:32.069Z","1.0.6":"2024-01-18T05:25:32.618Z","1.1.0":"2024-01-25T17:33:00.571Z","1.2.0":"2024-02-05T03:22:41.513Z","1.2.1":"2024-02-05T13:33:05.311Z","1.3.0":"2024-02-07T23:58:41.663Z","1.3.1":"2024-02-08T00:00:38.190Z","1.3.2":"2024-02-08T00:04:28.170Z","1.4.0":"2024-02-15T03:46:56.613Z","1.4.1":"2024-02-15T16:33:20.325Z","1.4.2":"2024-02-24T17:57:09.749Z","1.4.3":"2024-03-23T03:16:34.713Z","1.4.4":"2024-06-24T04:32:50.893Z","1.4.5":"2024-06-24T05:03:29.238Z","1.4.6":"2024-06-30T01:42:48.000Z"},"maintainers":[{"name":"victormrojas","email":"victormanuelrojas150@gmail.com"}],"author":{"name":"victormrojas"},"repository":{"url":"git+https://github.com/VictorMRojas/g4f-ts.git"},"keywords":["gpt4free","gpt-free","free-gpt","gpt","gpt-3","gpt-3.5","gpt-4","bing","dalle","stable-diffusion","ai","completion","chat completion"],"license":"MIT","homepage":"https://github.com/VictorMRojas/g4f-ts#readme","bugs":{"url":"https://github.com/VictorMRojas/g4f-ts/issues"},"readme":"# G4F\r\nGPT4FREE is a package that simplifies interaction with various Artificial Intelligence models, eliminating the need for an API Key or any other authorization method to access these chat completions and image generation models.\r\n\r\nThis package can be used in both Typescript and CommonJS/ModuleJS environments.\r\n\r\n## 📚 Table of Contents\r\n- [🛠️ Installation](#installation)\r\n    + [Using NPM](#using-npm)\r\n    + [Using yarn](#using-yarn)\r\n- [🎯 Examples](#examples)\r\n    + [📤 Chat completion](#chat-completion)    \r\n        - [⚙️ Basic usage](#basic-usage)\r\n            + [Simple fetch](#simple-fetch)\r\n            + [Give your instructions](#give-your-instructions)\r\n            + [Follow up on the conversation context](#follow-up-on-the-conversation-context)\r\n        - [✏️ RESUME: Conversation roles](#resume-conversation-roles)\r\n        - [🔩 Add configurable options](#add-configurable-options)\r\n            + [Basic Options](#basic-options)\r\n            + [Advanced Options](#advanced-options)\r\n            + [What's the difference?](#whats-the-difference)\r\n        - [📝 Streaming](#streaming)\r\n            + [Basic usage](#basic-streaming-usage)\r\n            + [How to handle streamable data?](#how-to-handle-streamable-data)\r\n            + [Stream on postprocessing](#stream-on-postprocessing)\r\n        - [✏️ RESUME: Configurable options](#resume-configurable-options)\r\n        - [🚀 Chat completion providers](#chat-completion-providers)\r\n        - [📚 Chat completion models](#models)\r\n    + [📡 Translation](#translation)\r\n        - [Usage](#translation-usage)\r\n        - [Options](#translation-options)\r\n        - [Languages supported](#translation-langs)\r\n    + [📷 Image Generation (BETA)](#image-generation)\r\n        - [Cartoon style example](#cartoon-style-example)  \r\n        - [Paint style example](#paint-style-example)\r\n        - [Realistic style example](#realistic-style-example)\r\n        - [✏️ RESUME: Image generation options](#image-generation-options)\r\n        - [✏️ RESUME: Image generation provider options](#image-generation-provider-options)\r\n        - [🤖 Image generation models](#image-generation-models)\r\n        - [🎨 Image generation styles](#image-generation-styles)\r\n        - [✒️ Image generation sampling methods](#image-generation-sampling-methods)\r\n        - [🧮 Number type options](#image-generation-number-type-options)\r\n        - [🖼️ Image generation providers](#list-providers-image-generation)\r\n        - [⚠️ Advice](#image-generation-advice)        \r\n+ [🤝 Contribute](#contribute)\r\n\r\n<a id=\"installation\"></a>\r\n## 🛠️ Installation\r\n\r\n<a id=\"using-npm\"></a>\r\n### Using npm:\r\n\r\n`npm install g4f`\r\n\r\n<a id=\"using-yarn\"></a>\r\n### Using yarn:\r\n\r\n`yarn add g4f`\r\n\r\n<br>\r\n\r\n<a id=\"examples\"></a>\r\n# 🎯 Examples\r\n\r\n<a id=\"chat-completion\"></a>\r\n## 📤 Chat completion\r\nWith the chatCompletion function, you will be able to obtain a textual response to a conversation with some context, using providers and models designed for this task. In addition, you will be able to manipulate the answer before converting it to a stream or force the AI to give you a certain answer by generating several retries.\r\n\r\n<a id=\"basic-usage\"></a>\r\n## ⚙️ Basic usage\r\n\r\n<a id=\"simple-fetch\"></a>\r\n\r\n## Simple fetch\r\nIt will capture the messages and the context, and any provider will respond with a string.\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\nconst g4f = new G4F();\r\nconst messages = [\r\n    { role: \"user\", content: \"Hi, what's up?\"}\r\n];\r\ng4f.chatCompletion(messages).then(console.log);\r\n// Hello! I'm here to help you with anything you need. What can I do for you today? 😊\r\n```\r\n**Note:** The conversation needs to include at least one message with the role **user** to provide a proper answer.\r\n\r\n<a id=\"give-your-instructions\"></a>\r\n\r\n## Give your instructions\r\nYou can provide your own instructions for the conversation before it starts using the **system** role.\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\nconst g4f = new G4F();\r\nconst messages = [\r\n    { role: \"system\", content: \"You're an expert bot in poetry.\"},\r\n    { role: \"user\", content: \"Hi, write me something.\"}\r\n];\r\ng4f.chatCompletion(messages).then(console.log);\r\n/*\r\nSure, I can write you a poem. Here is a short one: \r\nThe Wind:\r\nThe wind is a curious thing,\r\nIt can make you dance and sing,\r\nIt can make you feel alive,\r\nAnd help you thrive.\r\n...\r\n*/\r\n```\r\n<a id=\"follow-up-on-the-conversation-context\"></a>\r\n\r\n## Follow up on the conversation context\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\nconst g4f = new G4F();\r\nconst messages = [\r\n    { role: \"system\", content: \"You're a math teacher.\"},\r\n    { role: \"user\", content: \"How much is 2 plus 2?\" },\r\n    { role: \"assistant\", content: \"2 plus 2 equals 4.\" },\r\n    { role: \"user\", content: \"You're really good at math!\" },\r\n    { role: \"assistant\", content: \"Thank you! I'm glad I could help you with your math question.\" },\r\n    { role: \"user\", content: \"What was the first question I asked you?\" }\r\n];\r\n\r\ng4f.chatCompletion(messages).then(console.log);\r\n// The first question you asked me was \"How much is 2 plus 2?\".\r\n```\r\n**Note:** AI responses use the **assistant** role and an appropriate conversation structure alternates between the user and the assistant, as seen in the previous example.\r\n\r\n<a id=\"resume-conversation-roles\"></a>\r\n\r\n## ✏️ RESUME: Conversation roles\r\n\r\n| Role          | Description                                                            |\r\n| ------------- | ---------------------------------------------------------------------- |\r\n| `system`      | Used for providing instructions and context prior to the conversation. |\r\n| `user`        | Used to identify user messages                                         |\r\n| `assistant`   | Used to identify AI messages                                           |\r\n\r\n<a id=\"add-configurable-options\"></a>\r\n\r\n## 🔩 Add configurable options\r\n\r\n<a id=\"basic-options\"></a>\r\n\r\n## Basic options\r\nYou can select any provider, model, debug mode and a proxy URL if you want.\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\nconst g4f = new G4F();\r\nconst messages = [\r\n    { role: \"user\", content: \"Hi, what's up?\"}\r\n];\r\nconst options = {\r\n    provider: g4f.providers.GPT,\r\n    model: \"gpt-3.5-turbo\",\r\n    debug: true,\r\n    proxy: \"\"\r\n};\r\n\r\n(async() => {\r\n\tconst text = await g4f.chatCompletion(messages, options);\t\r\n\tconsole.log(text);\r\n})();\r\n/*\r\n[provider] » √  success   Provider found: GPT\r\n[model] » √  success   Using the model: gpt-3.5-turbo\r\n[provider] » √  success   Data was successfully fetched from the GPT provider\r\n\r\nIn the realm of words, where verses dance and rhyme,\r\nI shall craft a poem, a moment frozen in time.\r\nWith ink as my brush, I paint a vivid scene,\r\nWhere dreams and emotions intertwine, serene.\r\nThrough lines and stanzas, I'll weave a tale,\r\nOf love, of loss, of hope that will never fail.\r\nSo close your eyes, and let your heart unfurl,\r\nAs I conjure a poem, a gift for your soul to swirl. 💕🌹\r\n*/\r\n```\r\n**Note:** You can specify the provider, model, debug, and proxy options according to your needs; they are entirely optional.\r\n\r\n<a id=\"advanced-options\"></a>\r\n\r\n##  Advanced options\r\nYou can force an expected response using retry, and manipulate the final response using output.\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\nconst g4f = new G4F();\r\nconst messages = [\r\n    { role: \"system\", content: \"You're an expert bot in poetry.\"},\r\n    { role: \"user\", content: \"Let's see, write a single paragraph-long poem for me.\" },\r\n];\r\nconst options = {\r\n    model: \"gpt-4\",\r\n    debug: true,\r\n\tretry: {\r\n        times: 3,\r\n        condition: (text) => {\r\n            const words = text.split(\" \");\r\n            return words.length > 10;\r\n        }\r\n    },\r\n    output: (text) => {\r\n        return text + \" 💕🌹\";\r\n    }\r\n};\r\n\r\n(async() => {\r\n    const text = await g4f.chatCompletion(messages, options);\t\r\n    console.log(text);\r\n})();\r\n/* \r\n[provider] » √  success   Provider found: GPT\r\n[model] » √  success   Using the model: gpt-4\r\n[fetch] » √  success   [1/3] - Retry #1\r\n[output] » √  success   Output function runtime finalized.\r\n\r\nI'll try to create that.\r\nIs what you asked me to say\r\nI hope it brings you joy\r\nAnd your heart it does employ 💕🌹\r\n*/\r\n```\r\n**Note:** Retry will execute the fetch operation consecutively N times until it finishes, or the condition function indicates true. The output function only edits the final response.\r\n\r\n<a id=\"whats-the-difference\"></a>\r\n\r\n## What is the difference between basic options and advanced options?\r\nIf you decide to use the retry, output option, or both, keep in mind that these options involve preprocessing before delivering the ultimate response. The impact on performance and response times may vary depending on the functions you employ.\r\n\r\n<a id=\"streaming\"></a>\r\n\r\n## 📝 Streaming\r\nWhen using the stream option, the chatCompletion function will return an object with the streamable data and the name of the provider.\r\n\r\n<a id=\"basic-streaming-usage\"></a>\r\n\r\n##  Basic usage\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\nconst g4f = new G4F();\r\nconst messages = [\r\n    { role: \"system\", content: \"You're an expert bot in poetry.\"},\r\n    { role: \"user\", content: \"Let's see, write a single paragraph-long poem for me.\" },\r\n];\r\nconst options = {\r\n    provider: g4f.providers.ChatBase,\r\n    stream: true\r\n};\r\n\r\n(async() => {\r\n    const response = await g4f.chatCompletion(messages, options);\t\r\n    console.log(response);\r\n})();\r\n/*\r\n{ \r\n    data: <ref *1> BrotliDecompress { ... }, \r\n    name: \"ChatBase\" \r\n}\r\n*/\r\n```\r\n\r\n<a id=\"how-to-handle-streamable-data\"></a>\r\n\r\n## So, how you should handle the streamable data?\r\nI **highly recommend** you to use the integrated chunkProcessor function so that you don't have to format each chunk into a single string format response.\r\n```js\r\nconst { G4F, chunkProcessor } = require(\"g4f\");\r\nconst g4f = new G4F();\r\nconst messages = [\r\n    { role: \"system\", content: \"You're an expert bot in poetry.\"},\r\n    { role: \"user\", content: \"Let's see, write a single paragraph-long poem for me.\" },\r\n];\r\nconst options = {\r\n    provider: g4f.providers.ChatBase,\r\n    stream: true\r\n};\r\n\r\n(async() => {\r\n    const response = await g4f.chatCompletion(messages, options);\r\n    let text = \"\";\r\n    for await (const chunk of chunkProcessor(response)) {\r\n        text += chunk;\r\n    }\r\n    console.log(text);\r\n})();\r\n/* \r\nI'll try to create that.\r\nTo keep your worries at bay.\r\nA smile on your face,\r\nAnd a heart full of grace.\r\n*/\r\n```\r\n\r\n<a id=\"stream-on-postprocessing\"></a>\r\n\r\n##  Stream on postprocessing\r\nWhen employing retry, output option, or both, you have the flexibility to select the size of each streamed chunk.\r\n```js\r\nconst { G4F, chunkProcessor } = require(\"g4f\");\r\nconst g4f = new G4F();\r\nconst messages = [\r\n    { role: \"system\", content: \"You're an expert bot in poetry.\"},\r\n    { role: \"user\", content: \"Let's see, write a single paragraph-long poem for me.\" },\r\n];\r\nconst options = {\r\n    provider: g4f.providers.Bing,\r\n    stream: true,\r\n    chunkSize: 15,\r\n    retry: {\r\n        times: 3,\r\n        condition: (text) => {\r\n            const words = text.split(\" \");\r\n            return words.length > 10;\r\n        }\r\n    },\r\n    output: (text) => {\r\n        return text + \" 💕🌹\";\r\n    }\r\n};\r\n\r\n(async() => {\r\n    const response = await g4f.chatCompletion(messages, options);\r\n    for await (const chunk of chunkProcessor(response)) {\r\n        console.log(chunk);    \r\n    }\r\n})();\r\n/*\r\nI'll try to cre\r\nate that. \r\n  Is what you a\r\nsked me to say\r\nn    I hope it\r\nbrings you joy\r\nn    And makes\r\nyour heart feel\r\n gay 💕🌹\r\n*/\r\n```\r\n**Note:** The chunkSize feature is effective only when the stream option is activated along with the retry/output option.\r\n\r\n<a id=\"resume-configurable-options\"></a>\r\n\r\n## ✏️ RESUME: Configurable options\r\n| Option        | Type                          | Description                    |\r\n| ------------- | ------------------------------ | -------------------------------- |\r\n| `provider`    | g4f.providers.any | Choose the provider to use for chat completions.      |\r\n| `model`       | string | Choose the model to use by a provider that supports it |\r\n| `debug`       | boolean | Enable or disable debug mode.     |\r\n| `proxy`       | string | Specify a proxy as a URL with a string in the host:port format.     |\r\n|  `retry`      | object | Execute the fetch operation N times in a row until it finishes or the callback function returns true. |\r\n| `retry.times` | number | Specify the number of times the fetch operation will execute as a limit. |\r\n| `retry.condition` | function: boolean | Callback function that receives a string as the text for each instance the fetch operation is running. This function should return a boolean. |\r\n| `output`      | function: string | Callback function that receives a string as the final text response so you can edit it. This function executes after the retry fetch operations. This function should return a string. |\r\n| `conversationStyle` | string | Choose the conversation style to use. This option is only supported by the Bing provider. |\r\n| `markdown` | boolean | Determine if the response should be in markdown format or not. |\r\n| `stream` | boolean | Determine if the data should be streamed in parts or not. |\r\n| `chunkSize` | number | Determine the size of chunks streamed. This only works if the stream option is true and if using retry or condition. |\r\n\r\n<a id=\"chat-completion-providers\"></a>\r\n\r\n## 🚀 Chat completion providers \r\n| Website | Provider | GPT-3.5 | GPT-4 | Stream | Status |\r\n| ------  | -------  | ------- | ----- | ------ | ------ |\r\n| [GPT.ai](https://chatgpt.ai) | `g4f.providers.GPT` | ✔️ | ✔️ | ❌ | ![Active](https://img.shields.io/badge/Active-brightgreen) |\r\n| [chatbase.co](https://www.chatbase.co) | `g4f.providers.ChatBase` | ✔️ | ❌ | ✔️ | ![Inactive](https://img.shields.io/badge/Inactive-red) |\r\n| [bing.com](https://bing.com/chat) | `g4f.providers.Bing` | ❌ | ✔️ | ✔️ | ![Active](https://img.shields.io/badge/Active-brightgreen) |\r\n\r\n<a id=\"models\"></a>\r\n\r\n## 📚 Chat completion models\r\n| Model                  | Providers that support it                   |\r\n| ---------------------- | ------------------------------------------- |\r\n| gpt-4                  | `g4f.providers.GPT`, `g4f.providers.Bing`     |\r\n| gpt-4-0613             | `g4f.providers.GPT`                          |\r\n| gpt-4-32k              | `g4f.providers.GPT`                          |\r\n| gpt-4-0314             | `g4f.providers.GPT`                          |\r\n| gpt-4-32k-0314         | `g4f.providers.GPT`                          |\r\n| gpt-3.5-turbo          | `g4f.providers.GPT`, `g4f.providers.ChatBase` |\r\n| gpt-3.5-turbo-16k      | `g4f.providers.GPT`                          |\r\n| gpt-3.5-turbo-0613     | `g4f.providers.GPT`                          |\r\n| gpt-3.5-turbo-16k-0613 | `g4f.providers.GPT`                          |\r\n| gpt-3.5-turbo-0301     | `g4f.providers.GPT`                          |\r\n| text-davinci-003       | `g4f.providers.GPT`                          |\r\n| text-davinci-002       | `g4f.providers.GPT`                          |\r\n| code-davinci-002       | `g4f.providers.GPT`                          |\r\n| gpt-3                  | `g4f.providers.GPT`                          |\r\n| text-curie-001         | `g4f.providers.GPT`                          |\r\n| text-babbage-001       | `g4f.providers.GPT`                          |\r\n| text-ada-001           | `g4f.providers.GPT`                          |\r\n| davinci                | `g4f.providers.GPT`                          |\r\n| curie                  | `g4f.providers.GPT`                          |\r\n| babbage                | `g4f.providers.GPT`                          |\r\n| ada                    | `g4f.providers.GPT`                          |\r\n| babbage-002            | `g4f.providers.GPT`                          |\r\n| davinci-002            | `g4f.providers.GPT`                          |\r\n\r\n<br><br>\r\n<a id=\"translation\"></a>\r\n\r\n# 📡 Translation\r\nWith the translation function, you can convert a text to a target language using AI.\r\n\r\n<a id=\"translation-usage\"></a>\r\n\r\n## Usage\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\n\r\nconst g4f = new G4F();\r\nconst options = {\r\n    text: \"Hello World\",\r\n    source: \"en\",\r\n    target: \"ko\"\r\n};\r\n\r\n(async() => {\r\n    const text = await g4f.translation(options);\r\n    console.log(text);\r\n})();\r\n/* \r\n{\r\n  source: { code: 'en', lang: 'English' },\r\n  target: { code: 'ko', lang: '한국어' },\r\n  translation: { parts: [ [Object] ], result: '안녕하세요 세계' }\r\n}\r\n*/\r\n```\r\n**Note:** You need to identify the language source ID and included it by your own, in the future\r\nthis will be solved with AI, and you wouldn't need to specify it.\r\n\r\n<a id=\"translation-options\"></a>\r\n\r\n## ✏️ RESUME: Translation options\r\n| Option         | Type              | Required | Description                                  |\r\n| -------------- | ----------------- | -------- | -------------------------------------------- |\r\n| `provider`     | g4f.providers.any |    ❌    | Choose the provider to use for translations. |\r\n| `debug`        | boolean           |    ❌    | Enable or disable debug mode.                |\r\n| `text`         | string            |    ✔️    | Specify the text to translate                |\r\n| `source`       | string            |    ✔️    | Specify the source text language.            |\r\n| `target`       | string            |    ✔️    | Specify the target language to translate.    |\r\n\r\n<a id=\"translation-langs\"></a>\r\n\r\n## 🌏 Languages available\r\n| Provider    | Status                                                     | Languages supported        |\r\n| ----------- | ---------------------------------------------------------- | -------------------------- |\r\n| `g4f.providers.TranslateAI` | ![Active](https://img.shields.io/badge/Active-brightgreen) | https://rentry.co/3qi3wqnr |\r\n\r\n<br><br>\r\n<a id=\"image-generation\"></a>\r\n\r\n# 📷 Image generation (BETA)\r\nWith the imageGeneration function, you will be able to generate images from a text input and optional parameters that will provide you with millions of combinations to stylize each of the images.\r\n\r\n<a id=\"cartoon-style-example\"></a>\r\n<br>\r\n\r\n## Cartoon style example\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\nconst fs = require(\"fs\");\r\n\r\nconst g4f = new G4F();\r\n(async() => {\r\n    const base64Image = await g4f.imageGeneration(\"A squirrel\", { \r\n        debug: true,\r\n        provider: g4f.providers.Emi\r\n    });\t\r\n    fs.writeFile('image.jpg', base64Image, { encoding: 'base64' }, function(err) {\r\n      if (err) return console.error('Error writing the file: ', err);\r\n      console.log('The image has been successfully saved as image.jpg.');\r\n    });\r\n})();\r\n```\r\n![An squirrel cartoon style from the Emi provider](https://i.imgur.com/6tdGNys.jpeg)\r\n\r\n<a id=\"paint-style-example\"></a>\r\n<br>\r\n\r\n## Paint style example\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\nconst fs = require(\"fs\");\r\n\r\nconst g4f = new G4F();\r\n(async() => {\r\n    const base64Image = await g4f.imageGeneration(\"A village\", { \r\n        debug: true,\r\n        provider: g4f.providers.Pixart,\r\n        providerOptions: {\r\n            height: 512,\r\n            width: 512,\r\n            samplingMethod: \"SA-Solver\"\r\n        }\r\n    });\t\r\n    fs.writeFile('image.jpg', base64Image, { encoding: 'base64' }, function(err) {\r\n      if (err) return console.error('Error writing the file: ', err);\r\n      console.log('The image has been successfully saved as image.jpg.');\r\n    });\r\n})();\r\n```\r\n![A village paint from the Pixart provider](https://i.imgur.com/pNor1oU.jpg)\r\n\r\n<a id=\"realistic-style-example\"></a>\r\n<br>\r\n\r\n## Realistic style example\r\n```js\r\nconst { G4F } = require(\"g4f\");\r\nconst fs = require(\"fs\");\r\n\r\nconst g4f = new G4F();\r\n(async() => {\r\n    const base64Image = await g4f.imageGeneration(\"A colorfull photo of a young lady\", { \r\n        debug: true,\r\n        provider: g4f.providers.Prodia,\r\n        providerOptions: {\r\n            model: \"ICantBelieveItsNotPhotography_seco.safetensors [4e7a3dfd]\",\r\n            samplingSteps: 15,\r\n            cfgScale: 30\r\n        }\r\n    });\t\r\n    fs.writeFile('image.jpg', base64Image, { encoding: 'base64' }, function(err) {\r\n      if (err) return console.error('Error writing the file: ', err);\r\n      console.log('The image has been successfully saved as image.jpg.');\r\n    });\r\n})();\r\n```\r\n![A photo of a young lady in realistic style from the Prodia provider](https://i.imgur.com/Kc3qRiA.png)\r\n\r\n<a id=\"image-generation-options\"></a>\r\n\r\n## ✏️ RESUME: Image generation options\r\n| Option          | Type              | Description                                       |\r\n| --------------- | ----------------- | ------------------------------------------------- |\r\n| debug           | boolean           | Enable or disable debug mode.                     |\r\n| provider        | g4f.providers.any | Choose the provider to use for image generations. |\r\n| providerOptions | object            | Use provider options supported by any provider    |\r\n\r\n**Note:** The value of providerOptions should be an object containing instructions for image generation, such as the base model, image style, sampling methods, among others. **Not all providers support the same instructions, so refer to the following list.**\r\n\r\n<a id=\"image-generation-provider-options\"></a>\r\n\r\n## ✏️ RESUME: Image generation provider options\r\n| Option            | Type    | Description | Limits | Providers that support it                         |\r\n| ---------------   | ------- | ------ | ---- |------------------------------------------------- |\r\n| model             | string  | Choose a model as a base for generation. | [🤖 Check lists](#image-generation-models) |`Prodia`, `ProdiaStableDiffusion`, `ProdiaStableDiffusionXL` |\r\n| negativePrompt    | string  | Indicate the provider of what not to do. | None | `Pixart`, `PixartLCM`, `Prodia`, `ProdiaStableDiffusion`, `ProdiaStableDiffusionXL` |\r\n| imageStyle        | string  | Specify the draw style.  | [🎨 Check lists](#image-generation-styles) | `Pixart`, `PixartLCM` |\r\n| height            | number  | Specify the image height. | [🧮 Check lists](#image-generation-number-type-options) |`Pixart`, `PixartLCM`, `ProdiaStableDiffusion`, `ProdiaStableDiffusionXL` |\r\n| width             | number  | Specify the image width. | [🧮 Check lists](#image-generation-number-type-options) | `Pixart`, `PixartLCM`, `ProdiaStableDiffusion`, `ProdiaStableDiffusionXL` |\r\n| samplingSteps     | number  | Specify the number of iterations. A higher number results in more quality. | [🧮 Check lists](#image-generation-number-type-options) | `Prodia`, `ProdiaStableDiffusion`, `ProdiaStableDiffusionXL` |\r\n| samplingMethod    | string  | Choose a sampling method to control the diversity, quality, and coherence of images. | [✒️ Check lists](#image-generation-sampling-methods) | `Pixart`, `Prodia`, `ProdiaStableDiffusion`, `ProdiaStableDiffusionXL` |\r\n| cfgScale          | number  | Specify the Classifier-Free Guidance to control how closely the generated image adheres to the given text prompt. | [🧮 Check lists](#image-generation-number-type-options) | `Pixart` `Prodia`, `ProdiaStableDiffusion`, `ProdiaStableDiffusionXL` |\r\n| dpmInferenceSteps | number  | Specify the DPM Inference Steps for refining object detection accuracy  | [🧮 Check lists](#image-generation-number-type-options) | `Pixart` |\r\n| saGuidanceScale   | number  | Specify the Style-Aware Guidance Scale for fine-tuning style and composition | [🧮 Check lists](#image-generation-number-type-options) | `Pixart` `StableDiffusionPlus` |\r\n| saInferenceSteps  | number  | Specify the Style-Aware Inference Steps for refining or adjusting the generated image during style transfer or style-based image synthesis. |  [🧮 Check lists](#image-generation-number-type-options) | `Pixart` |\r\n| lcmInferenceSteps | number  | Specify the LCM Inference Steps for enhancing the generation of images with AI by leveraging latent consistency models | [🧮 Check lists](#image-generation-number-type-options) | `PixartLCM` |\r\n| useGpu            | boolean | Determine whether to use the GPU for generation | None | `Dalle2` |\r\n| promptImprovement | boolean | Determine whether the prompt should be enhanced using AI. |None | `Dalle2` |\r\n\r\n<a id=\"image-generation-models\"></a>\r\n\r\n## 🤖 Image generation models\r\n| Provider                                 | Models supported           |\r\n| ---------------------------------------- | -------------------------- |\r\n| `Prodia`                   | https://rentry.co/b6i53fnm |\r\n| `ProdiaStableDiffusion`    | https://rentry.co/pfwmx6y5 |\r\n| `ProdiaStableDiffusionXL`  | https://rentry.co/wfhsk8sv |\r\n\r\n<a id=\"image-generation-styles\"></a>\r\n\r\n## 🎨 Image generation styles\r\n| Provider  | Image styles supported     |\r\n| --------- | -------------------------- |\r\n| `Pixart`    | https://rentry.co/hcggg36n |\r\n| `PixartLCM` | https://rentry.co/gzxa3wv2 |\r\n\r\n<a id=\"image-generation-sampling-methods\"></a>\r\n\r\n## ✒️ Image generation sampling methods\r\n| Provider                               | Sampling methods supported |\r\n| -------------------------------------- | -------------------------- |\r\n| `Pixart`                  | https://rentry.co/x7i8gko9 |\r\n| `Prodia`                  | https://rentry.co/8bwtqeh9 |\r\n| `ProdiaStableDiffusion`   | https://rentry.co/iyrkxmzr |\r\n| `ProdiaStableDiffusionXL` | https://rentry.co/p2ad6y3f |\r\n\r\n<a id=\"image-generation-number-type-options\"></a>\r\n\r\n## 🧮 Number type options\r\n| Provider                                | Number type options and values supported |\r\n| --------------------------------------- | ---------------- |\r\n| `Pixart`                  | <table><tr>    <th>Option</th>    <th style=\"text-align: center;\">Default</th>    <th style=\"text-align: center;\">Min</th>    <th style=\"text-align: center;\">Max</th></tr><tr>    <td>height</td>    <td style=\"text-align: center;\">1024</td>    <td style=\"text-align: center;\">256</td>    <td style=\"text-align: center;\">2048</td></tr><tr>    <td>width</td>    <td style=\"text-align: center;\">1024</td>    <td style=\"text-align: center;\">256</td>    <td style=\"text-align: center;\">2048</td></tr><tr>    <td>dpmInferenceSteps</td>    <td style=\"text-align: center;\">14</td>    <td style=\"text-align: center;\">5</td>    <td style=\"text-align: center;\">40</td></tr><tr>    <td>saGuidanceScale</td>    <td style=\"text-align: center;\">3</td>    <td style=\"text-align: center;\">1</td>    <td style=\"text-align: center;\">10</td></tr><tr>    <td>saInferenceSteps</td>    <td style=\"text-align: center;\">25</td>    <td style=\"text-align: center;\">10</td>    <td style=\"text-align: center;\">40</td></tr> <tr>    <td>cfgScale</td>    <td style=\"text-align: center;\">4.5</td>    <td style=\"text-align: center;\">1</td>    <td style=\"text-align: center;\">10</td></tr></table> |\r\n| `PixartLCM`               | <table><tr>    <th>Option</th>    <th style=\"text-align: center;\">Default</th>    <th style=\"text-align: center;\">Min</th>    <th style=\"text-align: center;\">Max</th></tr><tr>    <td>height</td>    <td style=\"text-align: center;\">1024</td>    <td style=\"text-align: center;\">256</td>    <td style=\"text-align: center;\">2048</td></tr><tr>    <td>width</td>    <td style=\"text-align: center;\">1024</td>    <td style=\"text-align: center;\">256</td>    <td style=\"text-align: center;\">2048</td></tr><tr>    <td>lcmInferenceSteps</td>    <td style=\"text-align: center;\">9</td>    <td style=\"text-align: center;\">1</td>    <td style=\"text-align: center;\">30</td></tr></table> |\r\n| `Prodia`                  | <table><tr>    <th>Option</th>    <th style=\"text-align: center;\">Default</th>    <th style=\"text-align: center;\">Min</th>    <th style=\"text-align: center;\">Max</th></tr><tr>    <td>samplingSteps</td>    <td style=\"text-align: center;\">7</td>    <td style=\"text-align: center;\">0</td>    <td style=\"text-align: center;\">20</td></tr><tr>    <td>cfgScale</td>    <td style=\"text-align: center;\">25</td>    <td style=\"text-align: center;\">1</td>    <td style=\"text-align: center;\">30</td></tr></table> |\r\n| `ProdiaStableDiffusion`   | <table><tr>    <th>Option</th>    <th style=\"text-align: center;\">Default</th>    <th style=\"text-align: center;\">Min</th>    <th style=\"text-align: center;\">Max</th></tr><tr>    <td>height</td>    <td style=\"text-align: center;\">512</td>    <td style=\"text-align: center;\">50</td>    <td style=\"text-align: center;\">1024</td></tr><tr>    <td>width</td>    <td style=\"text-align: center;\">512</td>    <td style=\"text-align: center;\">50</td>    <td style=\"text-align: center;\">1024</td></tr><tr>    <td>samplingSteps</td>    <td style=\"text-align: center;\">25</td>    <td style=\"text-align: center;\">1</td>    <td style=\"text-align: center;\">30</td></tr><tr>    <td>cfgScale</td>    <td style=\"text-align: center;\">7</td>    <td style=\"text-align: center;\">1</td>    <td style=\"text-align: center;\">20</td></tr></table> |\r\n| `ProdiaStableDiffusionXL` | <table><tr>    <th>Option</th>    <th style=\"text-align: center;\">Default</th>    <th style=\"text-align: center;\">Min</th>    <th style=\"text-align: center;\">Max</th></tr><tr>    <td>height</td>    <td style=\"text-align: center;\">1024</td>    <td style=\"text-align: center;\">512</td>    <td style=\"text-align: center;\">1536</td></tr><tr>    <td>width</td>    <td style=\"text-align: center;\">1024</td>    <td style=\"text-align: center;\">512</td>    <td style=\"text-align: center;\">1536</td></tr><tr>    <td>samplingSteps</td>    <td style=\"text-align: center;\">25</td>    <td style=\"text-align: center;\">1</td>    <td style=\"text-align: center;\">30</td></tr><tr>    <td>cfgScale</td>    <td style=\"text-align: center;\">7</td>    <td style=\"text-align: center;\">1</td>    <td style=\"text-align: center;\">20</td></tr></table> |\r\n| `StableDiffusionPlus` | <table><tr>    <th>Option</th>    <th style=\"text-align: center;\">Default</th>    <th style=\"text-align: center;\">Min</th>    <th style=\"text-align: center;\">Max</th></tr>    <td>saGuidanceScale</td>    <td style=\"text-align: center;\">9</td>    <td style=\"text-align: center;\">0</td>    <td style=\"text-align: center;\">50</td></tr></table> |\r\n\r\n<a id=\"list-providers-image-generation\"></a>\r\n\r\n## 🖼️ Image generation providers\r\n| Provider                               | Status   | Default style |\r\n| -------------------------------------- | :------: | ------------- |\r\n| `Pixart`                  | ![Inactive](https://img.shields.io/badge/Inactive-red) | Realistic with a touch of exaggeration, characterized by detailed textures, vibrant colors, and enhanced features. | \r\n| `PixartLCM`               | ![Inactive](https://img.shields.io/badge/Inactive-red) | Exhibits a detailed and vibrant use of color, creating a visually rich and textured representation. It’s a blend of realism with a touch of artistic interpretation. |\r\n| `Emi`                     | ![Active](https://img.shields.io/badge/Active-brightgreen) | Characterized by a colorful and whimsical animation, reminiscent of a children’s storybook illustration. |\r\n| `Dalle`                   | ![Active](https://img.shields.io/badge/Active-brightgreen) | Realistic, capturing intricate details and textures to depict a lifelike representation. |\r\n| `DalleMini`               | ![Active](https://img.shields.io/badge/Active-brightgreen) | Leans towards the abstract, with a digital artistry touch that emphasizes detailed textures and vibrant colors. It captures the essence of the subject through the use of shape, color, and form rather than attempting to represent it accurately. |\r\n| `Dalle2`                  | ![Inactive](https://img.shields.io/badge/Inactive-red) | Characterized by its semi-realism, with a focus on fine details, vivid colors, and natural lighting. |\r\n| `Prodia`                  | ![Active](https://img.shields.io/badge/Active-brightgreen) | Can be described as “photorealistic”. This term refers to artwork that is extremely detailed and lifelike, closely resembling a high-resolution photograph. |\r\n| `ProdiaStableDiffusion`   | ![Inactive](https://img.shields.io/badge/Inactive-red) | Photorealistic, capturing intricate details and textures to mimic the appearance of a real-life scene. |\r\n| `ProdiaStableDiffusionXL` | ![Inactive](https://img.shields.io/badge/Inactive-red) | Semi-realistic, meticulously incorporating fine details and textures to emulate the semblance of a real-world scenario. |\r\n| `StableDiffusionLite`     | ![Active](https://img.shields.io/badge/Active-brightgreen) | Can be described as folk art. It exhibits a naive perspective, lacks realistic proportions, and evokes simplicity. |\r\n| `StableDiffusionPlus`     | ![Active](https://img.shields.io/badge/Active-brightgreen) | Impressionism, characterized by visible brushstrokes, open composition, emphasis on light in its changing qualities, and ordinary subject matter. |\r\n\r\n<a id=\"image-generation-advice\"></a>\r\n\r\n# ⚠️ Advice\r\nIt's important to review the possibilities that each provider offers within their limitations, in order to access more detailed creations. However, it's possible that at some point you might combine options that are not supported by the provider you're using at that moment. In such cases the image generation won't stop; instead (and as long as you're using the debug option), you'll receive a warning alerting you to the error.\r\n\r\n<a id=\"contribute\"></a>\r\n\r\n# 🤝 Contribute\r\nIf you want to add your touch to this project, you can do so by contributing directly to the [GitHub](https://github.com/VictorMRojas/g4f-ts). Also, if you ever encounter an error that prevents you from using any functionality of the project, [be the first to report it](https://github.com/VictorMRojas/g4f-ts/issues), and that will help this community that seeks to access AI for free!","readmeFilename":"README.md"}