using System;
using System.Text.Json;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Legnext.SDK.Api;
using Legnext.SDK.Client;
using Legnext.SDK.Extensions;
class Program
{
static async Task Main(string[] args)
{
string apiKey = Environment.GetEnvironmentVariable("LEGNEXT_API_KEY");
// Set up dependency injection
var services = new ServiceCollection();
services.AddApi(config =>
{
config.AddApiHttpClients(client =>
{
client.BaseAddress = new Uri("https://api.legnext.ai");
});
});
var provider = services.BuildServiceProvider();
var imageApi = provider.GetRequiredService<IImageApi>();
try
{
// Generate image
var request = new Dictionary<string, object>
{
{ "text", "a beautiful sunset over mountains" }
};
var response = await imageApi.ApiV1DiffusionPostAsync(
new Option<string>(apiKey),
request
);
if (response.IsOk)
{
var jsonDoc = JsonDocument.Parse(response.RawContent);
if (jsonDoc.RootElement.TryGetProperty("job_id", out var jobId))
{
Console.WriteLine($"Job ID: {jobId.GetString()}");
}
if (jsonDoc.RootElement.TryGetProperty("status", out var status))
{
Console.WriteLine($"Status: {status.GetString()}");
}
}
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}