A simple API router for image generation models. This service acts as a proxy between your application and other image generation APIs, simplifying the process of using different models.
- OpenAI compatible API endpoint
- Rate limiting
- Free and paid model usage tracking
- Docker and Docker Compose
- API keys for the models you want to use
- Clone the repository
- Create a
.envfile and add your API keys
Using Docker Compose:
docker compose upThe service will be available at http://localhost:3000
If you're behind a proxy, don't forget to set timeout to 10 minutes! Update: after the empty character streaming that I added to bypass Cloudflare timeouts, I'm not sure if this is still needed. Nginx example:
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
send_timeout 600s;
To run tests inside the Docker container:
# Run tests with console output visible
docker compose down && docker compose up -d
docker compose exec api npm test -- --verbosedocker compose -f docker-compose.generate.yml upSee API Reference
GET /health
Example curl command:
curl http://localhost:3000/health- Rate limiting is enabled (100 requests per 15 minutes per IP)
- Security headers are implemented using Helmet
- CORS is enabled for cross-origin requests
- API key is required for image generation