diff --git a/core/Controller/TextToImageApiController.php b/core/Controller/TextToImageApiController.php index d3a05011fb7..1019114bee9 100644 --- a/core/Controller/TextToImageApiController.php +++ b/core/Controller/TextToImageApiController.php @@ -81,6 +81,12 @@ class TextToImageApiController extends OCSController { if (strlen($input) > 64_000) { return new DataResponse(['message' => $this->l->t('Input text is too long')], Http::STATUS_PRECONDITION_FAILED); } + if ($numberOfImages > 12) { + return new DataResponse(['message' => $this->l->t('Cannot generate more than 12 images')], Http::STATUS_PRECONDITION_FAILED); + } + if ($numberOfImages < 1) { + return new DataResponse(['message' => $this->l->t('Cannot generate less than 1 image')], Http::STATUS_PRECONDITION_FAILED); + } $task = new Task($input, $appId, $numberOfImages, $this->userId, $identifier); try { try { diff --git a/lib/public/TextToImage/Task.php b/lib/public/TextToImage/Task.php index 7b94de0fbb3..ea1b45ef99c 100644 --- a/lib/public/TextToImage/Task.php +++ b/lib/public/TextToImage/Task.php @@ -68,6 +68,12 @@ final class Task implements \JsonSerializable { protected ?string $userId, protected ?string $identifier = '', ) { + if ($this->numberOfImages > 12) { + throw new \ValueError('Cannot generate more than 12 images'); + } + if ($this->numberOfImages < 1) { + throw new \ValueError('Cannot generate less than 1 image'); + } } /**