Skip to main content
GET
/
v1
/
models
List all models
curl --request GET \
  --url https://api.magica.com/api/v1/models \
  --header 'Authorization: <authorization>'
{
  "(array)": [
    {
      "nodeType": "<string>",
      "name": "<string>",
      "description": "<string>",
      "category": "<string>",
      "icon": "<string>",
      "accent": "<string>",
      "subModels": [
        {
          "subModelId": "<string>",
          "label": "<string>",
          "category": "<string>"
        }
      ]
    }
  ]
}
Returns a single array containing every model the platform exposes — image, video, audio, LLM, and utility. Each entry surfaces the nodeType and any subModels for multi-mode models.
Need the response grouped by category with role labels (GENERATE / EDIT / TRANSFORM)? Use GET /v1/models/search instead. This endpoint is intentionally flat — best when you just want to enumerate every model ID.

Authorizations

Authorization
string
required
Bearer API key. Format: Bearer gx_your_api_key.

Response

(array)
array
Array of model entries — one per registered node type.

Request

curl https://api.magica.com/api/v1/models \
  -H "Authorization: Bearer $MAGICA_API_KEY"

Response example

Truncated to two entries (the live response includes ~80 models):
[
  {
    "nodeType": "flux_2_max",
    "name": "FLUX 2 Max",
    "description": "State-of-the-art image generation with exceptional realism, precision, and consistency",
    "category": "image",
    "icon": "image",
    "accent": "blue",
    "subModels": [
      {
        "subModelId": "flux-2-max-text",
        "label": "Text to Image",
        "category": "text-to-image"
      },
      {
        "subModelId": "flux-2-max-edit",
        "label": "Image to Image",
        "category": "image-to-image"
      }
    ]
  },
  {
    "nodeType": "kling_v3_pro",
    "name": "Kling v3 Pro",
    "description": "Text-to-video and image-to-video.",
    "category": "video",
    "icon": "video",
    "accent": "pink"
  }
]

What the IDs are for

FieldUse it where
nodeTypePath param in POST /v1/nodes/{nodeType}/run; also use as nodeType in POST /v1/nodes/estimate-credits
subModels[].subModelIdPath param in GET /v1/models/{modelId}/schema and GET /v1/models/{modelId}/pricing; also pass as subModelId when running a multi-mode model
For single-mode models (no subModels), the schema endpoint accepts the nodeType directly.

Errors

StatusReason
401Missing or invalid API key
500Server error