There’s no default way to set a minimum subscription period with WooCommerce Subscriptions, but there are a couple of potential solutions to this:
Sign-up fee and free trial
Let’s say you want a customer to have to pay a minimum amount, and then go monthly after that, you could set a sign-up fee and free trial on the subscription to ensure that the customer pays a minimum amount before being able to cancel.
There’s a decent blog post about exactly how to do that here: https://wpbeaches.com/set-a-minimum-subscription-period-in-woocommerce-subscriptions/
Hide cancel button until minimum number of payments
Another way to do this is to simply take away the customers’ ability to cancel the subscription until a minimum number of payments have processed. Thanks to jrick1229 for this snippet:
Note: you may also want to hide the suspend action button.