config
Manage providers, models, and parsers.
Synopsis
struktur config providers <subcommand> [options]
struktur config models <subcommand> [options]
struktur config parsers <subcommand> [options]Configuration is stored at ~/.config/struktur/config.json. Override the directory with STRUKTUR_CONFIG_DIR.
config providers
Manage API tokens for LLM providers.
config providers list
List all supported providers with their configuration status.
struktur config providers listOutput:
[
{ "provider": "openai", "configured": true, "storage": "keychain" },
{ "provider": "anthropic", "configured": false, "storage": null },
{ "provider": "google", "configured": false, "storage": null },
{ "provider": "opencode", "configured": false, "storage": null },
{ "provider": "openrouter", "configured": false, "storage": null }
]config providers add
Store an API token for a provider.
Prop
Type
Output (without --default): { "provider": "openai", "stored": "keychain" }
Output (with --default): { "provider": "openai", "stored": "keychain", "defaultModel": "openai/gpt-4.1-nano" }
Storage: On macOS, tokens go into Keychain by default. On other platforms, ~/.config/struktur/tokens.json (chmod 600). Set STRUKTUR_DISABLE_KEYCHAIN to force file storage on macOS.
config providers remove
Delete a stored token.
struktur config providers remove <provider>Output: { "provider": "openai", "deleted": true }
config models
Manage the default model and model aliases.
config models list
List available models for a provider (queries the provider API).
struktur config models list [--provider <name>]config models use
Set the default model. Accepts a provider/model spec or a stored alias.
struktur config models use openai/gpt-4o-mini
struktur config models use fast # if alias "fast" is definedThe alias is resolved before storing, so config always holds a real model string.
config models alias
Manage short aliases for model specs. Aliases resolve transparently everywhere a model is accepted — --model fast works identically to --model openai/gpt-4.1-mini.
# List all aliases
struktur config models alias list
# Get a specific alias
struktur config models alias get fast
# Set an alias
struktur config models alias set fast openai/gpt-4.1-mini
struktur config models alias set smart anthropic/claude-3-5-haiku-20241022
# Remove an alias
struktur config models alias remove fastalias list output:
{ "aliases": { "fast": "openai/gpt-4.1-mini", "smart": "anthropic/claude-3-5-haiku-20241022" } }config parsers
Register custom parsers for file formats not supported natively. Parsers are keyed by MIME type.
config parsers list
struktur config parsers listconfig parsers get
struktur config parsers get --mime application/vnd.ms-excelconfig parsers add
Prop
Type
Exactly one of --npm, --file-command, or --stdin-command must be specified.
config parsers remove
struktur config parsers remove --mime application/vnd.ms-excelOpenRouter provider routing
When using OpenRouter, you can specify a preferred inference provider using the # syntax in the model spec:
# Use Claude 3.5 Sonnet via Cerebras for faster inference
struktur --input doc.pdf --model "openrouter/anthropic/claude-3.5-sonnet#cerebras" --fields "..."
# Use Claude via Together AI
struktur --input doc.pdf --model "openrouter/anthropic/claude-3.5-sonnet#together" --fields "..."This is passed through to OpenRouter's provider routing feature.
See also
- Installation & Setup — initial setup and environment variables
- Document Parsing — how the parser system works