text-guided-image-colorization / CURL_EXAMPLES.md
LogicGoInfotechSpaces's picture
Add comprehensive cURL examples for API testing
e8ae712
|
raw
history blame
3.58 kB
# 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`