Interactive converter
OpenAI to Gemini function declaration converter
Compile OpenAI function tools into Gemini-compatible declarations and expose unsupported schema keywords.
The compiler removes strict-only wrapper details, normalizes nullable types, and reports JSON Schema features outside Gemini’s supported subset.
Read the schema and its provider wrapper as one contract. APITC distinguishes target requirements from portable JSON Schema, applies mechanical repairs only when intent is recoverable, and identifies transformations that can change meaning.
Diagnostic procedure
Repair the schema, then recompile.
- 01
Detect the OpenAI shape
Flat Responses tools and nested Chat tools are both accepted.
- 02
Normalize the schema
Provider-only constraints are removed or translated where equivalent.
- 03
Review lossy changes
Every dropped constraint remains visible in diagnostics.
{"type":"function","name":"lookup","strict":true,"parameters":{"type":"object","additionalProperties":false,"properties":{"id":{"type":["string","null"]}},"required":["id"]}}{"type":"function","name":"lookup","parameters":{"type":"object","properties":{"id":{"type":"string","nullable":true}},"required":["id"]}}$.inputSchemaClose this objectOpenAI strict requires additionalProperties: false on every object.
$.inputSchemaRequired array is incompleteStrict mode requires every property in required. APITC will make limit nullable.
No account · no upload · no endpoint calledOpen the full tool schema compiler and operating notes →
FAQ
Before you ship
Does APITC upload my schema?
No. Parsing, diagnostics, and compilation run in your browser tab.
Is the compiled result guaranteed to preserve meaning?
Safe repairs are deterministic. When Gemini cannot express a source constraint, APITC labels the transform as lossy instead of hiding it.
Protocol behavior checked against the Gemini function calling guide. Recheck your pinned provider/API version before production deployment.