Card snapshot
www.lacuna.fm
·
2026-08-10 10:59:52 UTC
·
67a97ef454e81752937e6c7e433ce529a9095dd2c5eb240ce6e0322643a9c1e3
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"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": []
}
}
}
]
}