If there are good reason for that, a Scrum Team can change the length of a Sprint, but they don’t change it constantly.
Is this correct?
Imagine next situation:
There will be new big product and your Scrum Team will be accountable for crafting it.
It will be many Sprints.
Scrum Team decide to have 4 week sprint duration,
after few Sprints, they decide to have it in 3 week (for whatever reason)
After Sprint 15, they decide to move back to 4 week sprint.