Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
80
A2A A2A 0.3.0 v1.0.0

Lacuna Music

www.lacuna.fm · JOYLINK LTD

Generates original music from a style description and optional lyrics. Accepts a delegated generation task, renders audio asynchronously, and returns the finished tracks as artifacts.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain www.lacuna.fm via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
62/100
grade C · 9 criteria
Uptime
100.0%
20 direct probes · 30d
~140 ms response
Observed inflow · 30d
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

C
Conformance score: 62/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
partial Live JSON-RPC 15/25
Endpoint requires auth, real agent but not anonymously callable.
How to earn +10 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload.
Docs →
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
20/20 probes succeeded (100% uptime).
partial Skill declaration 6/10
Declares 1 skill, usable but thin.
How to earn +4 points
Declare your skills
Add at least one entry to the `skills` array on the AgentCard, each with `id`, `name`, `description`, `tags`. We canonicalise these into the global skill taxonomy on next probe.
Docs →
partial Verified Identity 5/10
Provider declared: JOYLINK LTD (https://www.lacuna.fm). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 2 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-08-10 10:59:52 current 67a97ef454e8… view →
Uptime
100.0%
20 direct probes · 30d
Response
288ms
last direct probe
Skills
1
declared
Streaming
SSE-capable

Skills · 1 declared · mapped to canonical taxonomy

Generate music

Create an original track from a style description. Send a data part with `{ style, title, lyrics?, instrumental?, model? }` for full control, or a plain text pa…

canonical Documentation Generation match 82%
musicaudiogenerationsonginstrumental

Health · last 20 probes

When HTTP Live JSON-RPC Latency
2026-08-19 09:59:36 200 288ms
2026-08-19 02:07:51 200 263ms
2026-08-18 19:12:34 200 441ms
2026-08-18 07:28:21 200 277ms
2026-08-17 23:55:41 200 266ms
2026-08-17 16:57:55 200 443ms
2026-08-17 06:08:44 200 286ms
2026-08-16 19:14:43 200 302ms
2026-08-16 07:35:42 200 330ms
2026-08-16 01:44:58 200 280ms

Cheaper or better alternatives per-skill

↑ 1 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

music.x402.press
Generate an AI instrumental music track from a text prompt
music.x402.press · q 45%
Suno
AI music generation — create full songs, generate lyrics, and build custom music tracks with state-of-the-art AI models. Supports custom sty
Suno · q 65%
Suede AI Agent
Suede Labs agent for paid music, video, and image generation.
Suede Labs · q 78%
Glif
Project-based media-generation agent. Agents create or continue Glif projects in natural language. Glif selects the models, native tools and
q 73%
api.lmxcloud.io
Pay-per-request OpenAI-compatible chat completions on DePIN infrastructure. Generate text from Llama, Qwen, DeepSeek, and other models with
api.lmxcloud.io · q 65%
Sandbox Contractor Agent live
Autonomous contractor agent selling keyless, no-model services over x402 pay-per-call (from $0.001). THREE catalogs: (1) developer utilities
Artem / A2A Sandbox · q 100%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/www.lacuna.fm.svg)](https://agenstry.com/agents/www.lacuna.fm)
[![Verified Business](https://agenstry.com/badge/www.lacuna.fm/identity.svg)](https://agenstry.com/agents/www.lacuna.fm)
[![Uptime](https://agenstry.com/badge/www.lacuna.fm/uptime.svg)](https://agenstry.com/agents/www.lacuna.fm)
[![A2A version](https://agenstry.com/badge/www.lacuna.fm/protocol.svg)](https://agenstry.com/agents/www.lacuna.fm)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Lacuna Music",
  "description": "Generates original music from a style description and optional lyrics. Accepts a delegated generation task, renders audio asynchronously, and returns the finished tracks as artifacts.",
  "version": "1.0.0",
  "documentationUrl": "https://www.lacuna.fm/docs/api",
  "iconUrl": "https://www.lacuna.fm/favicon-192x192.png",
  "provider": {
    "organization": "JOYLINK LTD",
    "url": "https://www.lacuna.fm"
  },
  "protocolVersion": "0.3.0",
  "url": "https://www.lacuna.fm/a2a",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://www.lacuna.fm/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://www.lacuna.fm/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "0.3"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "audio/mpeg",
    "text/plain",
    "image/jpeg"
  ],
  "skills": [
    {
      "id": "generate_music",
      "name": "Generate music",
      "description": "Create an original track from a style description. Send a data part with `{ style, title, lyrics?, instrumental?, model? }` for full control, or a plain text part \u2014 text-only requests are treated as a style description and rendered as an instrumental, since no lyrics are available. The task returns immediately in the `working` state; poll tasks/get with the returned task id until it reaches `completed` (audio artifacts attached) or `failed`. Each call spends credits from the authenticated Lacuna account.",
      "tags": [
        "music",
        "audio",
        "generation",
        "song",
        "instrumental",
        "soundtrack"
      ],
      "examples": [
        "lofi hip hop, mellow piano, rainy night, 70 bpm",
        "epic cinematic orchestral trailer music with taiko drums",
        "{\"style\":\"indie folk, female vocal, acoustic guitar\",\"title\":\"Paper Boats\",\"lyrics\":\"[Verse]\\nWe folded maps into paper boats...\"}"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "audio/mpeg",
        "text/plain",
        "image/jpeg"
      ]
    }
  ],
  "securitySchemes": {
    "oauth2": {
      "type": "oauth2",
      "description": "OAuth 2.0 authorization code flow with PKCE. Discovery metadata lives at /.well-known/oauth-authorization-server.",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://www.lacuna.fm/oauth/authorize",
          "tokenUrl": "https://www.lacuna.fm/oauth/token",
          "scopes": {
            "profile": "Grants the profile scope.",
            "music:generate": "Grants the music:generate scope.",
            "livecoding:agent": "Grants the livecoding:agent scope.",
            "music:agent": "Grants the music:agent scope.",
            "lyrics:agent": "Grants the lyrics:agent scope."
          }
        }
      }
    },
    "apiKey": {
      "type": "http",
      "scheme": "bearer",
      "description": "A Lacuna developer API key, issued from the dashboard at /profile/api and sent as `Authorization: Bearer <key>`. Requires an active Pro plan or higher."
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "oauth2": {
          "list": [
            "music:generate"
          ]
        }
      }
    },
    {
      "schemes": {
        "apiKey": {
          "list": []
        }
      }
    }
  ]
}