Skip to content
Batchwork
Esc
navigateopen⌘Jpreview
On this page

Providers

Compare provider modalities, input media, batch transport, metadata fields, and webhook behavior across all seven adapters.

Batchwork exposes one lifecycle across seven provider-native batch APIs. The provider still controls models, pricing, limits, processing time, and supported request features.

Output modalities

Provider Text Embeddings Image generation
OpenAI Yes Yes Yes
Anthropic Yes No No
Google Gemini Yes Yes Yes
Groq Yes No No
Mistral Yes Yes No
Together AI Yes No No
xAI Yes No Yes

Provider options

Pass options with --provider-options or --provider-options-file. Keys use the exact SDK-style camel-case spelling documented on each provider page. Batchwork merges only the selected provider branch; per-record non-null values override defaults with a shallow merge.

OpenAI, Anthropic, Google, Groq, Mistral, and xAI reject unknown keys before provider upload. Together accepts trusted passthrough options but rejects fields reserved by the canonical request envelope. Canonical settings and provider options that control the same wire field fail as conflicts instead of silently overriding one another.

Exact text option keys:

  • OpenAI common: forceReasoning, logprobs, promptCacheKey, promptCacheRetention, safetyIdentifier, serviceTier, systemMessageMode, user. Chat additionally accepts logitBias, maxCompletionTokens, metadata, parallelToolCalls, prediction, reasoningEffort, store, textVerbosity. Responses additionally accepts allowedTools, contextManagement, conversation, include, instructions, maxToolCalls, metadata, parallelToolCalls, previousResponseId, reasoningEffort, reasoningSummary, store, textVerbosity, truncation. Completions accepts echo, logitBias, logprobs, suffix, user.
  • Anthropic: cacheControl, container, contextManagement, disableParallelToolUse, effort, fallbacks, inferenceGeo, mcpServers, metadata, speed, taskBudget, thinking, toolStreaming.
  • Google: audioTimestamp, cachedContent, imageConfig, labels, mediaResolution, responseModalities, retrievalConfig, safetySettings, serviceTier, thinkingConfig.
  • Groq: parallelToolCalls, reasoningEffort, reasoningFormat, serviceTier, user.
  • Mistral: documentImageLimit, documentPageLimit, parallelToolCalls, reasoningEffort, safePrompt.
  • xAI: include, logprobs, previousResponseId, reasoningEffort, reasoningSummary, store, topLogprobs.
  • Together: provider-owned keys pass through except reserved custom_id, customId, input, messages, model, prompt, and stream.

Treat these options as trusted configuration, not end-user input. Provider APIs remain authoritative for model-specific and evolving constraints; Batchwork validates only constraints it can decide locally before upload.

This matrix describes generated output. Text requests can accept additional media inputs.

Text-request input media

Provider Images PDFs/files Audio Direct provider URLs
OpenAI Yes Responses PDFs/files Supported forms Images; PDFs for Responses
Anthropic Yes PDFs/documents No Images and PDFs
Google Yes Inline/provider files Supported inline forms Constrained Files and YouTube URLs
Groq Yes No No Images
Mistral Yes PDFs No HTTPS PDF URLs
Together AI Yes Inline PDF/text Inline WAV/MP3 Generally downloaded and inlined
xAI Yes File URLs/provider IDs No Images and supported file URLs

Provider/model support applies. See Text and messages and Security.

Submission and results

Provider Submission Results
OpenAI JSONL file upload Output and error JSONL files
Anthropic Inline Message Batch Same-origin JSONL result URL
Google Inline long-running operation Inline operation response only
Groq JSONL file upload Output and error JSONL files
Mistral JSONL file upload Output and error JSONL files
Together AI Upload initiation, presigned PUT, preprocessing Output and error JSONL files
xAI JSONL file upload Paginated results endpoint

Batch-level metadata

The metadata= submission argument is not supported uniformly. Unsupported providers reject it locally before upload or batch creation.

Forwarded Rejected
OpenAI, Groq, Mistral, Together AI Anthropic, Google, xAI

Request-level provider metadata may still be available through provider_options. Google uses provider request metadata internally to preserve custom_id correlation.

Webhooks

OpenAI is the only provider with a native inbound batch-webhook helper. Every provider can use Batchwork-managed polling and signed outbound completion delivery through BatchPoller.

Credentials

See Configuration for API keys, endpoint overrides, and precedence. Each provider page documents its default API root and authentication style.

Was this page helpful?