Gpt-realtime-2 objects in tool calling bug?

when upgrading from gpt-realtime-1.5 to gpt-realtime-2, I’m facing issues with my tool calling when passing objects instead of simple types (working fine in 1.5 but not in 2)

is anyone else seeing the same thing?

Hi @dbhc,

Do you have a minimal example of the tool schema/object parameter that fails?

It would help to see whether the issue happens with any nested object or only with a specific schema shape. Also useful would be the exact error/response you get and whether it fails when registering the tool or when the model tries to call it.

A small example that works with gpt-realtime-1.5 but fails with gpt-realtime-2 would make this much easier for others to compare.

yep yep.

I’ll just copy and paste directly so I don’t mistranslate (it’s in C#)

Descriptor => new(
        "update_data",
        "Pass key-value pairs of data as properties of the 'metadata' object. Keys will be provided in the script.",
        new Dictionary<string, object?>
        {
            ["type"] = "object",
            ["properties"] = new Dictionary<string, object?>
            {
                ["metadata"] = new Dictionary<string, object?>
                {
                    ["type"] = "object",
                    ["description"] = "Key-value pairs of data to update.",
                    ["additionalProperties"] = new Dictionary<string, object?> { ["type"] = "string" }
                }
            },
            ["required"] = new[] { "metadata" }
        });

Thanks for sharing the schema, that’s very useful.

I don’t use this exact Realtime/C# setup myself, so I’ll leave the deeper debugging to others who can test it directly.