# Models ## List available models `client.Models.List(ctx, query) (*ModelListResponse, error)` **get** `/models` Returns the public model catalog visible to API clients. Use the optional type filter to narrow results to image, video, audio, or text models. ### Parameters - `query ModelListParams` - `Type param.Field[ModelListParamsType]` Model type - `const ModelListParamsTypeImage ModelListParamsType = "image"` - `const ModelListParamsTypeVideo ModelListParamsType = "video"` - `const ModelListParamsTypeAudio ModelListParamsType = "audio"` - `const ModelListParamsTypeText ModelListParamsType = "text"` ### Returns - `type ModelListResponse struct{…}` - `Models []ModelListResponseModel` - `Capabilities []string` Model capabilities - `EstimatedCredits int64` Estimated credits - `EstimatedSeconds int64` Estimated seconds - `ModelID string` Model identifier - `Name string` Model name - `Params []ModelListResponseModelParam` Supported generation parameters for this model - `Name string` Parameter name to pass in generation params - `Required bool` Whether the model requires this parameter - `Type string` Parameter value type - `const ModelListResponseModelParamTypeStringSnakeCase ModelListResponseModelParamType = "string"` - `const ModelListResponseModelParamTypeString ModelListResponseModelParamType = "string[]"` - `const ModelListResponseModelParamTypeBool ModelListResponseModelParamType = "bool"` - `const ModelListResponseModelParamTypeIntSnakeCase ModelListResponseModelParamType = "int"` - `const ModelListResponseModelParamTypeInt ModelListResponseModelParamType = "int?"` - `const ModelListResponseModelParamTypeSeed ModelListResponseModelParamType = "seed"` - `const ModelListResponseModelParamTypeFloat ModelListResponseModelParamType = "float"` - `const ModelListResponseModelParamTypeDict ModelListResponseModelParamType = "dict"` - `Default any` Default parameter value - `Description string` Parameter help text - `Label string` Human-readable parameter label - `Max float64` Maximum numeric value - `Min float64` Minimum numeric value - `Options []ModelListResponseModelParamOption` Allowed values for enum-like parameters - `Label string` Displayed option label - `Value string` Option value to pass in generation params - `Description string` Option description - `Properties map[string, ModelListResponseModelParamProperty]` Nested numeric properties for object parameters - `Default float64` - `Max float64` - `Min float64` - `Provider string` Model provider - `Type string` Model type - `const ModelListResponseModelTypeImage ModelListResponseModelType = "image"` - `const ModelListResponseModelTypeVideo ModelListResponseModelType = "video"` - `const ModelListResponseModelTypeAudio ModelListResponseModelType = "audio"` - `const ModelListResponseModelTypeText ModelListResponseModelType = "text"` - `Beta bool` Whether this model is in beta ### Example ```go package main import ( "context" "fmt" "github.com/florafauna-ai/flora-go" "github.com/florafauna-ai/flora-go/option" ) func main() { client := flora.NewClient( option.WithAPIKey("My API Key"), ) models, err := client.Models.List(context.TODO(), flora.ModelListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", models.Models) } ``` #### Response ```json { "models": [ { "capabilities": [ "string" ], "estimated_credits": 0, "estimated_seconds": 0, "model_id": "t2i-flux-2-pro", "name": "name", "params": [ { "name": "name", "required": true, "type": "string", "default": {}, "description": "description", "label": "label", "max": 0, "min": 0, "options": [ { "label": "label", "value": "value", "description": "description" } ], "properties": { "foo": { "default": 0, "max": 0, "min": 0 } } } ], "provider": "Black Forest Labs", "type": "image", "beta": true } ] } ```