> ## Documentation Index
> Fetch the complete documentation index at: https://docs.legnext.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick Start

> Get started with the Legnext Go SDK

## 1. Install

```bash theme={null}
go get github.com/legnext-ai/sdks/sdks/go
```

## 2. Set API Key

Set your API key as an environment variable:

```bash theme={null}
export LEGNEXT_API_KEY="your-api-key"
```

## 3. Basic Example

```go theme={null}
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

```go theme={null}
// 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

```go theme={null}
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
