naftiko: 1.0.0-alpha2 info: label: Ludo.ai REST API — Audio description: 'Ludo.ai REST API — Audio. 5 operations. Lead operation: Ludo.ai Generate background music. Self-contained Naftiko capability covering one Ludo Ai business surface.' tags: - Ludo Ai - Audio created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LUDO_AI_API_KEY: LUDO_AI_API_KEY capability: consumes: - type: http namespace: rest-audio baseUri: https://api.ludo.ai/api description: Ludo.ai REST API — Audio business capability. Self-contained, no shared references. resources: - name: audio-music path: /audio/music operations: - name: createmusic method: POST description: Ludo.ai Generate background music outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: audio-sound-effects path: /audio/sound-effects operations: - name: createsoundeffect method: POST description: Ludo.ai Generate a game sound effect outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: audio-speech path: /audio/speech operations: - name: createspeech method: POST description: Ludo.ai Clone a voice from an audio sample outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: audio-speech-preset path: /audio/speech-preset operations: - name: createspeechpreset method: POST description: Ludo.ai Generate speech using a preset voice outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: audio-voice path: /audio/voice operations: - name: createvoice method: POST description: Ludo.ai Generate a unique character voice outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: Authentication value: '{{env.LUDO_AI_API_KEY}}' placement: header exposes: - type: rest namespace: rest-audio-rest port: 8080 description: REST adapter for Ludo.ai REST API — Audio. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/audio/music name: audio-music description: REST surface for audio-music. operations: - method: POST name: createmusic description: Ludo.ai Generate background music call: rest-audio.createmusic with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/audio/sound-effects name: audio-sound-effects description: REST surface for audio-sound-effects. operations: - method: POST name: createsoundeffect description: Ludo.ai Generate a game sound effect call: rest-audio.createsoundeffect with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/audio/speech name: audio-speech description: REST surface for audio-speech. operations: - method: POST name: createspeech description: Ludo.ai Clone a voice from an audio sample call: rest-audio.createspeech with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/audio/speech-preset name: audio-speech-preset description: REST surface for audio-speech-preset. operations: - method: POST name: createspeechpreset description: Ludo.ai Generate speech using a preset voice call: rest-audio.createspeechpreset with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/audio/voice name: audio-voice description: REST surface for audio-voice. operations: - method: POST name: createvoice description: Ludo.ai Generate a unique character voice call: rest-audio.createvoice with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: rest-audio-mcp port: 9090 transport: http description: MCP adapter for Ludo.ai REST API — Audio. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: ludo-ai-generate-background-music description: Ludo.ai Generate background music hints: readOnly: false destructive: false idempotent: false call: rest-audio.createmusic with: body: tools.body outputParameters: - type: object mapping: $. - name: ludo-ai-generate-game-sound-effect description: Ludo.ai Generate a game sound effect hints: readOnly: false destructive: false idempotent: false call: rest-audio.createsoundeffect with: body: tools.body outputParameters: - type: object mapping: $. - name: ludo-ai-clone-voice-audio-sample description: Ludo.ai Clone a voice from an audio sample hints: readOnly: false destructive: false idempotent: false call: rest-audio.createspeech with: body: tools.body outputParameters: - type: object mapping: $. - name: ludo-ai-generate-speech-using-preset description: Ludo.ai Generate speech using a preset voice hints: readOnly: false destructive: false idempotent: false call: rest-audio.createspeechpreset with: body: tools.body outputParameters: - type: object mapping: $. - name: ludo-ai-generate-unique-character-voice description: Ludo.ai Generate a unique character voice hints: readOnly: false destructive: false idempotent: false call: rest-audio.createvoice with: body: tools.body outputParameters: - type: object mapping: $.