--- title: 3DAI API Backend emoji: 🎯 colorFrom: blue colorTo: purple sdk: docker app_port: 7860 pinned: false license: apache-2.0 --- # 3DAI API Backend A FastAPI backend for 3D AI model generation services. ## Features - User authentication with Supabase - Image-to-3D conversion using Meshy AI - Text-to-3D conversion - Credit system for usage tracking - Stripe integration for payments ## Environment Variables Create a `.env` file with the following variables: ``` SUPABASE_URL=https://.supabase.co SUPABASE_KEY= JWT_SECRET_KEY= OPENAI_API_KEY= STRIPE_SECRET_KEY= # Development Mode (for testing without Google login) DEV_MODE=false DEV_SECRET_TOKEN=dev-secret-token-change-this DEV_USER_EMAIL=your-dev-user@example.com DEV_USER_ID=cc310cdf-83af-48e4-a341-d6c2f3b5462d ``` ## Development Mode Authentication For local development and testing, you can bypass the normal Google OAuth flow using development mode: 1. Set `DEV_MODE=true` in your `.env` file 2. Set `DEV_SECRET_TOKEN` to a secure token of your choice 3. Set `DEV_USER_EMAIL` to the email of an existing user in your Supabase database 4. Set `DEV_USER_ID` to `cc310cdf-83af-48e4-a341-d6c2f3b5462d` (or leave unset to use default dev ID) **Usage:** When DEV_MODE is enabled, you can authenticate by sending the dev token in the Authorization header: ```bash curl -H "Authorization: Bearer your-dev-secret-token" http://localhost:7860/protected-endpoint ``` **Security Note:** Only use this in development! Never enable DEV_MODE in production. ## Local Development 1. Install dependencies: ```bash pip install -r requirements.txt ``` 2. Run the development server: ```bash uvicorn main:app --host 0.0.0.0 --port 7860 --reload ``` 3. Visit http://localhost:7860/docs for API documentation ## Deployment ### Hugging Face Spaces This app is configured to run on Hugging Face Spaces using Docker. Make sure to: 1. Set all required environment variables in your Space settings 2. Use the Docker SDK configuration 3. Set app_port to 7860 ### Environment Setup for Deployment Set these environment variables in your deployment platform: - `SUPABASE_URL`: Your Supabase project URL - `SUPABASE_KEY`: Your Supabase service role key - `JWT_SECRET_KEY`: A secure random string for JWT signing - `OPENAI_API_KEY`: Your OpenAI API key - `STRIPE_SECRET_KEY`: Your Stripe secret key ## API Documentation Once running, visit `/docs` for interactive API documentation. ## Testing Run the comprehensive test suite: ```bash python test_deployment.py ``` ## License Apache 2.0