Thumbnails in WordPress can be generated by using wp_generate_attachment_metadata(), this function fires a filter after generating all the thumbnails wp_generate_attachment_metadata and the filter provides $metadata and $attachment_id to the hooked functions.
You can hook your custom function to this filter.
$metadata : Attachment metadata.
What you need is $metadata['sizes']['<size-name>'], the <size-name> is the name of thumbnail size added by add_image_size() or the default ones.
e.g.
$metadata[sizes] => Array
(
[thumbnail] => Array
(
[file] => example_image-150x150.jpg
[width] => 150
[height] => 150
[mime-type] => image/jpeg
)
[medium] => Array
(
[file] => example_image-4-300x194.jpg
[width] => 300
[height] => 194
[mime-type] => image/jpeg
)
[mysize] => Array
(
[file] => example_image-4-400x400.jpg
[width] => 400
[height] => 400
[mime-type] => image/jpeg
)
)
from here you can know which sizes exist for the certain attachment, and only upload those sizes/thumbnails.
To get those thumbnails use a function like wp_get_attachment_image_src($id, $size_name) to retrieve the thumbnail urls.
(Optional) : Install the Force Regenerate Thumbnails plugin to rerun the wp_generate_attachment_metadata() for previously uploaded images too.