From 0d0d41b258113ea1151d5ef2784bc7936ecde4fa Mon Sep 17 00:00:00 2001 From: Jose Arriaga Maldonado Date: Wed, 29 Oct 2025 16:01:47 -0700 Subject: [PATCH 1/2] Rename InputFidelity and ImageResultBytes --- api/OpenAI.net8.0.cs | 26 +++++++++---------- api/OpenAI.netstandard2.0.cs | 26 +++++++++---------- .../Example08_OutputAdditionalProperties.cs | 4 +-- ...ample08_OutputAdditionalPropertiesAsync.cs | 4 +-- specification/client/responses.client.tsp | 2 +- .../Responses/Tools/ImageGenerationTool.cs | 4 --- ...cs => ImageGenerationToolInputFidelity.cs} | 2 +- src/Custom/Responses/Tools/ResponseTool.cs | 4 +-- ...enerationCallResponseItem.Serialization.cs | 12 ++++----- .../ImageGenerationCallResponseItem.cs | 10 +++---- .../ImageGenerationTool.Serialization.cs | 10 +++---- .../Models/Responses/ImageGenerationTool.cs | 6 +++-- ...cs => ImageGenerationToolInputFidelity.cs} | 20 +++++++------- tests/Responses/ResponsesTests.cs | 10 +++---- tspCodeModel.json | 2 +- 15 files changed, 70 insertions(+), 72 deletions(-) rename src/Custom/Responses/Tools/{ImageGenerationToolInputfidelityLevel.cs => ImageGenerationToolInputFidelity.cs} (58%) rename src/Generated/Models/Responses/{ImageGenerationToolInputFidelityLevel.cs => ImageGenerationToolInputFidelity.cs} (54%) diff --git a/api/OpenAI.net8.0.cs b/api/OpenAI.net8.0.cs index 70674c0cc..0f8aa4251 100644 --- a/api/OpenAI.net8.0.cs +++ b/api/OpenAI.net8.0.cs @@ -5210,8 +5210,8 @@ public class FunctionTool : ResponseTool, IJsonModel, IPersistable } [Experimental("OPENAI001")] public class ImageGenerationCallResponseItem : ResponseItem, IJsonModel, IPersistableModel { - public ImageGenerationCallResponseItem(BinaryData generatedImageBytes); - public BinaryData GeneratedImageBytes { get; set; } + public ImageGenerationCallResponseItem(BinaryData imageResultBytes); + public BinaryData ImageResultBytes { get; set; } public ImageGenerationCallStatus? Status { get; } protected override ResponseItem JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options); protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options); @@ -5229,7 +5229,7 @@ public enum ImageGenerationCallStatus { public class ImageGenerationTool : ResponseTool, IJsonModel, IPersistableModel { public ImageGenerationTool(); public ImageGenerationToolBackground? Background { get; set; } - public ImageGenerationToolInputFidelityLevel? InputFidelityLevel { get; set; } + public ImageGenerationToolInputFidelity? InputFidelity { get; set; } public ImageGenerationToolInputImageMask InputImageMask { get; set; } public string Model { get; set; } public ImageGenerationToolModerationLevel? ModerationLevel { get; set; } @@ -5261,19 +5261,19 @@ public class ImageGenerationTool : ResponseTool, IJsonModel public override readonly string ToString(); } [Experimental("OPENAI001")] - public readonly partial struct ImageGenerationToolInputFidelityLevel : IEquatable { - public ImageGenerationToolInputFidelityLevel(string value); - public static ImageGenerationToolInputFidelityLevel High { get; } - public static ImageGenerationToolInputFidelityLevel Low { get; } - public readonly bool Equals(ImageGenerationToolInputFidelityLevel other); + public readonly partial struct ImageGenerationToolInputFidelity : IEquatable { + public ImageGenerationToolInputFidelity(string value); + public static ImageGenerationToolInputFidelity High { get; } + public static ImageGenerationToolInputFidelity Low { get; } + public readonly bool Equals(ImageGenerationToolInputFidelity other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); - public static bool operator ==(ImageGenerationToolInputFidelityLevel left, ImageGenerationToolInputFidelityLevel right); - public static implicit operator ImageGenerationToolInputFidelityLevel(string value); - public static implicit operator ImageGenerationToolInputFidelityLevel?(string value); - public static bool operator !=(ImageGenerationToolInputFidelityLevel left, ImageGenerationToolInputFidelityLevel right); + public static bool operator ==(ImageGenerationToolInputFidelity left, ImageGenerationToolInputFidelity right); + public static implicit operator ImageGenerationToolInputFidelity(string value); + public static implicit operator ImageGenerationToolInputFidelity?(string value); + public static bool operator !=(ImageGenerationToolInputFidelity left, ImageGenerationToolInputFidelity right); public override readonly string ToString(); } [Experimental("OPENAI001")] @@ -6041,7 +6041,7 @@ public class ResponseTool : IJsonModel, IPersistableModel vectorStoreIds, int? maxResultCount = null, FileSearchToolRankingOptions rankingOptions = null, BinaryData filters = null); public static FunctionTool CreateFunctionTool(string functionName, BinaryData functionParameters, bool? strictModeEnabled, string functionDescription = null); - public static ImageGenerationTool CreateImageGenerationTool(string model, ImageGenerationToolQuality? quality = null, ImageGenerationToolSize? size = null, ImageGenerationToolOutputFileFormat? outputFileFormat = null, int? outputCompressionFactor = null, ImageGenerationToolModerationLevel? moderationLevel = null, ImageGenerationToolBackground? background = null, ImageGenerationToolInputFidelityLevel? inputFidelityLevel = null, ImageGenerationToolInputImageMask inputImageMask = null, int? partialImageCount = null); + public static ImageGenerationTool CreateImageGenerationTool(string model, ImageGenerationToolQuality? quality = null, ImageGenerationToolSize? size = null, ImageGenerationToolOutputFileFormat? outputFileFormat = null, int? outputCompressionFactor = null, ImageGenerationToolModerationLevel? moderationLevel = null, ImageGenerationToolBackground? background = null, ImageGenerationToolInputFidelity? inputFidelity = null, ImageGenerationToolInputImageMask inputImageMask = null, int? partialImageCount = null); public static McpTool CreateMcpTool(string serverLabel, McpToolConnectorId connectorId, string authorizationToken = null, string serverDescription = null, IDictionary headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null); public static McpTool CreateMcpTool(string serverLabel, Uri serverUri, string authorizationToken = null, string serverDescription = null, IDictionary headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null); public static WebSearchTool CreateWebSearchTool(WebSearchToolLocation userLocation = null, WebSearchToolContextSize? searchContextSize = null); diff --git a/api/OpenAI.netstandard2.0.cs b/api/OpenAI.netstandard2.0.cs index 4b4075f54..32aea9303 100644 --- a/api/OpenAI.netstandard2.0.cs +++ b/api/OpenAI.netstandard2.0.cs @@ -4555,8 +4555,8 @@ public class FunctionTool : ResponseTool, IJsonModel, IPersistable public override readonly string ToString(); } public class ImageGenerationCallResponseItem : ResponseItem, IJsonModel, IPersistableModel { - public ImageGenerationCallResponseItem(BinaryData generatedImageBytes); - public BinaryData GeneratedImageBytes { get; set; } + public ImageGenerationCallResponseItem(BinaryData imageResultBytes); + public BinaryData ImageResultBytes { get; set; } public ImageGenerationCallStatus? Status { get; } protected override ResponseItem JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options); protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options); @@ -4572,7 +4572,7 @@ public enum ImageGenerationCallStatus { public class ImageGenerationTool : ResponseTool, IJsonModel, IPersistableModel { public ImageGenerationTool(); public ImageGenerationToolBackground? Background { get; set; } - public ImageGenerationToolInputFidelityLevel? InputFidelityLevel { get; set; } + public ImageGenerationToolInputFidelity? InputFidelity { get; set; } public ImageGenerationToolInputImageMask InputImageMask { get; set; } public string Model { get; set; } public ImageGenerationToolModerationLevel? ModerationLevel { get; set; } @@ -4602,19 +4602,19 @@ public class ImageGenerationTool : ResponseTool, IJsonModel public static bool operator !=(ImageGenerationToolBackground left, ImageGenerationToolBackground right); public override readonly string ToString(); } - public readonly partial struct ImageGenerationToolInputFidelityLevel : IEquatable { - public ImageGenerationToolInputFidelityLevel(string value); - public static ImageGenerationToolInputFidelityLevel High { get; } - public static ImageGenerationToolInputFidelityLevel Low { get; } - public readonly bool Equals(ImageGenerationToolInputFidelityLevel other); + public readonly partial struct ImageGenerationToolInputFidelity : IEquatable { + public ImageGenerationToolInputFidelity(string value); + public static ImageGenerationToolInputFidelity High { get; } + public static ImageGenerationToolInputFidelity Low { get; } + public readonly bool Equals(ImageGenerationToolInputFidelity other); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly bool Equals(object obj); [EditorBrowsable(EditorBrowsableState.Never)] public override readonly int GetHashCode(); - public static bool operator ==(ImageGenerationToolInputFidelityLevel left, ImageGenerationToolInputFidelityLevel right); - public static implicit operator ImageGenerationToolInputFidelityLevel(string value); - public static implicit operator ImageGenerationToolInputFidelityLevel?(string value); - public static bool operator !=(ImageGenerationToolInputFidelityLevel left, ImageGenerationToolInputFidelityLevel right); + public static bool operator ==(ImageGenerationToolInputFidelity left, ImageGenerationToolInputFidelity right); + public static implicit operator ImageGenerationToolInputFidelity(string value); + public static implicit operator ImageGenerationToolInputFidelity?(string value); + public static bool operator !=(ImageGenerationToolInputFidelity left, ImageGenerationToolInputFidelity right); public override readonly string ToString(); } public class ImageGenerationToolInputImageMask : IJsonModel, IPersistableModel { @@ -5305,7 +5305,7 @@ public class ResponseTool : IJsonModel, IPersistableModel vectorStoreIds, int? maxResultCount = null, FileSearchToolRankingOptions rankingOptions = null, BinaryData filters = null); public static FunctionTool CreateFunctionTool(string functionName, BinaryData functionParameters, bool? strictModeEnabled, string functionDescription = null); - public static ImageGenerationTool CreateImageGenerationTool(string model, ImageGenerationToolQuality? quality = null, ImageGenerationToolSize? size = null, ImageGenerationToolOutputFileFormat? outputFileFormat = null, int? outputCompressionFactor = null, ImageGenerationToolModerationLevel? moderationLevel = null, ImageGenerationToolBackground? background = null, ImageGenerationToolInputFidelityLevel? inputFidelityLevel = null, ImageGenerationToolInputImageMask inputImageMask = null, int? partialImageCount = null); + public static ImageGenerationTool CreateImageGenerationTool(string model, ImageGenerationToolQuality? quality = null, ImageGenerationToolSize? size = null, ImageGenerationToolOutputFileFormat? outputFileFormat = null, int? outputCompressionFactor = null, ImageGenerationToolModerationLevel? moderationLevel = null, ImageGenerationToolBackground? background = null, ImageGenerationToolInputFidelity? inputFidelity = null, ImageGenerationToolInputImageMask inputImageMask = null, int? partialImageCount = null); public static McpTool CreateMcpTool(string serverLabel, McpToolConnectorId connectorId, string authorizationToken = null, string serverDescription = null, IDictionary headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null); public static McpTool CreateMcpTool(string serverLabel, Uri serverUri, string authorizationToken = null, string serverDescription = null, IDictionary headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null); public static WebSearchTool CreateWebSearchTool(WebSearchToolLocation userLocation = null, WebSearchToolContextSize? searchContextSize = null); diff --git a/examples/Responses/Example08_OutputAdditionalProperties.cs b/examples/Responses/Example08_OutputAdditionalProperties.cs index 2761d54b7..0c9ffdbda 100644 --- a/examples/Responses/Example08_OutputAdditionalProperties.cs +++ b/examples/Responses/Example08_OutputAdditionalProperties.cs @@ -24,13 +24,13 @@ public void Example08_OutputAdditionalProperties() ResponseTool.CreateImageGenerationTool( model: "gpt-image-1", outputFileFormat: ImageGenerationToolOutputFileFormat.Png, - inputFidelityLevel: ImageGenerationToolInputFidelityLevel.High) + inputFidelity: ImageGenerationToolInputFidelity.High) } }; OpenAIResponse response = client.CreateResponse("Generate an image of gray tabby cat hugging an otter with an orange scarf", options); ImageGenerationCallResponseItem imageGenResponse = (ImageGenerationCallResponseItem)response.OutputItems[1]; - BinaryData bytes = imageGenResponse.GeneratedImageBytes; + BinaryData bytes = imageGenResponse.ResultBytes; using FileStream stream = File.OpenWrite($"{Guid.NewGuid()}.png"); bytes.ToStream().CopyTo(stream); diff --git a/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs b/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs index 53d24c2ff..bc2134add 100644 --- a/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs +++ b/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs @@ -25,13 +25,13 @@ public async Task Example08_OutputAdditionalPropertiesAsync() ResponseTool.CreateImageGenerationTool( model: "gpt-image-1", outputFileFormat: ImageGenerationToolOutputFileFormat.Png, - inputFidelityLevel: ImageGenerationToolInputFidelityLevel.High) + inputFidelity: ImageGenerationToolInputFidelity.High) } }; OpenAIResponse response = await client.CreateResponseAsync("Generate an image of gray tabby cat hugging an otter with an orange scarf", options); ImageGenerationCallResponseItem imageGenResponse = (ImageGenerationCallResponseItem)response.OutputItems[1]; - BinaryData bytes = imageGenResponse.GeneratedImageBytes; + BinaryData bytes = imageGenResponse.ResultBytes; using FileStream stream = File.OpenWrite($"{Guid.NewGuid()}.png"); bytes.ToStream().CopyTo(stream); diff --git a/specification/client/responses.client.tsp b/specification/client/responses.client.tsp index ca26fe710..3d75bd492 100644 --- a/specification/client/responses.client.tsp +++ b/specification/client/responses.client.tsp @@ -53,7 +53,7 @@ using TypeSpec.HttpClient.CSharp; @@clientName(MCPListToolsItemResource.tools, "ToolDefinitions"); @@visibility(ImageGenToolCallItemResource.status, Lifecycle.Read); -@@clientName(ImageGenToolCallItemResource.result, "GeneratedImageBytes"); +@@clientName(ImageGenToolCallItemResource.result, "ImageResultBytes"); // ------------ Tools ------------ diff --git a/src/Custom/Responses/Tools/ImageGenerationTool.cs b/src/Custom/Responses/Tools/ImageGenerationTool.cs index 1e7f0c96d..975a8a4c3 100644 --- a/src/Custom/Responses/Tools/ImageGenerationTool.cs +++ b/src/Custom/Responses/Tools/ImageGenerationTool.cs @@ -18,10 +18,6 @@ public partial class ImageGenerationTool [CodeGenMember("Moderation")] public ImageGenerationToolModerationLevel? ModerationLevel { get; set; } - // CUSTOM: Renamed. - [CodeGenMember("InputFidelity")] - public ImageGenerationToolInputFidelityLevel? InputFidelityLevel { get; set; } - // CUSTOM:Renamed. [CodeGenMember("PartialImages")] public int? PartialImageCount { get; set; } diff --git a/src/Custom/Responses/Tools/ImageGenerationToolInputfidelityLevel.cs b/src/Custom/Responses/Tools/ImageGenerationToolInputFidelity.cs similarity index 58% rename from src/Custom/Responses/Tools/ImageGenerationToolInputfidelityLevel.cs rename to src/Custom/Responses/Tools/ImageGenerationToolInputFidelity.cs index 9089bba19..68f9d94c0 100644 --- a/src/Custom/Responses/Tools/ImageGenerationToolInputfidelityLevel.cs +++ b/src/Custom/Responses/Tools/ImageGenerationToolInputFidelity.cs @@ -2,6 +2,6 @@ // CUSTOM: Renamed. [CodeGenType("ImageGenToolInputFidelity")] -public readonly partial struct ImageGenerationToolInputFidelityLevel +public readonly partial struct ImageGenerationToolInputFidelity { } diff --git a/src/Custom/Responses/Tools/ResponseTool.cs b/src/Custom/Responses/Tools/ResponseTool.cs index 5332f0199..d01aacd20 100644 --- a/src/Custom/Responses/Tools/ResponseTool.cs +++ b/src/Custom/Responses/Tools/ResponseTool.cs @@ -115,7 +115,7 @@ public static CodeInterpreterTool CreateCodeInterpreterTool(CodeInterpreterToolC /// /// Creates a new instance of the class. /// - public static ImageGenerationTool CreateImageGenerationTool(string model, ImageGenerationToolQuality? quality = null, ImageGenerationToolSize? size = null, ImageGenerationToolOutputFileFormat? outputFileFormat = null, int? outputCompressionFactor = null, ImageGenerationToolModerationLevel? moderationLevel = null, ImageGenerationToolBackground? background = null, ImageGenerationToolInputFidelityLevel? inputFidelityLevel = null, ImageGenerationToolInputImageMask inputImageMask = null, int? partialImageCount = null) + public static ImageGenerationTool CreateImageGenerationTool(string model, ImageGenerationToolQuality? quality = null, ImageGenerationToolSize? size = null, ImageGenerationToolOutputFileFormat? outputFileFormat = null, int? outputCompressionFactor = null, ImageGenerationToolModerationLevel? moderationLevel = null, ImageGenerationToolBackground? background = null, ImageGenerationToolInputFidelity? inputFidelity = null, ImageGenerationToolInputImageMask inputImageMask = null, int? partialImageCount = null) { return new ImageGenerationTool( kind: InternalToolType.ImageGeneration, @@ -127,7 +127,7 @@ public static ImageGenerationTool CreateImageGenerationTool(string model, ImageG outputCompressionFactor: outputCompressionFactor, moderationLevel: moderationLevel, background: background, - inputFidelityLevel: inputFidelityLevel, + inputFidelity: inputFidelity, inputImageMask: inputImageMask, partialImageCount: partialImageCount); } diff --git a/src/Generated/Models/Responses/ImageGenerationCallResponseItem.Serialization.cs b/src/Generated/Models/Responses/ImageGenerationCallResponseItem.Serialization.cs index 6f3961a1e..43deb4562 100644 --- a/src/Generated/Models/Responses/ImageGenerationCallResponseItem.Serialization.cs +++ b/src/Generated/Models/Responses/ImageGenerationCallResponseItem.Serialization.cs @@ -46,10 +46,10 @@ protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWri writer.WritePropertyName("status"u8); writer.WriteStringValue(Status.Value.ToSerialString()); } - if (Optional.IsDefined(GeneratedImageBytes) && !Patch.Contains("$.result"u8)) + if (Optional.IsDefined(ImageResultBytes) && !Patch.Contains("$.result"u8)) { writer.WritePropertyName("result"u8); - writer.WriteBase64StringValue(GeneratedImageBytes.ToArray(), "D"); + writer.WriteBase64StringValue(ImageResultBytes.ToArray(), "D"); } else { @@ -85,7 +85,7 @@ internal static ImageGenerationCallResponseItem DeserializeImageGenerationCallRe JsonPatch patch = new JsonPatch(data is null ? ReadOnlyMemory.Empty : data.ToMemory()); #pragma warning restore SCME0001 // Type is for evaluation purposes only and is subject to change or removal in future updates. ImageGenerationCallStatus? status = default; - BinaryData generatedImageBytes = default; + BinaryData imageResultBytes = default; foreach (var prop in element.EnumerateObject()) { if (prop.NameEquals("type"u8)) @@ -107,15 +107,15 @@ internal static ImageGenerationCallResponseItem DeserializeImageGenerationCallRe { if (prop.Value.ValueKind == JsonValueKind.Null) { - generatedImageBytes = null; + imageResultBytes = null; continue; } - generatedImageBytes = BinaryData.FromBytes(prop.Value.GetBytesFromBase64("D")); + imageResultBytes = BinaryData.FromBytes(prop.Value.GetBytesFromBase64("D")); continue; } patch.Set([.. "$."u8, .. Encoding.UTF8.GetBytes(prop.Name)], prop.Value.GetUtf8Bytes()); } - return new ImageGenerationCallResponseItem(kind, id, patch, status, generatedImageBytes); + return new ImageGenerationCallResponseItem(kind, id, patch, status, imageResultBytes); } BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options); diff --git a/src/Generated/Models/Responses/ImageGenerationCallResponseItem.cs b/src/Generated/Models/Responses/ImageGenerationCallResponseItem.cs index f1adec03b..65a81240c 100644 --- a/src/Generated/Models/Responses/ImageGenerationCallResponseItem.cs +++ b/src/Generated/Models/Responses/ImageGenerationCallResponseItem.cs @@ -11,19 +11,19 @@ namespace OpenAI.Responses [Experimental("OPENAI001")] public partial class ImageGenerationCallResponseItem : ResponseItem { - public ImageGenerationCallResponseItem(BinaryData generatedImageBytes) : base(InternalItemType.ImageGenerationCall) + public ImageGenerationCallResponseItem(BinaryData imageResultBytes) : base(InternalItemType.ImageGenerationCall) { - GeneratedImageBytes = generatedImageBytes; + ImageResultBytes = imageResultBytes; } #pragma warning disable SCME0001 // Type is for evaluation purposes only and is subject to change or removal in future updates. - internal ImageGenerationCallResponseItem(InternalItemType kind, string id, in JsonPatch patch, ImageGenerationCallStatus? status, BinaryData generatedImageBytes) : base(kind, id, patch) + internal ImageGenerationCallResponseItem(InternalItemType kind, string id, in JsonPatch patch, ImageGenerationCallStatus? status, BinaryData imageResultBytes) : base(kind, id, patch) { Status = status; - GeneratedImageBytes = generatedImageBytes; + ImageResultBytes = imageResultBytes; } #pragma warning restore SCME0001 // Type is for evaluation purposes only and is subject to change or removal in future updates. - public BinaryData GeneratedImageBytes { get; set; } + public BinaryData ImageResultBytes { get; set; } } } diff --git a/src/Generated/Models/Responses/ImageGenerationTool.Serialization.cs b/src/Generated/Models/Responses/ImageGenerationTool.Serialization.cs index b08905208..daf2a59a0 100644 --- a/src/Generated/Models/Responses/ImageGenerationTool.Serialization.cs +++ b/src/Generated/Models/Responses/ImageGenerationTool.Serialization.cs @@ -71,10 +71,10 @@ protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWri writer.WritePropertyName("background"u8); writer.WriteStringValue(Background.Value.ToString()); } - if (Optional.IsDefined(InputFidelityLevel) && !Patch.Contains("$.input_fidelity"u8)) + if (Optional.IsDefined(InputFidelity) && !Patch.Contains("$.input_fidelity"u8)) { writer.WritePropertyName("input_fidelity"u8); - writer.WriteStringValue(InputFidelityLevel.Value.ToString()); + writer.WriteStringValue(InputFidelity.Value.ToString()); } if (Optional.IsDefined(InputImageMask) && !Patch.Contains("$.input_image_mask"u8)) { @@ -121,7 +121,7 @@ internal static ImageGenerationTool DeserializeImageGenerationTool(JsonElement e int? outputCompressionFactor = default; ImageGenerationToolModerationLevel? moderationLevel = default; ImageGenerationToolBackground? background = default; - ImageGenerationToolInputFidelityLevel? inputFidelityLevel = default; + ImageGenerationToolInputFidelity? inputFidelity = default; ImageGenerationToolInputImageMask inputImageMask = default; int? partialImageCount = default; foreach (var prop in element.EnumerateObject()) @@ -196,7 +196,7 @@ internal static ImageGenerationTool DeserializeImageGenerationTool(JsonElement e { continue; } - inputFidelityLevel = new ImageGenerationToolInputFidelityLevel(prop.Value.GetString()); + inputFidelity = new ImageGenerationToolInputFidelity(prop.Value.GetString()); continue; } if (prop.NameEquals("input_image_mask"u8)) @@ -229,7 +229,7 @@ internal static ImageGenerationTool DeserializeImageGenerationTool(JsonElement e outputCompressionFactor, moderationLevel, background, - inputFidelityLevel, + inputFidelity, inputImageMask, partialImageCount); } diff --git a/src/Generated/Models/Responses/ImageGenerationTool.cs b/src/Generated/Models/Responses/ImageGenerationTool.cs index af99cbc52..dddaa498e 100644 --- a/src/Generated/Models/Responses/ImageGenerationTool.cs +++ b/src/Generated/Models/Responses/ImageGenerationTool.cs @@ -15,7 +15,7 @@ public ImageGenerationTool() : this(InternalToolType.ImageGeneration, default, n } #pragma warning disable SCME0001 // Type is for evaluation purposes only and is subject to change or removal in future updates. - internal ImageGenerationTool(InternalToolType kind, in JsonPatch patch, string model, ImageGenerationToolQuality? quality, ImageGenerationToolSize? size, ImageGenerationToolOutputFileFormat? outputFileFormat, int? outputCompressionFactor, ImageGenerationToolModerationLevel? moderationLevel, ImageGenerationToolBackground? background, ImageGenerationToolInputFidelityLevel? inputFidelityLevel, ImageGenerationToolInputImageMask inputImageMask, int? partialImageCount) : base(kind, patch) + internal ImageGenerationTool(InternalToolType kind, in JsonPatch patch, string model, ImageGenerationToolQuality? quality, ImageGenerationToolSize? size, ImageGenerationToolOutputFileFormat? outputFileFormat, int? outputCompressionFactor, ImageGenerationToolModerationLevel? moderationLevel, ImageGenerationToolBackground? background, ImageGenerationToolInputFidelity? inputFidelity, ImageGenerationToolInputImageMask inputImageMask, int? partialImageCount) : base(kind, patch) { Model = model; Quality = quality; @@ -24,7 +24,7 @@ internal ImageGenerationTool(InternalToolType kind, in JsonPatch patch, string m OutputCompressionFactor = outputCompressionFactor; ModerationLevel = moderationLevel; Background = background; - InputFidelityLevel = inputFidelityLevel; + InputFidelity = inputFidelity; InputImageMask = inputImageMask; PartialImageCount = partialImageCount; } @@ -36,6 +36,8 @@ internal ImageGenerationTool(InternalToolType kind, in JsonPatch patch, string m public ImageGenerationToolBackground? Background { get; set; } + public ImageGenerationToolInputFidelity? InputFidelity { get; set; } + public ImageGenerationToolInputImageMask InputImageMask { get; set; } } } diff --git a/src/Generated/Models/Responses/ImageGenerationToolInputFidelityLevel.cs b/src/Generated/Models/Responses/ImageGenerationToolInputFidelity.cs similarity index 54% rename from src/Generated/Models/Responses/ImageGenerationToolInputFidelityLevel.cs rename to src/Generated/Models/Responses/ImageGenerationToolInputFidelity.cs index cbf4cdae9..8a2fb472a 100644 --- a/src/Generated/Models/Responses/ImageGenerationToolInputFidelityLevel.cs +++ b/src/Generated/Models/Responses/ImageGenerationToolInputFidelity.cs @@ -10,35 +10,35 @@ namespace OpenAI.Responses { [Experimental("OPENAI001")] - public readonly partial struct ImageGenerationToolInputFidelityLevel : IEquatable + public readonly partial struct ImageGenerationToolInputFidelity : IEquatable { private readonly string _value; private const string LowValue = "low"; private const string HighValue = "high"; - public ImageGenerationToolInputFidelityLevel(string value) + public ImageGenerationToolInputFidelity(string value) { Argument.AssertNotNull(value, nameof(value)); _value = value; } - public static ImageGenerationToolInputFidelityLevel Low { get; } = new ImageGenerationToolInputFidelityLevel(LowValue); + public static ImageGenerationToolInputFidelity Low { get; } = new ImageGenerationToolInputFidelity(LowValue); - public static ImageGenerationToolInputFidelityLevel High { get; } = new ImageGenerationToolInputFidelityLevel(HighValue); + public static ImageGenerationToolInputFidelity High { get; } = new ImageGenerationToolInputFidelity(HighValue); - public static bool operator ==(ImageGenerationToolInputFidelityLevel left, ImageGenerationToolInputFidelityLevel right) => left.Equals(right); + public static bool operator ==(ImageGenerationToolInputFidelity left, ImageGenerationToolInputFidelity right) => left.Equals(right); - public static bool operator !=(ImageGenerationToolInputFidelityLevel left, ImageGenerationToolInputFidelityLevel right) => !left.Equals(right); + public static bool operator !=(ImageGenerationToolInputFidelity left, ImageGenerationToolInputFidelity right) => !left.Equals(right); - public static implicit operator ImageGenerationToolInputFidelityLevel(string value) => new ImageGenerationToolInputFidelityLevel(value); + public static implicit operator ImageGenerationToolInputFidelity(string value) => new ImageGenerationToolInputFidelity(value); - public static implicit operator ImageGenerationToolInputFidelityLevel?(string value) => value == null ? null : new ImageGenerationToolInputFidelityLevel(value); + public static implicit operator ImageGenerationToolInputFidelity?(string value) => value == null ? null : new ImageGenerationToolInputFidelity(value); [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object obj) => obj is ImageGenerationToolInputFidelityLevel other && Equals(other); + public override bool Equals(object obj) => obj is ImageGenerationToolInputFidelity other && Equals(other); - public bool Equals(ImageGenerationToolInputFidelityLevel other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase); + public bool Equals(ImageGenerationToolInputFidelity other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase); [EditorBrowsable(EditorBrowsableState.Never)] public override int GetHashCode() => _value != null ? StringComparer.InvariantCultureIgnoreCase.GetHashCode(_value) : 0; diff --git a/tests/Responses/ResponsesTests.cs b/tests/Responses/ResponsesTests.cs index d46bee71d..ed7644a68 100644 --- a/tests/Responses/ResponsesTests.cs +++ b/tests/Responses/ResponsesTests.cs @@ -244,7 +244,7 @@ public async Task ResponseWithImageGenTool() outputFileFormat: ImageGenerationToolOutputFileFormat.Png, moderationLevel: ImageGenerationToolModerationLevel.Auto, background: ImageGenerationToolBackground.Transparent, - inputFidelityLevel: ImageGenerationToolInputFidelityLevel.High) + inputFidelity: ImageGenerationToolInputFidelity.High) } }; @@ -264,7 +264,7 @@ public async Task ResponseWithImageGenTool() ImageGenerationCallResponseItem imageGenResponse = (ImageGenerationCallResponseItem)response.OutputItems[0]; Assert.That(imageGenResponse.Status, Is.EqualTo(ImageGenerationCallStatus.Completed)); - Assert.That(imageGenResponse.GeneratedImageBytes.ToArray(), Is.Not.Null.And.Not.Empty); + Assert.That(imageGenResponse.ImageResultBytes.ToArray(), Is.Not.Null.And.Not.Empty); } [RecordedTest] @@ -384,7 +384,7 @@ public async Task ImageGenToolInputMaskWithImageBytes() ImageGenerationCallResponseItem imageGenResponse = (ImageGenerationCallResponseItem)response.OutputItems[0]; Assert.That(imageGenResponse.Status, Is.EqualTo(ImageGenerationCallStatus.Completed)); - Assert.That(imageGenResponse.GeneratedImageBytes.ToArray(), Is.Not.Null.And.Not.Empty); + Assert.That(imageGenResponse.ImageResultBytes.ToArray(), Is.Not.Null.And.Not.Empty); } [RecordedTest] @@ -419,7 +419,7 @@ public async Task ImageGenToolInputMaskWithImageUri() ImageGenerationCallResponseItem imageGenResponse = (ImageGenerationCallResponseItem)response.OutputItems[0]; Assert.That(imageGenResponse.Status, Is.EqualTo(ImageGenerationCallStatus.Completed)); - Assert.That(imageGenResponse.GeneratedImageBytes.ToArray(), Is.Not.Null.And.Not.Empty); + Assert.That(imageGenResponse.ImageResultBytes.ToArray(), Is.Not.Null.And.Not.Empty); } [RecordedTest] @@ -471,7 +471,7 @@ public async Task ImageGenToolInputMaskWithFileId() ImageGenerationCallResponseItem imageGenResponse = (ImageGenerationCallResponseItem)response.OutputItems[0]; Assert.That(imageGenResponse.Status, Is.EqualTo(ImageGenerationCallStatus.Completed)); - Assert.That(imageGenResponse.GeneratedImageBytes.ToArray(), Is.Not.Null.And.Not.Empty); + Assert.That(imageGenResponse.ImageResultBytes.ToArray(), Is.Not.Null.And.Not.Empty); } [RecordedTest] diff --git a/tspCodeModel.json b/tspCodeModel.json index c71108ec8..87a34ecca 100644 --- a/tspCodeModel.json +++ b/tspCodeModel.json @@ -66342,7 +66342,7 @@ { "$id": "5250", "kind": "property", - "name": "GeneratedImageBytes", + "name": "ImageResultBytes", "serializedName": "result", "doc": "The generated image encoded in base64.", "type": { From d681fa09ac60a6f120f1071e632bde9d98ddc126 Mon Sep 17 00:00:00 2001 From: Jose Arriaga Maldonado Date: Wed, 29 Oct 2025 16:57:06 -0700 Subject: [PATCH 2/2] Fix examples --- examples/Responses/Example08_OutputAdditionalProperties.cs | 2 +- examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/Responses/Example08_OutputAdditionalProperties.cs b/examples/Responses/Example08_OutputAdditionalProperties.cs index 0c9ffdbda..09aaf8f30 100644 --- a/examples/Responses/Example08_OutputAdditionalProperties.cs +++ b/examples/Responses/Example08_OutputAdditionalProperties.cs @@ -30,7 +30,7 @@ public void Example08_OutputAdditionalProperties() OpenAIResponse response = client.CreateResponse("Generate an image of gray tabby cat hugging an otter with an orange scarf", options); ImageGenerationCallResponseItem imageGenResponse = (ImageGenerationCallResponseItem)response.OutputItems[1]; - BinaryData bytes = imageGenResponse.ResultBytes; + BinaryData bytes = imageGenResponse.ImageResultBytes; using FileStream stream = File.OpenWrite($"{Guid.NewGuid()}.png"); bytes.ToStream().CopyTo(stream); diff --git a/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs b/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs index bc2134add..3402fe54a 100644 --- a/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs +++ b/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs @@ -31,7 +31,7 @@ public async Task Example08_OutputAdditionalPropertiesAsync() OpenAIResponse response = await client.CreateResponseAsync("Generate an image of gray tabby cat hugging an otter with an orange scarf", options); ImageGenerationCallResponseItem imageGenResponse = (ImageGenerationCallResponseItem)response.OutputItems[1]; - BinaryData bytes = imageGenResponse.ResultBytes; + BinaryData bytes = imageGenResponse.ImageResultBytes; using FileStream stream = File.OpenWrite($"{Guid.NewGuid()}.png"); bytes.ToStream().CopyTo(stream);