Tools API (search & YouTube for your own apps)

Besides chat, Quartermaster exposes the same tool executors the playground uses - web search and YouTube - as plain HTTP endpoints, so your own scripts, agents, and apps can call them instead of wiring up SearXNG, DuckDuckGo, or yt-dlp themselves.

They live on the /v1 surface, so they are gated by the same API keys as inference (see API keys and access). Any valid key works; model scopes do not apply.

Endpoints (all POST, JSON in and out):

Requirements - the same as chat: the YouTube endpoints need yt-dlp (they answer 503 with an install hint when it is missing); transcripts need a video that actually has captions.

Errors are OpenAI-shaped {"error": {"message": "…"}}: 400 bad arguments, 502 upstream failure, 503 yt-dlp missing.

Typical use: your app keeps its own tool schemas for the model and executes each tool call here. Example:

curl http://127.0.0.1:1250/v1/tools/search \
  -H "Authorization: Bearer qm-..." \
  -H "Content-Type: application/json" \
  -d '{"query":"llama.cpp release","providers":[{"id":"duckduckgo"}]}'

This page is generated from the help wiki that ships inside the app: the same text you get from the Help button, and the same text the playground assistant searches. Corrections go to wiki_articles.json.