Struktur

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 list

Output:

[
  { "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 defined

The 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 fast

alias 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 list

config parsers get

struktur config parsers get --mime application/vnd.ms-excel

config 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-excel

OpenRouter 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

On this page