Quick reference for known differences vs the official OpenAI API. Validate against reference pages before production.

Generally compatible

AreaNotes
Chat Completionsmessages, stream, tools / tool_calls
Embeddingsmodel + input
FilesUpload, list, delete, download
Audio speechmodel, input, voice, formats
Errors{ error: { message, type, param, code } }

Catalog and model ids

ItemRouterBrainOpenAI
List APIGET /models, OpenRouter-like data[]OpenAI catalog
model valueCatalog id (e.g. vendor/model)gpt-4o, etc.
List authNo key requiredUsually required

Catalog pricing is indicative — billing is in the console.

Gateway-only fields

FieldDescription
pdf_preprocessPDF handling
extra_bodyMerged upstream JSON
stream_options.include_usageUsage on streams

User content parts

SupportedRejected (400)
text, image_url, input_audio, input_fileLegacy file, video_url, …

input_file: exactly one of file_id, file_url, or file_data+filename.

SDK

For embeddings and similar, use HTTP directly. See Limitations for what the SDK wraps.

Migration

From OpenAI · From OpenRouter