{"_id":"@aireact/image-caption","_rev":"4-c44838f18afc49b39988492c5cc4bf7d","name":"@aireact/image-caption","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@aireact/image-caption","version":"1.0.0","keywords":["react","image-caption","ai","gpt-4-vision","accessibility","alt-text"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aireact/image-caption@1.0.0","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"dist":{"shasum":"c34d5b2d70f89097ee3f10bcf40acf55f5aaf308","tarball":"https://registry.npmjs.org/@aireact/image-caption/-/image-caption-1.0.0.tgz","fileCount":10,"integrity":"sha512-YhSbx0HPuTryB5yBgepeme8sKcHVvS51gOuhkT2lI92Y8eXBFS7x9CA7DkJIxvQQf6w5wp/3qbT9xctko+IN0w==","signatures":[{"sig":"MEQCIBx+Z/9tE/Eeu3eF58Jj5THZ1Y2JJAO1VzV1xnPGWs/4AiB+5+Et3oYuMq6vTzYU4GT4TVVb+FsCwuz4P2JjappkKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111787},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dist/image-caption.css":"./dist/image-caption.css"},"gitHead":"3578555f09dd610edce51f84a4d6d27a6b2146bd","scripts":{"dev":"vite build --watch","build":"tsc && vite build"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"_npmVersion":"10.9.2","description":"AI image captioning with GPT-4 Vision for React","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.14.0","dependencies":{"@aireact/core":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.10","typescript":"^5.3.3","@types/react":"^18.2.45","vite-plugin-dts":"^3.7.0","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-caption_1.0.0_1765693684247_0.20409061558325736","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aireact/image-caption","version":"1.0.1","keywords":["react","image-caption","ai","gpt-4-vision","accessibility","alt-text"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aireact/image-caption@1.0.1","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"dist":{"shasum":"2869a7d0082d03d1c16180dcc4d333cb03fe35b1","tarball":"https://registry.npmjs.org/@aireact/image-caption/-/image-caption-1.0.1.tgz","fileCount":11,"integrity":"sha512-DZen8j4NSc5ONN2YwAAHxHPsYFFd83/IghciC0Mvf2Dn2KqxunYIcB1vEZI1TMbCpuK8nep3sI60dgXn3JKf2A==","signatures":[{"sig":"MEQCIBiR2zKArkrVb1oFj93BBGixCOLe9jiiRhvdgF0/c87CAiAGtppSQJ2Kj7kppdUpowx/KEjsZqdrAQvGppbeXVgKBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114760},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dist/image-caption.css":"./dist/image-caption.css"},"gitHead":"6857364eda430b8e9222514d3a5eeb6a5175c5b7","scripts":{"dev":"vite build --watch","build":"tsc && vite build"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"_npmVersion":"10.9.2","description":"AI image captioning with GPT-4 Vision for React","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.14.0","dependencies":{"@aireact/core":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.10","typescript":"^5.3.3","@types/react":"^18.2.45","vite-plugin-dts":"^3.7.0","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-caption_1.0.1_1765694969661_0.5210103504139627","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aireact/image-caption","version":"1.0.2","keywords":["react","image-caption","ai","gpt-4-vision","accessibility","alt-text"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aireact/image-caption@1.0.2","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"dist":{"shasum":"86f989526bbf1d6b9023141ffbfabcc827fb1e01","tarball":"https://registry.npmjs.org/@aireact/image-caption/-/image-caption-1.0.2.tgz","fileCount":11,"integrity":"sha512-0+XAEaiwzCUS/HnZE2BOKkwoj86clvjkAFjvZszsw8usy19jy1HZOkrKcDwJhE+FKwvDKTSbAt6PuKSTV8+2cQ==","signatures":[{"sig":"MEQCIHtAZ/3dgkDu5c1fc0jDaeb9qaJiyuYh9roeEQOgr1U6AiBk1EFdkjaA//GXfW1W9Jvu4elSYCNDiRzRxYM7jtTbiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114760},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dist/image-caption.css":"./dist/image-caption.css"},"gitHead":"6857364eda430b8e9222514d3a5eeb6a5175c5b7","scripts":{"dev":"vite build --watch","build":"tsc && vite build"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"_npmVersion":"10.9.2","description":"AI image captioning with GPT-4 Vision for React","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.14.0","dependencies":{"@aireact/core":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.10","typescript":"^5.3.3","@types/react":"^18.2.45","vite-plugin-dts":"^3.7.0","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/image-caption_1.0.2_1765696316853_0.5450012718669999","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aireact/image-caption","version":"1.0.3","description":"AI image captioning with GPT-4 Vision for React","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./dist/image-caption.css":"./dist/image-caption.css"},"scripts":{"build":"tsc && vite build","dev":"vite build --watch"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"dependencies":{"@aireact/core":"*"},"devDependencies":{"@types/react":"^18.2.45","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.2.1","typescript":"^5.3.3","vite":"^5.0.10","vite-plugin-dts":"^3.7.0"},"keywords":["react","image-caption","ai","gpt-4-vision","accessibility","alt-text"],"author":{"name":"reachbrt"},"license":"MIT","sideEffects":["*.css"],"_id":"@aireact/image-caption@1.0.3","gitHead":"eb0d57118209adc317afca9ec14db9074a14377b","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-WkIUBeXG3HReW8k1VfIqjXa/H0dGhb8MhGPU03fj2DhHZhhsGnrUrO4KA20y0AbaqZKRcV247CPkxbi5W5XA+w==","shasum":"faf9c8b63c60a37d2133a31d18f97a7339b8472b","tarball":"https://registry.npmjs.org/@aireact/image-caption/-/image-caption-1.0.3.tgz","fileCount":11,"unpackedSize":115649,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFi5ni2t61Tt8Z80daVGKGH0/j5o9HE/EDxFqnmaC1XjAiBSF0LvS3h4WcUmIaXTHcMfQJePuejk6QAzNlGkN1N9bA=="}]},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"directories":{},"maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/image-caption_1.0.3_1766466252439_0.07227047336819181"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-14T06:28:04.165Z","modified":"2025-12-23T05:04:12.807Z","1.0.0":"2025-12-14T06:28:04.417Z","1.0.1":"2025-12-14T06:49:29.813Z","1.0.2":"2025-12-14T07:11:57.005Z","1.0.3":"2025-12-23T05:04:12.590Z"},"author":{"name":"reachbrt"},"license":"MIT","keywords":["react","image-caption","ai","gpt-4-vision","accessibility","alt-text"],"description":"AI image captioning with GPT-4 Vision for React","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"readme":"# @aireact/image-caption\n\n🚀 **AI-Powered Image Captioning for React**\n\nGenerate intelligent captions and descriptions for images using AI vision models.\n\n<p>\n  <a href=\"https://www.npmjs.com/package/@aireact/image-caption\"><img src=\"https://img.shields.io/npm/v/@aireact/image-caption.svg?style=flat-square\" alt=\"npm version\"></a>\n  <a href=\"https://www.npmjs.com/package/@aireact/image-caption\"><img src=\"https://img.shields.io/npm/dm/@aireact/image-caption\" alt=\"npm downloads\"></a>\n  <a href=\"https://github.com/reachbrt/AIReact/blob/main/LICENSE\"><img src=\"https://img.shields.io/npm/l/@aireact/image-caption.svg?style=flat-square\" alt=\"MIT License\"></a>\n  <a href=\"https://github.com/reachbrt/AIReact\"><img src=\"https://img.shields.io/github/stars/reachbrt/AIReact?style=social\" alt=\"GitHub Stars\"></a>\n</p>\n\n## ✨ Features\n\n- **🖼️ AI Vision**: Powered by OpenAI GPT-4 Vision, Claude, Gemini\n- **📝 Rich Descriptions**: Detailed, context-aware captions\n- **🏷️ Auto Tagging**: Generate relevant tags for images\n- **♿ Accessibility**: Perfect for alt-text generation\n- **🎨 Customizable**: Control caption style and length\n- **🔧 TypeScript**: Full TypeScript support\n\n## 📦 Installation\n\n```bash\nnpm install @aireact/image-caption @aireact/core\n```\n\n## 🚀 Quick Start\n\n```tsx\nimport { ImageCaption, useImageCaption } from '@aireact/image-caption';\nimport '@aireact/image-caption/style.css';\n\nfunction App() {\n  return (\n    <ImageCaption\n      provider=\"openai\"\n      apiKey={process.env.REACT_APP_OPENAI_API_KEY}\n      model=\"gpt-4-vision-preview\"\n      src=\"/path/to/image.jpg\"\n      showCaption={true}\n    />\n  );\n}\n```\n\n### Using the Hook\n\n```tsx\nimport { useImageCaption } from '@aireact/image-caption';\n\nfunction CustomCaption() {\n  const {\n    caption,\n    tags,\n    isLoading,\n    generateCaption\n  } = useImageCaption({\n    provider: 'openai',\n    apiKey: process.env.REACT_APP_OPENAI_API_KEY,\n    model: 'gpt-4-vision-preview'\n  });\n\n  const handleImageUpload = async (file) => {\n    await generateCaption(file);\n  };\n\n  return (\n    <div>\n      <input type=\"file\" onChange={(e) => handleImageUpload(e.target.files[0])} />\n      {isLoading && <span>Analyzing image...</span>}\n      {caption && <p>{caption}</p>}\n      {tags && (\n        <div className=\"tags\">\n          {tags.map((tag, i) => <span key={i}>{tag}</span>)}\n        </div>\n      )}\n    </div>\n  );\n}\n```\n\n## 📖 Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `provider` | string | - | AI provider |\n| `apiKey` | string | - | API key |\n| `model` | string | - | Vision model |\n| `src` | string | - | Image source |\n| `showCaption` | boolean | true | Display caption |\n| `showTags` | boolean | false | Display tags |\n| `style` | string | 'detailed' | Caption style |\n\n## 🎨 Customization\n\n```css\n:root {\n  --aireact-caption-bg: #f5f5f5;\n  --aireact-caption-text: #333333;\n  --aireact-caption-tag: #2196f3;\n}\n```\n\n## 📦 Related Packages\n\n### React (@aireact)\n- [@aireact/core](https://www.npmjs.com/package/@aireact/core) - Core AI Client\n- [@aireact/360-spin](https://www.npmjs.com/package/@aireact/360-spin) - 360° Product Viewer\n- [@aireact/doc-intelligence](https://www.npmjs.com/package/@aireact/doc-intelligence) - Document AI\n\n### Vue.js (@aivue)\n- [@aivue/image-caption](https://www.npmjs.com/package/@aivue/image-caption) - Vue Image Caption\n- [@aivue/core](https://www.npmjs.com/package/@aivue/core) - Vue Core AI Client\n\n### Angular (@aiangular) - Coming Soon\n- @aiangular/image-caption - Angular Image Caption\n\n## 🔗 More Information\n\n- [GitHub Repository](https://github.com/reachbrt/AIReact)\n- [Full Documentation](https://github.com/reachbrt/AIReact/wiki)\n- [Report Issues](https://github.com/reachbrt/AIReact/issues)\n\n## 📄 License\n\nMIT © [Bharatkumar Subramanian](https://github.com/reachbrt)\n\n","readmeFilename":"README.md"}