Давайте, для начала, поймем ваши цели. Вы хотите создать свой API, пообщаться с существующим, или приделать свой UI для известного API?
Для создания своего API указанный инструмент, FastAPI, вполне подходит. Не все фреймворки умеют формировать/отдавать swagger спеку, но некоторые это позволяют. Собственно, для создания собственного сервиса и API, по которому он будет отдавать данные, swagger непременным условием не является. Спека для swagger пишется первой, когда у вас есть генератор, который может построить заготовку проекта на нужном вам языке. Во всех остальных случаях, она, или пишется вручную, или формируется по написанному коду, с использованием соответствующих инструментов.
Пообщаться с существующим API можно, помимо, например, Postman-а и подобных инструментов, с помощью SwaggerUI, который написан на JS и может быть размещен, например, на вашем сервере. Достаточно подсунуть ему спеку интересующего вас сервера и он, в более или менее удобной форме, позволит увидеть доступные вызовы, отправить запрос, получить ответ, ну и прочитать описание каждого вызова, если автор спеки об этом позаботился. Задача swagger - это представить машинно понятное описание api, со всеми используемыми структурами запросов и ответов, чтобы клиентский код сумел его разобрать, отправить запрос, обработать ответ, и возможно, по крайней мере теоретически, сформировать форму, чтобы пользователь мог ввести свои данные, например, для отправки их в БД. Ни для чего больше, как машинно понятное описание API swagger не предназначен.
Ну и уже должно быть понятно, что SwaggerUI не предназначен для создания собственных клиентов к API. Это скорее интерактивная документация к сервису, который описан в спеке.
В выборе средств реализации пользовательского UI вы не ограничены ни чем. Мобильное приложение, десктоп, веб с шаблонами a-la django, spa приложение, все к вашим услугам. На реализацию серверной части это ни как не завязано.