src/Custom/Responses/Items/ComputerOutput.cs (35 lines of code) (raw):

using System; using System.Diagnostics.CodeAnalysis; namespace OpenAI.Responses; [CodeGenType("ResponsesComputerCallOutputItemOutput")] [Experimental("OPENAICUA001")] public partial class ComputerOutput { public static ComputerOutput CreateScreenshotOutput(Uri screenshotImageUri) { Argument.AssertNotNull(screenshotImageUri, nameof(screenshotImageUri)); return new InternalResponsesComputerCallOutputItemScreenshot() { ImageUrl = screenshotImageUri.AbsoluteUri, }; } public static ComputerOutput CreateScreenshotOutput(string screenshotImageFileId) { Argument.AssertNotNull(screenshotImageFileId, nameof(screenshotImageFileId)); return new InternalResponsesComputerCallOutputItemScreenshot() { FileId = screenshotImageFileId, }; } public static ComputerOutput CreateScreenshotOutput(BinaryData screenshotImageBytes, string screenshotImageBytesMediaType) { Argument.AssertNotNull(screenshotImageBytes, nameof(screenshotImageBytes)); Argument.AssertNotNull(screenshotImageBytesMediaType, nameof(screenshotImageBytesMediaType)); string base64EncodedData = Convert.ToBase64String(screenshotImageBytes.ToArray()); string dataUri = $"data:{screenshotImageBytesMediaType};base64,{base64EncodedData}"; return new InternalResponsesComputerCallOutputItemScreenshot() { ImageUrl = dataUri, }; } }