Hey @sabrinasanfra,
there’s no such thing as
{% set xyz %}
something something
{% endset %}
it’s something LLMs tend to add as HubL is based on Jinja and Jinja got and endset.
a set is most times just a one-liner like
{% set img_src = module.image.src %}
there are advanced usages like creating objects and arrays in a set, but those would be a absolutely overengineered solution for your usecase.
Try this code
{% if module.image.src %}
<img src="{{module.image.src}}" alt="{{module.alt_text|escape}}">
...
{% else %}
<p>not found</p>
{% endif %}
a few tips:
- lazy loading isn’t required for quotes
- Unless you add some specific styling options, you can hard-code the width/height either in the module.html (use {% require_css %} tag) and get rid of the style-tag in the image tag
- alt-text is nice, but also not required for quotes as theyÄll end up as PDFs

best,
Anton
Just for learning/info purposes:
A set array looks like this
{% set cool_array = ["option_a", "option_b", "option_c"] %}
Useage:
Define some reusable values to use in an if-statement like
{% if cool_array.option_a %}
Do something
{% elif cool_array.object_b %}
Do something differently
{% else %}
Do something if neither a or b fits
{% endif %}
Objects on the other hand are super powerful, but also tend to be quite advanced
{% set image_object = {
"src" : module.image.src,
"alt" : module.alt_text
} %}
Creating objects allow you to combine many different data into one object and use it through out a module. If you should decide to change something at a later point, you’d need to change it only in the object, not in the actual module code. Super helpful if your module has several hundreds lines of code 
Example:
{% set image_object = {
"src" : module.image.src,
"alt" : module.alt_text
}
%}
...
...
...
{% if image_object.src %}
<img src="{{ image_object.src }}" alt="{{ image_object.alt}}">
{% endif %}