Skip to main content

1. Install

go get github.com/legnext-ai/sdks/sdks/go

2. Set API Key

Set your API key as an environment variable:
export LEGNEXT_API_KEY="your-api-key"

3. Basic Example

package main

import (
    "context"
    "fmt"
    "os"
    legnext "github.com/legnext-ai/sdks/sdks/go"
)

func main() {
    // Configure API client
    config := legnext.NewConfiguration()
    config.Servers = legnext.ServerConfigurations{
        {
            URL: "https://api.legnext.ai",
        },
    }
    config.AddDefaultHeader("x-api-key", os.Getenv("LEGNEXT_API_KEY"))

    client := legnext.NewAPIClient(config)
    ctx := context.Background()

    // Generate image
    request := legnext.DiffusionRequest{
        Text: "a beautiful sunset over mountains",
    }

    response, httpRes, err := client.ImageGenerationAPI.GenerateImage(ctx).
        DiffusionRequest(request).
        Execute()

    if err != nil {
        fmt.Printf("Error: %v\n", err)
        return
    }

    fmt.Printf("Job ID: %s\n", *response.JobId)
    fmt.Printf("Status: %s\n", *response.Status)
}

4. Check Task Status

// Get task status
taskResponse, httpRes, err := client.VideoAPI.ApiV1JobJobIdGet(ctx, jobId).Execute()

if err != nil {
    fmt.Printf("Error: %v\n", err)
    return
}

fmt.Printf("Status: %s\n", *taskResponse.Status)
if taskResponse.Output != nil && taskResponse.Output.ImageUrls != nil {
    fmt.Printf("Images: %v\n", taskResponse.Output.ImageUrls)
}

Error Handling

response, httpRes, err := client.ImageGenerationAPI.GenerateImage(ctx).
    DiffusionRequest(request).
    Execute()

if err != nil {
    // Check HTTP status code
    if httpRes != nil {
        fmt.Printf("HTTP Status: %d\n", httpRes.StatusCode)
    }
    fmt.Printf("Error: %v\n", err)
    return
}

Available APIs

  • ImageGenerationAPI - Text to image, variations, upscaling, editing
  • VideoGenerationAPI - Video generation and upscaling
  • VideoAPI - Task status checking
  • AccountManagementAPI - Account balance and information