Вообще, решение очень сильно зависит от того, как именно вы это делаете.
Средствами ImageMagic, как исполняемой программы, это делается через указание параметра -size:
www.imagemagick.org/Usage/text/#label_bestfit
Это решение имеет смысл, если вы вызываете convert из PHP через exec() или shell_exec()
Если же вы говорите о функциях ImageMagick в PHP, то там аналогичной возможности нет, и проще всего сгенерировать пустое изображение с текстом заведомо большого размера, а потом, получив размер той картинки, которую вы хотите снабдить текстом, уменьшить изображение текста и наложить его на целевую картинку.