Search models
Models
Search models
Browse Magica’s model catalog grouped by category. Find model IDs to use with schema, pricing, credit estimation, and model execution endpoints.
GET
Search models
Returns a catalog of available generation models, grouped by category (
The HTTP status is 200 in both cases — always check for
text-to-image, image-to-video, lipsync, text-to-speech, …). Use the optional query parameter to filter to a single category or keyword.
This is the REST equivalent of the MCP
search_tools tool. Both wrap the same
searchTools helper server-side, so the response shape is identical across
REST and MCP.Authorizations
string
required
Bearer API key. Format:
Bearer gx_your_api_key.Query parameters
string
Optional category or keyword filter. Examples:
image (all image categories),
video, text-to-speech, lipsync, transcription, music-generation,
sound-effects, image-to-video (animate stills). Omit to receive the full
catalog.Response
object
Map keyed by category (e.g.
text-to-image). Each entry holds the list of
models in that category. Present whenever the query matches at least one
category — i.e. not present on noMatch responses.object
Map keyed by category, value is one of
GENERATE (creates a new asset from
text — text-to-image, text-to-video, TTS), EDIT (modifies an existing asset
— image-to-image, voice-changing, upscalers), TRANSFORM (converts across
media types — image-to-video, lipsync, audio-translation), or TRANSCRIBE /
UNDERSTAND (transcription, multimodal LLM analysis).string
Long-form usage guidance — primarily written for LLM consumers but useful as a
reminder for human readers. Documents the typical workflow:
search →
model-schema → pricing → estimate → run.string
Optional suggestion (e.g. “Use a query to filter…”). Present when no
query
was supplied.string
Present only when
query was supplied but matched no categories. Replaces
modelCatalog in that case.object
Returned alongside
noMatch. Map of role → list of category keywords you
could try instead.Request
- cURL
- Node.js
- Python
Response example — success
Response example — no match
noMatch before consuming modelCatalog.
Typical workflow
1
Search
GET /v1/models/search?query=<category> — get the list of modelIds in that category.2
Inspect inputs
GET /v1/models/{modelId}/schema — learn what fields the model expects.3
(Optional) Estimate cost
POST /v1/nodes/estimate-credits — confirm the run won’t blow your budget.4
Check balance
GET /v1/credits/balance — confirm the account can cover the estimated cost.5
Run
POST /v1/nodes/{nodeType}/run — start the generation.