Lacuna website screenshot

Lacuna

Lacuna (lacuna.fm), operated by JOYLINK LTD, is an AI music creation platform that turns lyrics or a plain-text style description into complete songs with vocals, alongside lyrics writing, word-level timed lyrics (LRC/SRT/VTT), lyric video export, AI mastering, mashups, stem separation, album-cover art, MIDI tooling and sheet-music conversion, plus long-form AI radio for focus, sleep and ambience. Developers get a documented REST music-generation API (OpenAPI 3.1 published at /api/openapi.json), an official TypeScript SDK, a `lacuna` CLI, and an unusually complete agent surface: a hosted Streamable-HTTP MCP server at /mcp with an anonymous tools/list, an A2A JSON-RPC agent endpoint at /a2a with a published agent card, an RFC 9727 api-catalog, RFC 8414 / RFC 9728 / RFC 7009 OAuth discovery and revocation, an agent-oriented auth.md, an llms.txt, and packaged Agent Skills. The REST contract carries three operations: submit a generation, poll it, and — added since August — a free GET /v1/me that returns the calling credential's plan, credit balance, scopes, key expiry and effective rate limits, which is the only precondition check available on an API that offers no idempotency key, no dry run and no way to cancel or refund a generation once submitted. API access requires a Pro plan or above and is billed in credits per generation.

Lacuna publishes 5 APIs on the APIs.io network, including Music API Events, Music API, Account API, and 2 more. Tagged areas include AI Music, Music Generation, AI Song Generator, AI Lyrics Generator, and Audio.

The Lacuna catalog on APIs.io includes 1 event-driven AsyncAPI specification.

Lacuna’s developer surface includes developer portal, documentation, API reference, getting-started guide, support, engineering blog, pricing, and 37 more developer resources.

64.9/100 strong ▬ flat Agent 57/100 agent ready Front door AI 6/6 dominant saas Full breakdown ↓
scored 2026-09-25 · rubric v0.23.0
AccessFreemiumSelf serve⚡ Free to try
2 APIs 1 MCP Servers
AI MusicMusic GenerationAI Song GeneratorAI Lyrics GeneratorAudioMIDISongwritingGenerative AIMCP ServerAgent SkillsA2ADeveloper ToolsAccountAuthentication

What this lets a business do 1

Business capabilities this provider's published APIs can perform, derived from its own contracts. Browse all capabilities →

Content Origination & Production Management
BC-3700
Music
POST /v1/music/generations

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-25 · rubric v0.23.0
Regulatory Posture applies to this provider. Its tags matched the Horizontal (data, software, accessibility, platform) regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
The six quality facets above are damped to 75 points between them, because the conditional facet above carries the other 25. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 75% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/lacuna: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 5

Individual APIs this provider publishes, each with its own machine-readable definition.

Lacuna MCP Server

Hosted Model Context Protocol server (Streamable HTTP) at https://www.lacuna.fm/mcp, protocol 2025-06-18. initialize and tools/list answer anonymously and return real input sche...

Lacuna A2A Agent

Agent-to-Agent JSON-RPC endpoint at https://www.lacuna.fm/a2a advertising the "Lacuna Music" agent card at /.well-known/agent-card.json (protocolVersion 0.3.0). One skill, gener...

Lacuna Music API Events

The outbound event surface of the Lacuna Music API. Lacuna publishes no AsyncAPI document; it describes its events natively in the OpenAPI 3.1 `webhooks` block — four events (jo...

Lacuna Music API

Music generation endpoints.

Lacuna Account API

Account, plan and credential introspection.

Open Collections 3

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Lacuna Music API

OPEN COLLECTION

Arazzo Workflows 1

Multi-step API workflows described with the Arazzo specification.

Generate a Lacuna track and collect the audio

Submits a music generation task to the Lacuna Music API, polls it to a terminal state, and returns the hosted audio URL of the first rendered track. Both operationIds are verifi...

ARAZZO

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

Lacuna MCP Server

Generate AI music from a style description and optional lyrics. Submit a task, poll it, collect the rendered audio.

MCP SERVER

Pricing Plans 1

Published pricing tiers and plan structures.

Lacuna Plans

4 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Lacuna Rate Limits

3 limits

RATE LIMITS

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Lacuna Webhooks

ASYNCAPI

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Lacuna Authentication

http/oauth2 · 2 schemes

SECURITY

Lacuna Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Lacuna Vulnerability Disclosure

Hackerone · contact published

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Lacuna Scopes

5 scopes · authorizationCode

5 scopes

SCOPES

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Lacuna Agentic Access

3 operations · 1 acting

3 operations · 1 acting

AGENTIC

Resources

Get Started 4

Portal, sign-up, and the first successful call

Documentation 3

Reference material describing how the API behaves

Agent Surfaces 6

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 7

Pagination, idempotency, versioning, errors, and events

Scroll for all 7

Build 5

SDKs, sample code, and the tooling you integrate with

Access & Security 6

Authentication, authorization, and security posture

Operate 4

Status, limits, changes, and where to get help

Commercial 4

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 3

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
name: Lacuna
description: 'Lacuna (lacuna.fm), operated by JOYLINK LTD, is an AI music creation platform that turns lyrics or a plain-text
  style description into complete songs with vocals, alongside lyrics writing, word-level timed lyrics (LRC/SRT/VTT), lyric
  video export, AI mastering, mashups, stem separation, album-cover art, MIDI tooling and sheet-music conversion, plus long-form
  AI radio for focus, sleep and ambience. Developers get a documented REST music-generation API (OpenAPI 3.1 published at
  /api/openapi.json), an official TypeScript SDK, a `lacuna` CLI, and an unusually complete agent surface: a hosted Streamable-HTTP
  MCP server at /mcp with an anonymous tools/list, an A2A JSON-RPC agent endpoint at /a2a with a published agent card, an
  RFC 9727 api-catalog, RFC 8414 / RFC 9728 / RFC 7009 OAuth discovery and revocation, an agent-oriented auth.md, an llms.txt,
  and packaged Agent Skills. The REST contract carries three operations: submit a generation, poll it, and — added since August
  — a free GET /v1/me that returns the calling credential''s plan, credit balance, scopes, key expiry and effective rate limits,
  which is the only precondition check available on an API that offers no idempotency key, no dry run and no way to cancel
  or refund a generation once submitted. API access requires a Pro plan or above and is billed in credits per generation.'
url: https://raw.githubusercontent.com/api-evangelist/lacuna/refs/heads/main/apis.yml
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  - scopes
  - rate-limits
  - security
  generated: '2026-09-02'
  method: derived
image: https://www.lacuna.fm/favicon-192x192.png
created: '2026-08-02'
modified: '2026-09-11'
specificationVersion: '0.23'
tags:
- AI Music
- Music Generation
- AI Song Generator
- AI Lyrics Generator
- Audio
- MIDI
- Songwriting
- Generative AI
- MCP Server
- Agent Skills
- A2A
- Developer Tools
- Account
- Authentication
tags_raw:
- AI Music
- Music Generation
- AI Song Generator
- AI Lyrics Generator
- Audio
- MIDI
- Songwriting
- Generative AI
- MCP Server
- Agent Skill
- A2A
- Developer Tools
- Account
- OAuth
apis:
- name: Lacuna MCP Server
  description: Hosted Model Context Protocol server (Streamable HTTP) at https://www.lacuna.fm/mcp, protocol 2025-06-18. initialize
    and tools/list answer anonymously and return real input schemas; tools/call requires an OAuth 2.0 access token with music:generate
    or a lyr_live_ API key. Three tools — generate_music, get_generation, list_models. A stdio sibling ships on npm as lacuna-mcp
    for local clients.
  humanURL: https://www.lacuna.fm/docs/mcp
  baseURL: https://www.lacuna.fm/mcp
  tags:
  - MCP Server
  - Generative AI
  - AI Music
  - Developer Tools
  properties:
  - type: MCPServer
    url: mcp/lacuna-mcp.yml
  - type: ToolCrosswalk
    url: mcp/lacuna-tool-crosswalk.yml
  - type: Documentation
    url: https://www.lacuna.fm/docs/mcp
- name: Lacuna A2A Agent
  description: Agent-to-Agent JSON-RPC endpoint at https://www.lacuna.fm/a2a advertising the "Lacuna Music" agent card at
    /.well-known/agent-card.json (protocolVersion 0.3.0). One skill, generate_music, which accepts a style description or
    a structured data part, runs asynchronously, and returns audio artifacts via tasks/get. Auth is required on every method;
    anonymous calls return 401 authentication_error.
  humanURL: https://www.lacuna.fm/docs/api
  baseURL: https://www.lacuna.fm/a2a
  tags:
  - A2A
  - Agent Skills
  - Generative AI
  - AI Music
  tags_raw:
  - A2A
  - Agent Skill
  - Generative AI
  - AI Music
  properties:
  - type: AgentCard
    url: a2a/lacuna-a2a.yml
  - type: Documentation
    url: https://www.lacuna.fm/docs/api
- aid: lacuna:lacuna-lacuna-music-api-api
  name: Lacuna Music API Events
  description: 'The outbound event surface of the Lacuna Music API. Lacuna publishes no AsyncAPI document; it describes its
    events natively in the OpenAPI 3.1 `webhooks` block — four events (job.completed, job.failed, credits.low, key.expiring)
    over a shared WebhookEnvelope, signed HMAC-SHA256 in X-Lacuna-Signature with a five-minute replay window. Zero request
    operations by design: this document is the event catalog, subscribed to from the dashboard at /profile/api.'
  humanURL: https://www.lacuna.fm/docs/api
  baseURL: https://www.lacuna.fm/api
  tags:
  - Lacuna Music API
  properties:
  - type: OpenAPI
    url: openapi/lacuna-lacuna-music-api-api-openapi.yml
  - type: Documentation
    url: https://www.lacuna.fm/docs/api
  - type: APIReference
    url: https://www.lacuna.fm/api/openapi.json
  - type: Webhooks
    url: asyncapi/lacuna-webhooks.yml
  - type: ErrorCatalog
    url: errors/lacuna-problem-types.yml
  - type: RateLimits
    url: rate-limits/lacuna-rate-limits.yml
- aid: lacuna:lacuna-music-api
  name: Lacuna Music API
  description: Music generation endpoints.
  humanURL: https://www.lacuna.fm/docs/api
  baseURL: https://www.lacuna.fm/api
  tags:
  - Music
  properties:
  - type: OpenAPI
    url: openapi/lacuna-music-api-openapi.yml
  - type: Documentation
    url: https://www.lacuna.fm/docs/api
  - type: APIReference
    url: https://www.lacuna.fm/api/openapi.json
  - type: Webhooks
    url: asyncapi/lacuna-webhooks.yml
  - type: ErrorCatalog
    url: errors/lacuna-problem-types.yml
  - type: RateLimits
    url: rate-limits/lacuna-rate-limits.yml
- aid: lacuna:lacuna-account-api
  name: Lacuna Account API
  description: Account, plan and credential introspection.
  humanURL: https://www.lacuna.fm/docs/mcp
  baseURL: https://www.lacuna.fm/mcp
  tags:
  - Account
  properties:
  - type: OpenAPI
    url: openapi/lacuna-account-api-openapi.yml
  - type: Documentation
    url: https://www.lacuna.fm/docs/api
  - type: APIReference
    url: https://www.lacuna.fm/api/openapi.json
  - type: Authentication
    url: authentication/lacuna-authentication.yml
  - type: ErrorCatalog
    url: errors/lacuna-problem-types.yml
  - type: RateLimits
    url: rate-limits/lacuna-rate-limits.yml
x-enrichment:
  date: '2026-09-11'
  status: enriched
  artifacts_added: 2
  pass: local-v3
maintainers:
- FN: JOYLINK LTD
  email: support@lacuna.fm
  url: https://github.com/JOYLINK-LTD/lacuna-toolkit
common:
- type: AgentSkill
  url: skills/lacuna-preflight-and-budget.md
- type: Website
  url: https://www.lacuna.fm/
- type: AgenticAccess
  url: agentic-access/lacuna-agentic-access.yml
- type: DeveloperPortal
  url: https://www.lacuna.fm/docs
- type: Portal
  name: AI Music API overview
  url: https://www.lacuna.fm/ai-music-api
- type: Documentation
  url: https://www.lacuna.fm/docs
- type: APIReference
  url: https://www.lacuna.fm/docs/api
- type: GettingStarted
  url: https://www.lacuna.fm/docs
- type: Support
  url: https://www.lacuna.fm/contact
- type: Blog
  url: https://www.lacuna.fm/blog
- type: GitHubOrganization
  url: https://github.com/JOYLINK-LTD
- type: Pricing
  url: https://www.lacuna.fm/pricing
- type: SignUp
  url: https://www.lacuna.fm/signin
- type: TermsOfService
  url: https://www.lacuna.fm/terms
- type: PrivacyPolicy
  url: https://www.lacuna.fm/privacy
- type: ChangeLog
  url: https://www.lacuna.fm/changelog
- type: ChangeLog
  name: Lacuna changelog (structured)
  url: changelog/lacuna-changelog.yml
- type: OpenAPI
  url: openapi/_original/lacuna-music-openapi-original.json
- type: LLMsTxt
  url: llms/lacuna-llms.txt
- type: WellKnown
  url: well-known/lacuna-well-known.yml
- type: SecurityTxt
  url: well-known/lacuna-security.txt
- type: APICatalog
  url: well-known/lacuna-api-catalog.json
- type: MCPServer
  url: mcp/lacuna-mcp.yml
- type: ToolCrosswalk
  url: mcp/lacuna-tool-crosswalk.yml
- type: AgentCard
  url: a2a/lacuna-a2a.yml
- type: AgentSkill
  url: skills/_index.yml
- type: Packages
  url: packages/lacuna-packages.yml
- type: SDKs
  url: packages/lacuna-packages.yml
- type: CLI
  url: cli/lacuna-cli.yml
- type: Authentication
  url: authentication/lacuna-authentication.yml
- type: OAuthScopes
  url: scopes/lacuna-scopes.yml
- type: Conventions
  url: conventions/lacuna-conventions.yml
- type: ErrorCatalog
  url: errors/lacuna-problem-types.yml
- type: Webhooks
  url: asyncapi/lacuna-webhooks.yml
- type: Lifecycle
  url: lifecycle/lacuna-lifecycle.yml
- type: Conformance
  url: conformance/lacuna-conformance.yml
- type: DomainSecurity
  url: security/lacuna-domain-security.yml
- type: VulnerabilityDisclosure
  url: security/lacuna-vulnerability-disclosure.yml
- type: Security
  url: https://www.lacuna.fm/.well-known/security.txt
- type: RateLimits
  url: rate-limits/lacuna-rate-limits.yml
- type: Plans
  url: plans/lacuna-plans.yml
- type: DataModel
  url: data-model/lacuna-data-model.yml
- type: Overlay
  url: overlays/lacuna-music-overlay.yaml
- type: Arazzo
  name: Generate a Lacuna track and collect the audio
  url: arazzo/lacuna-generate-and-collect.yml

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/lacuna"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/lacuna/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/lacuna/evidence"

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.

A second provider on the same verified email joins the account you already have.