## Get a generation `client.Generations.Get(ctx, generationID) (*Generation, error)` **get** `/generations/{generation_id}` Poll for generation status and output. On completion, the response includes presigned URLs to download the generated images. ### Parameters - `generationID string` ### Returns - `type Generation struct{…}` Generation status and output - `ID string` Generation identifier - `CreatedAt string` Creation timestamp - `Model Model` Model used - `const ModelUni1 Model = "uni-1"` - `const ModelUni1Max Model = "uni-1-max"` - `State GenerationState` Current state of the generation - `const GenerationStateQueued GenerationState = "queued"` - `const GenerationStateProcessing GenerationState = "processing"` - `const GenerationStateCompleted GenerationState = "completed"` - `const GenerationStateFailed GenerationState = "failed"` - `Type GenerationType` The kind of generation to perform - `const GenerationTypeImage GenerationType = "image"` - `const GenerationTypeImageEdit GenerationType = "image_edit"` - `FailureCode GenerationFailureCode` Machine-readable failure code for programmatic handling - `const GenerationFailureCodeContentModerated GenerationFailureCode = "content_moderated"` - `const GenerationFailureCodeGenerationFailed GenerationFailureCode = "generation_failed"` - `const GenerationFailureCodeBudgetExhausted GenerationFailureCode = "budget_exhausted"` - `const GenerationFailureCodeOutputNotFound GenerationFailureCode = "output_not_found"` - `const GenerationFailureCodeImageTooLarge GenerationFailureCode = "image_too_large"` - `const GenerationFailureCodeUnsupportedFormat GenerationFailureCode = "unsupported_format"` - `const GenerationFailureCodeCorruptInput GenerationFailureCode = "corrupt_input"` - `const GenerationFailureCodeInvalidRequest GenerationFailureCode = "invalid_request"` - `const GenerationFailureCodeRateLimited GenerationFailureCode = "rate_limited"` - `FailureReason string` Human-readable failure description - `Output []GenerationOutput` Generated outputs (populated on completion) - `Type string` Media type (e.g. image) - `URL string` Presigned URL (1hr expiry) ### Example ```go package main import ( "context" "fmt" "github.com/lumalabs/luma-agents-go" "github.com/lumalabs/luma-agents-go/option" ) func main() { client := lumaagents.NewClient( option.WithAuthToken("My Auth Token"), ) generation, err := client.Generations.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", generation.ID) } ``` #### Response ```json { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "created_at", "model": "uni-1", "state": "queued", "type": "image", "failure_code": "content_moderated", "failure_reason": "failure_reason", "output": [ { "type": "type", "url": "https://example.com" } ] } ```