Loading page
Venice's request schema is strict, and every gateway spells the same request a little differently. This page lists what Gondola changes between your client and Venice, why, and where the response tells you.
A request that works with another OpenAI- or Anthropic-compatible gateway works here. Four things Gondola never does: swap the model you named, loosen your schema, invent content, or charge you when nothing usable came back.
There is no setting to turn any of this on or off. Everything below applies to every request, and the changes that affect what you get are named in the response headers (section 5).
Same meaning, Venice's spelling.
OpenAI part spellings. Content parts typed input_text, input_image, input_file and output_text are respelled to the types Venice accepts.
Thinking off. thinking: {type: "disabled"}, enable_thinking: false and the same switch inside chat_template_kwargs all become Venice's own switch.
Hidden reasoning. include_reasoning: false and reasoning.exclude become Venice's equivalent.
Fallback list. OpenRouter's models list becomes Gondola's fallback walk, the same one x-gondola-fallback-models drives (see How Gondola works). It needs an API key, and it is not used with web scraping or X search, where a retry could pay for the same page twice.
Tool result order. On every request, tool results are put in the order of the tool calls they answer. Only the order changes, never the content.
Price and privacy limits. OpenRouter's provider.max_price, provider.data_collection: "deny" and provider.zdr are honoured, never dropped. A price cap no offer can meet is a 503 price_ceiling_exceeded. A data-collection or zero-retention requirement on a model that is not private is a 400 privacy_requirement_unmet; each model's privacy is listed on /models.
Only after the model refused the request, or when the refusal is certain before sending. Nothing is billed for the refused attempt.
Some requests cannot be served as sent, and any workaround would change what you asked for. Each of these gets an error that names the field and the fix:
Web search. $0.0102 per search ($0.01 plus the 2% buyer fee).
Web scraping (venice_parameters.enable_web_scraping). $0.0102 per page Venice scrapes ($0.01 plus the 2% buyer fee), up to 5 URLs from your latest message, metered from Venice's own per-request bill.
X search (enable_x_search). On models with supports_x_search in GET /v1/models, billed at token cost.