bogofit-ai-sdk
v1.4.4
Published
Universal TypeScript SDK for BogoFit AI Services (Virtual Try-on, Hair Styling, etc.)
Maintainers
Readme
📦 BogoFit AI SDK
🧩 Universal TypeScript SDK for BogoFit AI Services
The BogoFit AI SDK is a multi-platform integration toolkit that allows developers to seamlessly integrate AI features (Virtual Try-on, Hair Styling, etc.) into both Backend (Node.js) and Frontend (Browser) environments.
🏗️ Architecture & Entry Points
The SDK is designed with two distinct entry points to ensure security and performance:
1. 🛡️ Server-side SDK (@bogofit/sdk/server)
Designed for Node.js environments. Its primary responsibility is to authenticate with the BogoFit API using an apiKey to generate secure session tokens for end-users.
- Purpose: API Key protection, session management.
- Flow: Client Backend -> BogoFit API -> Receive
sessionToken.
2. 🎨 Client-side SDK (@bogofit/sdk/client)
Designed for direct use in the end-user's web browser. It uses the sessionToken provided by the server to directly interact with AI processing modules.
- Purpose: Image processing, UI rendering (Camera/Modals), AI model invocation.
- Flow: Browser -> BogoFit API (with token) -> Receive rendered result.
📁 Project Structure
src/
├── server/ # Backend Entry Point (API Key Required)
│ ├── BogofitServer.ts
│ └── session/ # Session Management logic
├── client/ # Frontend Entry Point (Session Token Required)
│ ├── BogofitClient.ts
│ ├── ui/ # UI Components (Camera, Modals, Popups)
│ └── modules/ # AI Service Modules (Fitting, Hair, Glasses, Nail)
├── shared/ # Common Utilities (HttpClient, Errors, Types)
└── types/ # Domain Type Definitions (Shared with API)🚀 AI Modules
The SDK provides specialized AI modules that can be called directly from the Client:
| Module | Feature | Description | | :--- | :--- | :--- | | Fitting | Virtual Fitting | Overlay clothing (tops, bottoms, full sets) onto user images. | | Hair | Hair Simulation | Simulate hair styles and colors based on reference images. | | Glasses | Virtual Glasses | Overlay various eyewear models onto the user's face. | | Nail | Nail Art | Simulate nail colors and custom nail art patterns. |
🛠️ Tech Stack
- Language: TypeScript (Strict Mode)
- Bundle Tool:
tsup(Dual output: ESM and CJS) - Protocol: Fetch API/Axios (Shared HttpClient)
- Events: EventEmitter (AI state and progress tracking)
🔐 Authentication Flow
Initialization (Server):
const server = new BogofitServer({ apiKey: 'bg-ai-key-...' }); const sessionToken = await server.createSession(); // Returns JWTUsage (Client):
const client = new BogofitClient({ sessionToken: 'jwt-from-server' }); const result = await client.fitting.process({ modelImage: '...', ... });
📄 License
MIT © BogoFit Team
