Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Neurall API (v3) MCP API
version: 1.0.0
description: 'The public v3 surface: /v3/generations for async generations that produce a content asset, /v3/voices for the voice catalog and your own cloned voices, plus file uploads, per-feature pricing, read-only templates, and signed webhooks. Authenticate every call with an API key in the Authorization header. This document is machine-readable at https://api.neurall.io/v3/openapi.json (import it into Postman, or generate a client).'
servers:
- url: https://api.neurall.io
tags:
- name: MCP
description: The same /v3 surface exposed as MCP tools for AI agents (v3)
paths:
/v3/mcp:
post:
summary: MCP endpoint
description: 'The public /v3 generation features exposed as MCP (Model Context Protocol) tools, so an agent can browse templates, check pricing, upload inputs and generate on your behalf. Streamable HTTP transport, stateless: every call is a POST and there is no session to resume, so GET and DELETE return 405. Authenticate exactly as elsewhere, with the bare API key in the Authorization header and no `Bearer` prefix.
Tool calls loop back through these same REST routes, so billing and concurrency limits are identical to calling the API directly. Generation tools submit and return the generation id; the agent polls `get_generation`, matching the async contract of POST /v3/generations. Each feature has its own typed tool (generate_ad, generate_youtube_thumbnail, generate_self_portrait, generate_product_shot, generate_avatar_video, generate_logo_reveal, generate_object_reveal, generate_voiceover); create_generation reaches the same features in packed form.'
security:
- ApiKeyAuth: []
tags:
- MCP
requestBody:
required: true
content:
application/json:
schema:
type: object
description: A JSON-RPC 2.0 message, e.g. `tools/list` or `tools/call`.
responses:
'200':
description: 'A JSON-RPC response. The transport answers as an SSE stream (`text/event-stream`), so send `Accept: application/json, text/event-stream`.
'
'401':
description: Unauthorized
'405':
description: Method not allowed (the endpoint is stateless and POST only)
operationId: postV3Mcp
x-operation-id-source: derived
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization