| # cURL Examples for Image Colorization API | |
| ## Base URL | |
| Replace `YOUR_SPACE_URL` with your Hugging Face Space URL (e.g., `https://your-space-name.hf.space`) | |
| ```bash | |
| BASE_URL="https://YOUR_SPACE_URL" | |
| # Or for local testing: | |
| # BASE_URL="http://localhost:7860" | |
| ``` | |
| ## 1. Health Check | |
| Check if the API is running and models are loaded: | |
| ```bash | |
| curl -X GET "${BASE_URL}/health" | |
| ``` | |
| **Response:** | |
| ```json | |
| { | |
| "status": "healthy", | |
| "model_loaded": true, | |
| "model_type": "hf_inference_api", | |
| "provider": "fal-ai" | |
| } | |
| ``` | |
| ## 2. API Info | |
| Get API information: | |
| ```bash | |
| curl -X GET "${BASE_URL}/api" | |
| ``` | |
| ## 3. Colorize Image (with Firebase Auth) | |
| ### With Bearer Token (Firebase ID Token): | |
| ```bash | |
| curl -X POST "${BASE_URL}/colorize" \ | |
| -H "Authorization: Bearer YOUR_FIREBASE_ID_TOKEN" \ | |
| -F "file=@path/to/your/image.jpg" \ | |
| -F "positive_prompt=vibrant natural colors, high quality" \ | |
| -F "negative_prompt=blurry, low quality" \ | |
| -F "seed=123" \ | |
| -F "num_inference_steps=8" | |
| ``` | |
| ### With App Check Token: | |
| ```bash | |
| curl -X POST "${BASE_URL}/colorize" \ | |
| -H "X-Firebase-AppCheck: YOUR_APP_CHECK_TOKEN" \ | |
| -F "file=@path/to/your/image.jpg" \ | |
| -F "positive_prompt=vibrant natural colors, high quality" | |
| ``` | |
| ### Minimal Request (default prompt): | |
| ```bash | |
| curl -X POST "${BASE_URL}/colorize" \ | |
| -H "Authorization: Bearer YOUR_FIREBASE_ID_TOKEN" \ | |
| -F "file=@image.jpg" | |
| ``` | |
| **Response:** | |
| ```json | |
| { | |
| "success": true, | |
| "result_id": "uuid-here", | |
| "caption": "colorize this image with vibrant natural colors, high quality", | |
| "download_url": "/results/uuid-here.png", | |
| "api_download": "/download/uuid-here" | |
| } | |
| ``` | |
| ## 4. Download Colorized Image | |
| ### With Authentication: | |
| ```bash | |
| curl -X GET "${BASE_URL}/download/RESULT_ID" \ | |
| -H "Authorization: Bearer YOUR_FIREBASE_ID_TOKEN" \ | |
| -o colorized_image.png | |
| ``` | |
| ### Public Access (if available): | |
| ```bash | |
| curl -X GET "${BASE_URL}/results/FILENAME.png" \ | |
| -o colorized_image.png | |
| ``` | |
| ## 5. Complete Workflow Example | |
| ```bash | |
| # 1. Check health | |
| curl -X GET "${BASE_URL}/health" | |
| # 2. Colorize image | |
| RESPONSE=$(curl -X POST "${BASE_URL}/colorize" \ | |
| -H "Authorization: Bearer YOUR_FIREBASE_ID_TOKEN" \ | |
| -F "file=@input.jpg" \ | |
| -F "positive_prompt=colorize with vibrant natural colors") | |
| # 3. Extract result_id from response | |
| RESULT_ID=$(echo $RESPONSE | jq -r '.result_id') | |
| # 4. Download the result | |
| curl -X GET "${BASE_URL}/download/${RESULT_ID}" \ | |
| -H "Authorization: Bearer YOUR_FIREBASE_ID_TOKEN" \ | |
| -o output.png | |
| ``` | |
| ## 6. Testing Without Authentication | |
| If `DISABLE_AUTH=true` is set in environment variables: | |
| ```bash | |
| curl -X POST "${BASE_URL}/colorize" \ | |
| -F "file=@image.jpg" \ | |
| -F "positive_prompt=colorize this image" | |
| ``` | |
| ## 7. Using jq for Pretty JSON Output | |
| ```bash | |
| # Health check with formatted output | |
| curl -X GET "${BASE_URL}/health" | jq | |
| # Colorize with formatted response | |
| curl -X POST "${BASE_URL}/colorize" \ | |
| -H "Authorization: Bearer YOUR_FIREBASE_ID_TOKEN" \ | |
| -F "file=@image.jpg" | jq | |
| ``` | |
| ## 8. Error Handling Examples | |
| ### Check for errors: | |
| ```bash | |
| curl -X GET "${BASE_URL}/health" | jq '.model_error' | |
| ``` | |
| ### Verbose output for debugging: | |
| ```bash | |
| curl -v -X POST "${BASE_URL}/colorize" \ | |
| -H "Authorization: Bearer YOUR_FIREBASE_ID_TOKEN" \ | |
| -F "file=@image.jpg" | |
| ``` | |
| ## Notes: | |
| - Replace `YOUR_FIREBASE_ID_TOKEN` with your actual Firebase authentication token | |
| - Replace `YOUR_SPACE_URL` with your Hugging Face Space URL | |
| - Image formats supported: JPG, PNG, etc. | |
| - The API uses Hugging Face Inference API (fal-ai provider) for colorization | |
| - Default model: `black-forest-labs/FLUX.1-Kontext-dev` | |