You need to wait for the plugin to initialize, before calling the launch
function. There is onLoad
event you can use:
var featherEditor = new Aviary.Feather({
apiKey: 12345,
apiVersion: 3,
onLoad: function() {
featherEditor.launch({
image: $id,
url: $src
});
}
});