Save Custom Meta Value on Media Upload

If you are uploading via Core admin pages, WordPress will most likely upload the file, and then create an attachment post– that is, a post with the attachment post type. So the save_post_attachment hook might do it for you.

3362            /**
3363             * Fires once a post has been saved.
3364             *
3365             * The dynamic portion of the hook name, `$post->post_type`, refers to
3366             * the post type slug.
3367             *
3368             * @since 3.7.0
3369             *
3370             * @param int     $post_ID Post ID.
3371             * @param WP_Post $post    Post object.
3372             * @param bool    $update  Whether this is an existing post being updated or not.
3373             */
3374            do_action( "save_post_{$post->post_type}", $post_ID, $post, $update );

It is hard to be very specific given how general the question is.