One endpoint routes to Claude, GPT-4o, or Gemini. Set model: "auto" and Filament picks based on prompt type. Pin a model explicitly when needed.
{
"prompt": "Explain RAG",
"model": "auto",
"system": "Be concise.",
"session_id": "sess_abc"
}Register any HTTP endpoint as a tool the model can call. Schema-validated. Auth headers encrypted at rest.
{
"name": "get_weather",
"endpoint": "https://api.weather.com/v1",
"schema": {
"type": "object",
"properties": {
"location": { "type": "string" }
}
}
}Every request is traced. Tokens, latency, model used, status. Filter by session. Pull via API or view in dashboard.
GET /api/observe ?session_id=sess_abc &limit=50 &offset=0
Swap the active model for a running session without losing context or tool bindings.
PATCH /api/session/sess_abc
{
"model": "claude"
}Machine-readable capability spec served as plain text. Drop the URL into any agent for automatic skill discovery.
curl https://filament.works/skill.md # Returns: --- name: filament version: 1.0.0 endpoint: https://filament.works/api --- ## capabilities ...
Drop-in replacement. Change one URL in your existing OpenAI SDK code. Same response schema, same interface.
from openai import OpenAI client = OpenAI( base_url="https://filament.works/api", api_key="fl-..." )