Web-App for to determine gender, age, emotions of a person (shown on an image)
Addressing Your Questions

Is my usage of fetch-API and Promises correct and done in a good way?

Yes it seems fine. The Fetch API is supported by all major browsers but not IE1 but some argue that it doesn't really have a simple way to cancel requests. If there arises a need to abort requests, then other libraries like SuperAgent or reqwest could be used.

Is there are better solution then deleting the unnecessary sub-object?

Obviously there are other ways to handle setting the values within the emotion property on faceAttributes, but those might likely require more lines. One could also conditionally display list items (e.g. add if (typeof facesAttributes[key] !== &quot;object&quot;) { before the line that pushes strings into listItems). If there was a way to filter with a callback when calling Object.extend() that would be an advantage here but unfortunately it doesn't appear that is the case.
Other review points
Feedback
The code looks quite succint. There are two DOM lookups at the start but then one DOM lookup in the click handler so that could be cached in a variable.
Suggestions
var vs let/const
Perhaps you have already learned more about let and const since posting this question but many es-6 developers would prefer using const for values that don't change (e.g. imgUrl, initObject, etc.)
Template
One could also utilize a script template to display the list items, though that may not be desirable here.
Invalid HTML when Error occurs
This line in the promise catch:

attributesList.innerHTML = 'Have you entered a valid image URL?';


Sets the inner HTML of the unordered list tag to a text string. That is technically unpermitted content for an unordered list. Perhaps a better solution would be to have a separate element for the error message.
P.S.
Here is the output from that AJAX call using that image of Tesla, so you could fake it now that the key is invalid:


const output = [{"faceId":"950c26ae-70f0-4365-8279-fcd987f56e70","faceRectangle":{"top":75,"left":32,"width":117,"height":117},"faceAttributes":{"gender":"male","age":37.0,"emotion":{"anger":0.0,"contempt":0.0,"disgust":0.0,"fear":0.0,"happiness":0.007,"neutral":0.992,"sadness":0.0,"surprise":0.0}}}];
const p1 = new Promise(function(resolve, reject) {
  setTimeout(resolve, 100, output);
  });
p1.then(console.log);