Generate music using ElevenLabs Music API - instrumental tracks, songs with lyrics, and fine-grained composition plans
95
93%
Does it follow best practices?
Impact
99%
1.57xAverage score across 5 eval scenarios
Passed
No findings from the security scan
{
"context": "Tests whether the agent correctly implements content restriction error handling for the ElevenLabs Music API, including using prompt_suggestion for bad_prompt errors, composition_plan_suggestion for bad_composition_plan errors, and avoiding copyrighted references in prompts.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Catches bad_prompt error",
"description": "Code includes error handling that specifically catches or checks for bad_prompt errors (not just generic exceptions)",
"max_score": 10
},
{
"name": "Uses prompt_suggestion",
"description": "When a bad_prompt error is caught, the code accesses the prompt_suggestion field from the error response to get alternative phrasing",
"max_score": 15
},
{
"name": "Retries with suggestion",
"description": "After receiving a prompt_suggestion, the code retries the music generation call using the suggested alternative prompt",
"max_score": 10
},
{
"name": "Handles bad_composition_plan",
"description": "Code includes handling for bad_composition_plan errors separately from bad_prompt errors",
"max_score": 10
},
{
"name": "Uses composition_plan_suggestion",
"description": "When a bad_composition_plan error is caught, accesses the composition_plan_suggestion field from the error",
"max_score": 10
},
{
"name": "Unsafe prompt example",
"description": "test_prompts.py includes a test prompt that references a specific real artist, band, or copyrighted work (demonstrating the kind of prompt that would be rejected)",
"max_score": 8
},
{
"name": "Safe prompt example",
"description": "test_prompts.py includes a test prompt that describes music by genre/mood without referencing specific artists or copyrighted material",
"max_score": 5
},
{
"name": "Correct SDK usage",
"description": "Uses the elevenlabs Python SDK with 'from elevenlabs import ElevenLabs' and client.music.compose()",
"max_score": 7
},
{
"name": "Streaming audio save",
"description": "Handles audio response as a stream, iterating over chunks to write to file",
"max_score": 10
},
{
"name": "Logging present",
"description": "Includes logging or print statements that record each generation attempt and its outcome (success, rejected, retried)",
"max_score": 5
},
{
"name": "Returns meaningful result",
"description": "Function returns the file path on success or an error message on failure (not None or an unhandled exception)",
"max_score": 10
}
]
}