openai/openai-dotnet
Publicmirrored from https://github.com/openai/openai-dotnetAvailable
examples/Images/Example03_SimpleImageVariationAsync.cs
30lines · modeblame
9f9f2936Jose Arriaga Maldonado2 years ago | 1 | using NUnit.Framework; |
| 2 | using OpenAI.Images; | |
| 3 | using System; | |
| 4 | using System.IO; | |
| 5 | using System.Threading.Tasks; | |
| 6 | | |
8cc6643fJose Arriaga Maldonado2 years ago | 7 | namespace OpenAI.Examples; |
74848f8dJose Arriaga Maldonado2 years ago | 8 | |
8cc6643fJose Arriaga Maldonado2 years ago | 9 | public partial class ImageExamples |
9f9f2936Jose Arriaga Maldonado2 years ago | 10 | { |
74848f8dJose Arriaga Maldonado2 years ago | 11 | [Test] |
8cc6643fJose Arriaga Maldonado2 years ago | 12 | public async Task Example03_SimpleImageVariationAsync() |
9f9f2936Jose Arriaga Maldonado2 years ago | 13 | { |
74848f8dJose Arriaga Maldonado2 years ago | 14 | ImageClient client = new("dall-e-2", Environment.GetEnvironmentVariable("OPENAI_API_KEY")); |
9f9f2936Jose Arriaga Maldonado2 years ago | 15 | |
8cc6643fJose Arriaga Maldonado2 years ago | 16 | string imageFilePath = Path.Combine("Assets", "images_dog_and_cat.png"); |
9f9f2936Jose Arriaga Maldonado2 years ago | 17 | |
74848f8dJose Arriaga Maldonado2 years ago | 18 | ImageVariationOptions options = new() |
| 19 | { | |
| 20 | Size = GeneratedImageSize.W256xH256, | |
| 21 | ResponseFormat = GeneratedImageFormat.Bytes | |
| 22 | }; | |
9f9f2936Jose Arriaga Maldonado2 years ago | 23 | |
8cc6643fJose Arriaga Maldonado2 years ago | 24 | GeneratedImage variation = await client.GenerateImageVariationAsync(imageFilePath, options); |
74848f8dJose Arriaga Maldonado2 years ago | 25 | BinaryData bytes = variation.ImageBytes; |
9f9f2936Jose Arriaga Maldonado2 years ago | 26 | |
74848f8dJose Arriaga Maldonado2 years ago | 27 | using FileStream stream = File.OpenWrite($"{Guid.NewGuid()}.png"); |
| 28 | bytes.ToStream().CopyTo(stream); | |
9f9f2936Jose Arriaga Maldonado2 years ago | 29 | } |
| 30 | } |