Definitely not a best practice, but I see "List Bases" and "Create Base" in the API so you might be able to cobble something together from there?
Off the top of my head you'd probably face issues with linked fields, lookups, rollups and formula fields, so this is probably only useful if you've got a ton of bases / you have to do this many many times
Hopefully someone else can chime in!