{% set tweets = craft.twitter.get('statuses/user_timeline', { tweet_mode:'extended' }) %}
{% for tweet in tweets %}
<li>
{% if tweet.extended_entities.media is defined %}
{% for item in tweet.extended_entities.media if item.type == 'photo' %}
<img src="{{ item.media_url }}">
{% endfor %}
{% endif %}
</li>
{% endfor %}
Anything obviously wrong here? I tested the API with a {{ dump(tweets) }} which seems fine.
This thread describes a similar issue but without a solution.