Tool catalog

Discover the Direct API's tools and their JSON Schemas, and see every v1 tool with the scope it needs.

The Direct API is generated from the same tool definitions as the Morphic MCP server, so the catalog the API serves is always the live one, including every model your plan can use.

Discover the tools

RequestReturns
GET /v1/direct/toolsevery tool this key can call, with its full JSON Schemas, as { "tools": [ … ] }
GET /v1/direct/tools/{tool_name}one entry of that list, as { "tool": { … } }
GET /v1/direct/openapi.jsonan OpenAPI 3.1 document for the whole API, built from the same definitions; use it to generate a typed client
curl -s https://mcp.morphic.com/v1/direct/tools \
  -H "Authorization: Bearer $MORPHIC_API_KEY"
{
  "tools": [
    {
      "name": "generate_image",
      "title": "Generate image",
      "description": "Text to image. TAKES IN: a prompt … PRODUCES: one new image per variation …",
      "required_scopes": ["generations:write"],
      "charges_credits": true,
      "returns_generation": true,
      "input_schema":  { "type": "object", "properties": { "prompt": { "type": "string", "maxLength": 4000 }, "…": {} }, "required": ["prompt"], "additionalProperties": false },
      "output_schema": { "type": "object", "properties": { "generation_id": { "type": "string" }, "…": {} } },
      "annotations": { "readOnlyHint": false, "destructiveHint": false, "idempotentHint": false, "openWorldHint": false }
    }
  ]
}
FieldMeaning
charges_creditsthe tool can spend credits; see Credits and usage
returns_generationthe tool starts asynchronous work you follow as a generation
input_schemaJSON Schema of input in the call body. Strict: an unknown key is refused, not ignored.
output_schemaJSON Schema of result in the response. Open: new fields may appear.

Tools at v1

GET /v1/direct/tools is the authoritative, always-current list. At v1:

Account and catalog (free)

ToolScopeDoes
list_voicesnonethe voices a speech model offers, each with its voice_id
list_projectsprojects:readyour projects
list_workflows, get_workflowprojects:readsaved workflows
list_charactersassets:readtrained characters, with the id an edit takes
plan_mediaassets:readvalidate and quote a multi-step plan; see Quote before you spend

Library (free)

ToolScopeDoes
list_assetsassets:readuploads, generations and documents, with links; a file you gave by URL is listed here
list_generationsassets:readrecent generations with status and assets

Image (paid, return generations)

Scope generations:write: generate_image, edit_image, upscale_image, enhance_image, outpaint_image, inpaint_image, image_compose, image_crop, image_resize, image_rotate, image_flip, image_extend_to_aspect_ratio, image_make_color_transparent.

Video (paid, return generations)

Scope generations:write: generate_video, edit_video, upscale_video, enhance_video, finalize_video_draft, lip_sync, video_compose, video_resize, video_change_frame_rate, video_rotate, video_flip, video_change_speed, video_reverse, video_remove_audio, video_frame_to_image, burn_subtitles.

Audio (paid, return generations)

Scope generations:write: generate_speech, generate_music, generate_sound_effect, generate_dialogue, change_voice, transcribe_media, separate_stems, dub_media, audio_compose, audio_trim, extract_audio.

Analysis (paid, answer in the call)

analyze_video and analyze_audio need the scopes generations:write and assets:read. They start no generation, and the charge is refunded if the analysis fails.

Compose timelines

The tools in this group keep the filmlab_ prefix in their names.

ToolScopeCharges
filmlab_list_timelines, filmlab_read_timelineprojects:readfree
filmlab_create_timelineassets:writefree
filmlab_get_documentationnonefree
filmlab_editgenerations:write and assets:writeper command
filmlab_exportgenerations:writereturns a generation

Not in the Direct API

MCP toolUse instead
list_modelsModels
get_credit_balanceGET /v1/direct/me
get_generation_status, wait_for_generations, show_generation, show_assetGET /v1/direct/generations/{id} and POST /v1/direct/generations/batch-get

If you have any trouble or have any questions, feel free to reach out. We're happy to help. Write to us at support@morphic.com.

On this page