A FastAPI extension that replaces endpoints with vibes. Every request is handled by an LLM.
No @app.get. No @app.post. Just vibes.
uv syncfrom onlyvibes import VibeApi
app = VibeApi()That's it. Run it:
uv run uvicorn example:app --reloadEvery request — any method, any path, any body — gets forwarded to Claude, which decides what the appropriate response should be.
VibeApi accepts any standard FastAPI keyword argument, plus:
| Parameter | Default | Description |
|---|---|---|
model |
claude-sonnet-4-20250514 |
Anthropic model to use |
max_tokens |
1024 |
Max tokens for the LLM response |
Set the ANTHROPIC_API_KEY environment variable before running.
uv run pytest