ShlokArora2709/jester
0
FastAPI inference server for CLIP image/text embeddings plus OCR.
Required model files
Place these under HF_server/model (or mount at runtime):
clip_image_encoder_int8.onnxclip_text_encoder.onnx(you will add)
Environment variables
IMAGE_MODEL_PATH(default:/model/clip_image_encoder_int8.onnx)TEXT_MODEL_PATH(default:/model/clip_text_encoder_int8.onnx)TOKENIZER_NAME(default:openai/clip-vit-base-patch32)MAX_IMAGE_BYTES(default: 8388608)OCR_LANG(default:eng)ORT_PROVIDERS(default:CPUExecutionProvider)API_KEY(default: empty, disables auth)API_HEADER(default:X-API-Key)
Local run
python -m venv .venv
source .venv/bin/activate
pip install -r HF_server/requirements.txt
uvicorn HF_server.app:app --host 0.0.0.0 --port 7860Docker (Hugging Face Spaces)
From the repo root:
docker build -f HF_server/Dockerfile -t hf-server .
docker run -p 7860:7860 -v $(pwd)/HF_server/model:/model hf-serverAPI
GET /
Health check.
POST /process
Request:
{ "image_b64": "..." }Auth: set X-API-Key: <API_KEY> header (or Authorization: Bearer <API_KEY>). Response:
{ "embedding": [0.0, 0.1], "ocr_text": "example" }POST /embed_text
Request:
{ "text": "hello world" }Auth: set X-API-Key: <API_KEY> header (or Authorization: Bearer <API_KEY>). Response:
{ "embedding": [0.0, 0.1] }