aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/TextToImage/IProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/public/TextToImage/IProvider.php')
-rw-r--r--lib/public/TextToImage/IProvider.php49
1 files changed, 49 insertions, 0 deletions
diff --git a/lib/public/TextToImage/IProvider.php b/lib/public/TextToImage/IProvider.php
new file mode 100644
index 00000000000..4a278a0d706
--- /dev/null
+++ b/lib/public/TextToImage/IProvider.php
@@ -0,0 +1,49 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+namespace OCP\TextToImage;
+
+use RuntimeException;
+
+/**
+ * This is the interface that is implemented by apps that
+ * implement a text to image provider
+ * @since 28.0.0
+ * @deprecated 30.0.0
+ */
+interface IProvider {
+ /**
+ * An arbitrary unique text string identifying this provider
+ * @since 28.0.0
+ */
+ public function getId(): string;
+
+ /**
+ * The localized name of this provider
+ * @since 28.0.0
+ */
+ public function getName(): string;
+
+ /**
+ * Processes a text
+ *
+ * @param string $prompt The input text
+ * @param resource[] $resources The file resources to write the images to
+ * @return void
+ * @since 28.0.0
+ * @throws RuntimeException If the text could not be processed
+ */
+ public function generate(string $prompt, array $resources): void;
+
+ /**
+ * The expected runtime for one task with this provider in seconds
+ * @since 28.0.0
+ */
+ public function getExpectedRuntime(): int;
+}