Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions api/OpenAI.net8.0.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5210,8 +5210,8 @@ public class FunctionTool : ResponseTool, IJsonModel<FunctionTool>, IPersistable
}
[Experimental("OPENAI001")]
public class ImageGenerationCallResponseItem : ResponseItem, IJsonModel<ImageGenerationCallResponseItem>, IPersistableModel<ImageGenerationCallResponseItem> {
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);
Expand All @@ -5229,7 +5229,7 @@ public enum ImageGenerationCallStatus {
public class ImageGenerationTool : ResponseTool, IJsonModel<ImageGenerationTool>, IPersistableModel<ImageGenerationTool> {
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; }
Expand Down Expand Up @@ -5261,19 +5261,19 @@ public class ImageGenerationTool : ResponseTool, IJsonModel<ImageGenerationTool>
public override readonly string ToString();
}
[Experimental("OPENAI001")]
public readonly partial struct ImageGenerationToolInputFidelityLevel : IEquatable<ImageGenerationToolInputFidelityLevel> {
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<ImageGenerationToolInputFidelity> {
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")]
Expand Down Expand Up @@ -6041,7 +6041,7 @@ public class ResponseTool : IJsonModel<ResponseTool>, IPersistableModel<Response
public static ComputerTool CreateComputerTool(ComputerToolEnvironment environment, int displayWidth, int displayHeight);
public static FileSearchTool CreateFileSearchTool(IEnumerable<string> 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<string, string> headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null);
public static McpTool CreateMcpTool(string serverLabel, Uri serverUri, string authorizationToken = null, string serverDescription = null, IDictionary<string, string> headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null);
public static WebSearchTool CreateWebSearchTool(WebSearchToolLocation userLocation = null, WebSearchToolContextSize? searchContextSize = null);
Expand Down
26 changes: 13 additions & 13 deletions api/OpenAI.netstandard2.0.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4555,8 +4555,8 @@ public class FunctionTool : ResponseTool, IJsonModel<FunctionTool>, IPersistable
public override readonly string ToString();
}
public class ImageGenerationCallResponseItem : ResponseItem, IJsonModel<ImageGenerationCallResponseItem>, IPersistableModel<ImageGenerationCallResponseItem> {
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);
Expand All @@ -4572,7 +4572,7 @@ public enum ImageGenerationCallStatus {
public class ImageGenerationTool : ResponseTool, IJsonModel<ImageGenerationTool>, IPersistableModel<ImageGenerationTool> {
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; }
Expand Down Expand Up @@ -4602,19 +4602,19 @@ public class ImageGenerationTool : ResponseTool, IJsonModel<ImageGenerationTool>
public static bool operator !=(ImageGenerationToolBackground left, ImageGenerationToolBackground right);
public override readonly string ToString();
}
public readonly partial struct ImageGenerationToolInputFidelityLevel : IEquatable<ImageGenerationToolInputFidelityLevel> {
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<ImageGenerationToolInputFidelity> {
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<ImageGenerationToolInputImageMask>, IPersistableModel<ImageGenerationToolInputImageMask> {
Expand Down Expand Up @@ -5305,7 +5305,7 @@ public class ResponseTool : IJsonModel<ResponseTool>, IPersistableModel<Response
public static ComputerTool CreateComputerTool(ComputerToolEnvironment environment, int displayWidth, int displayHeight);
public static FileSearchTool CreateFileSearchTool(IEnumerable<string> 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<string, string> headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null);
public static McpTool CreateMcpTool(string serverLabel, Uri serverUri, string authorizationToken = null, string serverDescription = null, IDictionary<string, string> headers = null, McpToolFilter allowedTools = null, McpToolCallApprovalPolicy toolCallApprovalPolicy = null);
public static WebSearchTool CreateWebSearchTool(WebSearchToolLocation userLocation = null, WebSearchToolContextSize? searchContextSize = null);
Expand Down
4 changes: 2 additions & 2 deletions examples/Responses/Example08_OutputAdditionalProperties.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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.ImageResultBytes;

using FileStream stream = File.OpenWrite($"{Guid.NewGuid()}.png");
bytes.ToStream().CopyTo(stream);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.ImageResultBytes;

using FileStream stream = File.OpenWrite($"{Guid.NewGuid()}.png");
bytes.ToStream().CopyTo(stream);
Expand Down
2 changes: 1 addition & 1 deletion specification/client/responses.client.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -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 ------------

Expand Down
4 changes: 0 additions & 4 deletions src/Custom/Responses/Tools/ImageGenerationTool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

// CUSTOM: Renamed.
[CodeGenType("ImageGenToolInputFidelity")]
public readonly partial struct ImageGenerationToolInputFidelityLevel
public readonly partial struct ImageGenerationToolInputFidelity
{
}
4 changes: 2 additions & 2 deletions src/Custom/Responses/Tools/ResponseTool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ public static CodeInterpreterTool CreateCodeInterpreterTool(CodeInterpreterToolC
/// <summary>
/// Creates a new instance of the <see cref="ImageGenerationTool"/> class.
/// </summary>
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,
Expand All @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand Down Expand Up @@ -85,7 +85,7 @@ internal static ImageGenerationCallResponseItem DeserializeImageGenerationCallRe
JsonPatch patch = new JsonPatch(data is null ? ReadOnlyMemory<byte>.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))
Expand All @@ -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<ImageGenerationCallResponseItem>.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
Expand Down
Loading
Loading