Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/StarTrail-org/PixelRAG/llms.txt

Use this file to discover all available pages before exploring further.

The PixelRAG search server exposes a FastAPI HTTP API for visual document retrieval. It is served by pixelrag serve and available publicly at api.pixelrag.ai with no authentication required. You can search a pre-built index of 8.28 million Wikipedia pages immediately — no setup needed — or point the same client code at a self-hosted instance once you have built your own index.

Base URLs

EnvironmentBase URLNotes
Hosted (no auth)https://api.pixelrag.aiPre-built Wikipedia index, always live
Self-hostedhttp://localhost:30001Default port; change with --port
curl -X POST https://api.pixelrag.ai/search \
  -H "Content-Type: application/json" \
  -d '{"queries": [{"text": "Nikola Tesla"}], "n_docs": 5}'

Authentication

The hosted api.pixelrag.ai endpoint requires no API key. All requests are accepted without any Authorization header. For self-hosted deployments, PixelRAG has no built-in authentication mechanism. The server binds to 0.0.0.0 by default. If you need to restrict access, place an nginx reverse proxy or similar in front of the server and handle authentication there.
The hosted endpoint has CORS fully open (allow_origins: ["*"]), so it can be called directly from browser JavaScript.

Endpoints Summary

MethodPathDescription
POST/searchBatch search with text, image, or embedding queries
GET/statusIndex statistics and server info
GET/healthLiveness probe
GET/departmentsAvailable department filters
GET/tile/{article_id}/{tile_index}/{chunk_index}Serve tile image by ID
GET/tile?path=...Serve tile image by path (legacy)
POST/reconstructReconstruct stored embeddings by vector_id

Request Tracing

Pass an X-Request-ID header to correlate your client logs with server-side log entries. The value must be 64 characters or fewer and contain only alphanumeric characters, hyphens (-), or underscores (_). Values that fail this check are silently replaced by a server-generated 16-hex-character ID. Every response includes X-Request-ID regardless of whether the client supplied one.
curl -X POST https://api.pixelrag.ai/search \
  -H "Content-Type: application/json" \
  -H "X-Request-ID: my-trace-abc-123" \
  -d '{"queries": [{"text": "quantum computing"}], "n_docs": 3}'
Structured log lines on the server include [my-trace-abc-123] in every message produced during that request, making it easy to grep server logs for a specific client call.

Content Types

SituationContent-Type
All request bodies (/search, /reconstruct)application/json
All JSON response bodiesapplication/json
Tile image responses (/tile/...)image/jpeg or image/png depending on the stored file

Build docs developers (and LLMs) love