Unified Vision AI API — a single-container, production-ready computer vision and media processing API with authentication, metrics, request validation, and MCP agent integration.
AutonomyX Vision AI exposes common vision and media capabilities behind one API so applications and AI agents can use them without wiring each model or library separately.
| Service | Description |
|---|---|
| YOLO26 | Object detection with YOLO |
| Tesseract | OCR for text extraction |
| Whisper | Speech-to-text transcription |
| CLIP | Image classification and embeddings |
| rembg | Background removal |
| OpenCV | Image processing such as faces, edges, resize, and analyze |
docker run -d \
--name autonomyx-vision-ai \
-p 8000:8000 \
-v autonomyx_data:/app/data \
-v autonomyx_models:/app/models \
ghcr.io/agennext/agennext-enterprise:latest
Check that the service is running:
curl http://localhost:8000/health
View logs:
docker logs -f autonomyx-vision-ai
Stop the container:
docker stop autonomyx-vision-ai
docker compose --profile dev up -d --build
docker compose --profile prod up -d
docker compose --profile gpu up -d
GPU deployments require a CUDA-enabled host and the NVIDIA container runtime.
Use environment variables to configure runtime behavior. Store sensitive values in your deployment platform or secrets manager, not in source control.
| Variable | Example | Description |
|---|---|---|
ENVIRONMENT |
production |
Runtime environment name |
LOG_LEVEL |
info |
Logging verbosity |
YOLO_MODEL |
yolo26n.pt |
Object detection model file |
WHISPER_MODEL |
base |
Whisper model size/name |
CUDA_VISIBLE_DEVICES |
0 |
GPU selection for CUDA deployments |
Example Docker run with environment variables:
docker run -d \
--name autonomyx-vision-ai \
-p 8000:8000 \
-e ENVIRONMENT=production \
-e LOG_LEVEL=info \
-e YOLO_MODEL=yolo26n.pt \
-e WHISPER_MODEL=base \
-v autonomyx_data:/app/data \
-v autonomyx_models:/app/models \
ghcr.io/agennext/agennext-enterprise:latest
Mount these paths in production:
/app/data — generated files, local runtime data, and application state./app/models — downloaded or cached model files.Using persistent volumes prevents data and model downloads from being lost during restarts or redeployments.
curl http://localhost:8000/health
curl -X POST http://localhost:8000/auth/api-keys \
-H "Content-Type: application/json" \
-d '{"name": "my-app", "role": "developer", "rate_limit": 100}'
curl -X POST http://localhost:8000/detect \
-H "X-API-Key: ax_your_api_key_here" \
-F file=@photo.jpg
curl -X POST http://localhost:8000/ocr \
-H "X-API-Key: ax_your_api_key_here" \
-F file=@document.png
Before exposing the service publicly, verify the following:
GET /health returns a successful response.X-API-Key./app/data and /app/models are mounted to persistent storage./health, and run one representative request before opening access.# 1. Check health
curl http://localhost:8000/health
# 2. Create a key
curl -X POST http://localhost:8000/auth/api-keys \
-H "Content-Type: application/json" \
-d '{"name": "smoke-test", "role": "developer", "rate_limit": 100}'
# 3. Run a representative request
curl -X POST http://localhost:8000/detect \
-H "X-API-Key: ax_your_api_key_here" \
-F file=@photo.jpg
docker-compose.coolify.yml as the compose file..env.coolify.example./app/data and /app/models.8000.GET /health.Check logs and confirm the port mapping:
docker logs -f autonomyx-vision-ai
docker ps
Ensure /app/models is mounted to persistent storage.
Confirm the X-API-Key header is present and that the key has the expected role and rate limit.
Confirm the host has NVIDIA drivers, CUDA support, and the NVIDIA container runtime installed.