Provider Capabilities¶
This page defines the v1.0 capability contract by provider.
Pollux is capability-transparent, not capability-equalizing: providers are allowed to differ, and those differences are surfaced clearly.
v1.0 Policy¶
- Provider feature parity is not required for release.
- Unsupported features must fail fast with clear errors.
- New provider features do not require immediate cross-provider implementation.
Capability Matrix (v1.0)¶
| Capability | Gemini | OpenAI | Notes |
|---|---|---|---|
| Text generation | ✅ | ✅ | Core feature |
Multi-prompt execution (run_many) |
✅ | ✅ | One call per prompt, shared context |
| Local file inputs | ✅ | ✅ | OpenAI uses Files API upload |
| PDF URL inputs | ✅ (via URI part) | ✅ (native input_file.file_url) |
|
| Image URL inputs | ✅ (via URI part) | ✅ (native input_image.image_url) |
|
| YouTube URL inputs | ✅ | ⚠️ limited | OpenAI parity layer (download/re-upload) is out of scope for v1.0 |
| Provider-side context caching | ✅ | ❌ | OpenAI provider returns unsupported for caching |
Structured outputs (response_schema) |
✅ | ✅ | JSON-schema path in both providers |
Reasoning controls (reasoning_effort) |
❌ | ❌ | Reserved for future provider enablement |
Deferred delivery (delivery_mode="deferred") |
❌ | ❌ | Explicitly disabled in v1.0 |
Conversation continuity (history, continue_from) |
❌ | ❌ | Reserved/disabled in v1.0 |
Important OpenAI Notes¶
- Pollux uploads local files with:
purpose="user_data"- finite
expires_aftermetadata - Automatic file deletion is not part of v1.0 yet.
- Remote URL support in v1.0 is intentionally narrow and explicit:
- PDFs
- images
Error Semantics¶
When a requested feature is unsupported for the selected provider or release scope, Pollux raises ConfigurationError or APIError with a concrete hint, instead of degrading silently.
For example, enabling caching with OpenAI:
from pollux import Config
config = Config(
provider="openai",
model="gpt-5-nano",
enable_caching=True, # not supported for OpenAI in v1.0
)
# At execution time, Pollux raises:
# ConfigurationError: Provider does not support caching
# hint: "Disable caching or choose a provider with caching support."
The error is raised at execution time (not at Config creation) because
caching support is a provider capability checked during plan execution.