-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: added TextToImageSingle TaskType the to TaskProcessing API
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
- Loading branch information
Showing
4 changed files
with
95 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
/** | ||
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors | ||
* SPDX-License-Identifier: AGPL-3.0-or-later | ||
*/ | ||
|
||
namespace OCP\TaskProcessing\TaskTypes; | ||
|
||
use OCP\IL10N; | ||
use OCP\L10N\IFactory; | ||
use OCP\TaskProcessing\EShapeType; | ||
use OCP\TaskProcessing\ITaskType; | ||
use OCP\TaskProcessing\ShapeDescriptor; | ||
|
||
/** | ||
* This is the task processing task type for image generation | ||
* @since 30.0.0 | ||
*/ | ||
class TextToImageSingle implements ITaskType { | ||
/** | ||
* @since 30.0.0 | ||
*/ | ||
public const ID = 'core:text2image:single'; | ||
|
||
private IL10N $l; | ||
|
||
/** | ||
* @param IFactory $l10nFactory | ||
* @since 30.0.0 | ||
*/ | ||
public function __construct( | ||
IFactory $l10nFactory, | ||
) { | ||
$this->l = $l10nFactory->get('core'); | ||
} | ||
|
||
|
||
/** | ||
* @inheritDoc | ||
* @since 30.0.0 | ||
*/ | ||
public function getName(): string { | ||
return $this->l->t('Generate image'); | ||
} | ||
|
||
/** | ||
* @inheritDoc | ||
* @since 30.0.0 | ||
*/ | ||
public function getDescription(): string { | ||
return $this->l->t('Generate an image from a text prompt'); | ||
} | ||
|
||
/** | ||
* @return string | ||
* @since 30.0.0 | ||
*/ | ||
public function getId(): string { | ||
return self::ID; | ||
} | ||
|
||
/** | ||
* @return ShapeDescriptor[] | ||
* @since 30.0.0 | ||
*/ | ||
public function getInputShape(): array { | ||
return [ | ||
'input' => new ShapeDescriptor( | ||
$this->l->t('Prompt'), | ||
$this->l->t('Describe the image you want to generate'), | ||
EShapeType::Text | ||
) | ||
]; | ||
} | ||
|
||
/** | ||
* @return ShapeDescriptor[] | ||
* @since 30.0.0 | ||
*/ | ||
public function getOutputShape(): array { | ||
return [ | ||
'images' => new ShapeDescriptor( | ||
$this->l->t('Output image'), | ||
$this->l->t('The generated image'), | ||
EShapeType::Image | ||
), | ||
]; | ||
} | ||
} |