Bulk upload images, generating a seperate page for each image
In your main image index template, you can iterated through all of the assets and generate URLs yourself like this:

{% for asset in assets %}
    &lt;a href="/photos/photo-detail/{{ asset.slug }}"&gt;{{ asset.title }}&lt;/a&gt;
{% endfor %}


Then set up a custom route for /photos/photo-detail/(slug) and point it at the photo-detail.twig template. In that template, you can get the slug for the asset via craft.request.getSegment(3) and then look up the asset via the slug.