openai/openai-dotnet
Publicmirrored from https://github.com/openai/openai-dotnetAvailable
examples/Images/Example02_SimpleImageEditAsync.cs
32lines · 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 Example02_SimpleImageEditAsync() |
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_flower_vase.png"); |
| 17 | string prompt = "A vase full of beautiful flowers."; | |
db6328acJose Arriaga Maldonado2 years ago | 18 | string maskFilePath = Path.Combine("Assets", "images_flower_vase_with_mask.png"); |
9f9f2936Jose Arriaga Maldonado2 years ago | 19 | |
74848f8dJose Arriaga Maldonado2 years ago | 20 | ImageEditOptions options = new() |
| 21 | { | |
| 22 | Size = GeneratedImageSize.W512xH512, | |
| 23 | ResponseFormat = GeneratedImageFormat.Bytes | |
| 24 | }; | |
9f9f2936Jose Arriaga Maldonado2 years ago | 25 | |
8cc6643fJose Arriaga Maldonado2 years ago | 26 | GeneratedImage edit = await client.GenerateImageEditAsync(imageFilePath, prompt, maskFilePath, options); |
74848f8dJose Arriaga Maldonado2 years ago | 27 | BinaryData bytes = edit.ImageBytes; |
9f9f2936Jose Arriaga Maldonado2 years ago | 28 | |
74848f8dJose Arriaga Maldonado2 years ago | 29 | using FileStream stream = File.OpenWrite($"{Guid.NewGuid()}.png"); |
| 30 | await bytes.ToStream().CopyToAsync(stream); | |
9f9f2936Jose Arriaga Maldonado2 years ago | 31 | } |
| 32 | } |