Does settings API create settings on run time?

Yes, you can and it’s easier using a Class. In the admin_init hook (where the Settings API is being registered and defined) set a class property based on the user ID:

$this->prefix = 'uid_' . get_current_user_id() . '_';

Then, in the rest of the code, refer to your option name as $this->prefix . 'option_name'.

The result in the table wp_options will be uid_1_option_name, uid_2_option_name, etc. And each user will have its own settings.

A Gist with a working example.