openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.0.0-beta.8

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

examples/Images/Example02_SimpleImageEditAsync.cs

32lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1using NUnit.Framework;
2using OpenAI.Images;
3using System;
4using System.IO;
5using System.Threading.Tasks;
6
8cc6643fJose Arriaga Maldonado2 years ago7namespace OpenAI.Examples;
74848f8dJose Arriaga Maldonado2 years ago8
8cc6643fJose Arriaga Maldonado2 years ago9public partial class ImageExamples
9f9f2936Jose Arriaga Maldonado2 years ago10{
74848f8dJose Arriaga Maldonado2 years ago11[Test]
8cc6643fJose Arriaga Maldonado2 years ago12public async Task Example02_SimpleImageEditAsync()
9f9f2936Jose Arriaga Maldonado2 years ago13{
74848f8dJose Arriaga Maldonado2 years ago14ImageClient client = new("dall-e-2", Environment.GetEnvironmentVariable("OPENAI_API_KEY"));
9f9f2936Jose Arriaga Maldonado2 years ago15
8cc6643fJose Arriaga Maldonado2 years ago16string imageFilePath = Path.Combine("Assets", "images_flower_vase.png");
17string prompt = "A vase full of beautiful flowers.";
db6328acJose Arriaga Maldonado2 years ago18string maskFilePath = Path.Combine("Assets", "images_flower_vase_with_mask.png");
9f9f2936Jose Arriaga Maldonado2 years ago19
74848f8dJose Arriaga Maldonado2 years ago20ImageEditOptions options = new()
21{
22Size = GeneratedImageSize.W512xH512,
23ResponseFormat = GeneratedImageFormat.Bytes
24};
9f9f2936Jose Arriaga Maldonado2 years ago25
8cc6643fJose Arriaga Maldonado2 years ago26GeneratedImage edit = await client.GenerateImageEditAsync(imageFilePath, prompt, maskFilePath, options);
74848f8dJose Arriaga Maldonado2 years ago27BinaryData bytes = edit.ImageBytes;
9f9f2936Jose Arriaga Maldonado2 years ago28
74848f8dJose Arriaga Maldonado2 years ago29using FileStream stream = File.OpenWrite($"{Guid.NewGuid()}.png");
30await bytes.ToStream().CopyToAsync(stream);
9f9f2936Jose Arriaga Maldonado2 years ago31}
32}