Configuration

All API server settings use the DIRECTAI_ environment variable prefix.

API Server

VariableDefaultDescription
DIRECTAI_HOST0.0.0.0Bind address
DIRECTAI_PORT8000Bind port
DIRECTAI_LOG_LEVELinfoLog level (debug/info/warning/error)
DIRECTAI_MODEL_CONFIG_DIR/app/modelsPath to ModelDeployment YAML directory
DIRECTAI_API_KEYS(empty)Comma-separated API keys. Empty = auth disabled (local dev only)
DIRECTAI_BACKEND_TIMEOUT300Backend request timeout in seconds
DIRECTAI_BACKEND_CONNECT_TIMEOUT5Backend connect-phase timeout in seconds
DIRECTAI_DATABASE_URL(empty)PostgreSQL connection string for key validation + usage metering
DIRECTAI_KEY_CACHE_TTL60API key in-memory cache TTL in seconds
DIRECTAI_DATABASE_PATH(empty)SQLite path for model lifecycle state

Provider Keys (Passthrough)

Set upstream API keys for frontier model passthrough. Prefix: DIRECTAI_PROVIDER_KEY_

VariableDefaultDescription
DIRECTAI_PROVIDER_KEY_OPENAI_API_KEY(empty)OpenAI API key for GPT-4o, o3, etc.
DIRECTAI_PROVIDER_KEY_ANTHROPIC_API_KEY(empty)Anthropic API key for Claude models
DIRECTAI_PROVIDER_KEY_GOOGLE_API_KEY(empty)Google AI API key for Gemini models
DIRECTAI_PROVIDER_KEY_AZURE_OPENAI_API_KEY(empty)Azure OpenAI API key

Users can also store per-user provider keys in the dashboard. Per-user keys (encrypted with AES-256-GCM) take priority over environment variables.

Rate Limiting

VariableDefaultDescription
DIRECTAI_RATE_LIMIT_RPS60Per-key rate limit (requests/second)
DIRECTAI_RATE_LIMIT_BURST120Token-bucket burst capacity

Billing (Stripe)

VariableDefaultDescription
DIRECTAI_STRIPE_SECRET_KEY(empty)Stripe API secret key. Empty = dry-run mode
DIRECTAI_USAGE_REPORT_INTERVAL60Seconds between Stripe Meter flush cycles
DIRECTAI_STRIPE_METER_CHAT_INPUTchat_input_tokensStripe Meter event name for chat input tokens
DIRECTAI_STRIPE_METER_CHAT_OUTPUTchat_output_tokensStripe Meter event name for chat output tokens
DIRECTAI_STRIPE_METER_EMBEDDINGembedding_tokensStripe Meter event name for embedding tokens
DIRECTAI_STRIPE_METER_TRANSCRIPTIONtranscription_secondsStripe Meter event name for transcription

Observability

VariableDefaultDescription
DIRECTAI_OTEL_ENABLEDtrueEnable OpenTelemetry distributed tracing
DIRECTAI_APPINSIGHTS_CONNECTION_STRING(empty)Azure Application Insights connection string
DIRECTAI_OTLP_ENDPOINT(empty)OTLP gRPC endpoint for trace export
DIRECTAI_OTEL_SAMPLE_RATE1.0Trace sampling rate (0.0–1.0)