Small clarification here: numCards is the right field to set if you want to override the default target length. Doug A.
One nuance is that 20 is not a universal max across every generation context, so I would not frame it as a blanket ceiling. But if the goal is to avoid accidentally inheriting the default of 10, setting numCards explicitly is the right approach.
cardSplit: "inputTextBreaks" is a separate behavior. In that mode, Gamma uses the text breaks in the input to determine the card count, so numCards is effectively ignored.
Docs: https://developers.gamma.app/docs/