diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts
index 5e74be6422..02484e498b 100644
--- a/src/lib/stores/marketplace.ts
+++ b/src/lib/stores/marketplace.ts
@@ -902,6 +902,698 @@ export const marketplace: MarketplaceTemplate[] = [
type: 'text'
}
]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'text-generation-with-huggingface',
+ name: 'Text generation',
+ tagline: 'Generate text using the Hugging Face inference API.',
+ permissions: ['any'],
+ events: [],
+ cron: '',
+ timeout: 30,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install',
+ 'src/main.js',
+ 'node/text-generation-with-huggingface'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'HUGGINGFACE_ACCESS_TOKEN',
+ description: `Secret for sending requests to the Hugging Face API. Learn more.`,
+ placeholder: 'hf_MUvn...',
+ required: true,
+ type: 'password'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'language-translation-with-huggingface',
+ name: 'Language translation',
+ tagline: 'Translate text using the Hugging Face inference API.',
+ permissions: ['any'],
+ events: [],
+ cron: '',
+ timeout: 30,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install',
+ 'src/main.js',
+ 'node/language-translation-with-huggingface'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'HUGGINGFACE_ACCESS_TOKEN',
+ description: `Secret for sending requests to the Hugging Face API. Learn more.`,
+ placeholder: 'hf_MUvn...',
+ required: true,
+ type: 'password'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'image-classification-with-huggingface',
+ name: 'Image classification',
+ tagline: 'Classify images using the Hugging Face inference API.',
+ permissions: ['any'],
+ events: ['buckets.*.files.*.create'],
+ cron: '',
+ timeout: 15,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install && npm run setup',
+ 'src/main.js',
+ 'node/image-classification-with-huggingface'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'APPWRITE_API_KEY',
+ description: `The API Key to authenticate against Appwrite's Server APIs. Learn more.`,
+ value: '',
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'APPWRITE_ENDPOINT',
+ description: `The URL endpoint of the Appwrite server. Learn more.`,
+ value: 'https://cloud.appwrite.io/v1',
+ placeholder: 'https://cloud.appwrite.io/v1',
+ required: false,
+ type: 'url'
+ },
+ {
+ name: 'APPWRITE_DATABASE_ID',
+ description: `The ID of the database where the responses are stored. Learn more.`,
+ value: 'ai',
+ placeholder: 'ai',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_COLLECTION_ID',
+ description: `The ID of the collection where the responses are stored. Learn more.`,
+ value: 'image_classification',
+ placeholder: 'image_classification',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_BUCKET_ID',
+ description: `The ID of the bucket where the images are stored. Learn more.`,
+ value: 'image_classification',
+ placeholder: 'image_classification',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'HUGGINGFACE_ACCESS_TOKEN',
+ description: `Secret for sending requests to the Hugging Face API. Learn more.`,
+ placeholder: 'hf_MUvn...',
+ required: true,
+ type: 'password'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'object-detection-with-huggingface',
+ name: 'Object detection',
+ tagline: 'Detect objects in images using the Hugging Face inference API.',
+ permissions: ['any'],
+ events: ['buckets.*.files.*.create'],
+ cron: '',
+ timeout: 15,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install && npm run setup',
+ 'src/main.js',
+ 'node/object-detection-with-huggingface'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'APPWRITE_API_KEY',
+ description: `The API Key to authenticate against Appwrite's server APIs. Learn more.`,
+ value: '',
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'APPWRITE_ENDPOINT',
+ description: `The URL endpoint of the Appwrite server. Learn more.`,
+ value: 'https://cloud.appwrite.io/v1',
+ placeholder: 'https://cloud.appwrite.io/v1',
+ required: false,
+ type: 'url'
+ },
+ {
+ name: 'APPWRITE_DATABASE_ID',
+ description: `The ID of the database where the responses are stored. Learn more.`,
+ value: 'ai',
+ placeholder: 'ai',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_COLLECTION_ID',
+ description: `The ID of the collection where the responses are stored. Learn more.`,
+ value: 'object_detection',
+ placeholder: 'object_detection',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_BUCKET_ID',
+ description: `The ID of the bucket where the images are stored. Learn more.`,
+ value: 'object_detection',
+ placeholder: 'object_detection',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'HUGGINGFACE_ACCESS_TOKEN',
+ description: `Secret for sending requests to the Hugging Face API. Learn more.`,
+ placeholder: 'hf_MUvn...',
+ required: true,
+ type: 'password'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'speech-recognition-with-huggingface',
+ name: 'Speech recognition',
+ tagline: 'Transcribe audio to text using the Hugging Face inference API.',
+ permissions: ['any'],
+ events: ['buckets.*.files.*.create'],
+ cron: '',
+ timeout: 15,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install && npm run setup',
+ 'src/main.js',
+ 'node/speech-recognition-with-huggingface'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'APPWRITE_API_KEY',
+ description: `The API Key to authenticate against Appwrite's server APIs. Learn more.`,
+ value: '',
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'APPWRITE_ENDPOINT',
+ description: `The URL endpoint of the Appwrite server. Learn more.`,
+ value: 'https://cloud.appwrite.io/v1',
+ placeholder: 'https://cloud.appwrite.io/v1',
+ required: false,
+ type: 'url'
+ },
+ {
+ name: 'APPWRITE_DATABASE_ID',
+ description: `The ID of the database where the responses are stored. Learn more.`,
+ value: 'ai',
+ placeholder: 'ai',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_COLLECTION_ID',
+ description: `The ID of the collection where the responses are stored. Learn more.`,
+ value: 'speech_recognition',
+ placeholder: 'speech_recognition',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_BUCKET_ID',
+ description: `The ID of the bucket where audio is stored. Learn more.`,
+ value: 'speech_recognition',
+ placeholder: 'speech_recognition',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'HUGGINGFACE_ACCESS_TOKEN',
+ description: `Secret for sending requests to the Hugging Face API. Learn more.`,
+ placeholder: 'hf_MUvn...',
+ required: true,
+ type: 'password'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'text-to-speech-with-huggingface',
+ name: 'Text to speech',
+ tagline: 'Convert text to speech using the Hugging Face inference API.',
+ permissions: ['any'],
+ events: ['databases.*.collections.*.documents.*.create'],
+ cron: '',
+ timeout: 15,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install && npm run setup',
+ 'src/main.js',
+ 'node/text-to-speech-with-huggingface'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'APPWRITE_API_KEY',
+ description: `The API Key to authenticate against Appwrite's server APIs. Learn more.`,
+ value: '',
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'APPWRITE_ENDPOINT',
+ description: `The URL endpoint of the Appwrite server. Learn more.`,
+ value: 'https://cloud.appwrite.io/v1',
+ placeholder: 'https://cloud.appwrite.io/v1',
+ required: false,
+ type: 'url'
+ },
+ {
+ name: 'APPWRITE_DATABASE_ID',
+ description: `The ID of the database where the responses are stored. Learn more.`,
+ value: 'ai',
+ placeholder: 'ai',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_COLLECTION_ID',
+ description: `The ID of the collection where the responses are stored. Learn more.`,
+ value: 'speech_recognition',
+ placeholder: 'speech_recognition',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_BUCKET_ID',
+ description: `The ID of the bucket where audio is stored. Learn more.`,
+ value: 'speech_recognition',
+ placeholder: 'speech_recognition',
+ required: false,
+ type: 'text'
+ },
+ {
+ name: 'HUGGINGFACE_ACCESS_TOKEN',
+ description: `Secret for sending requests to the Hugging Face API. Learn more.`,
+ placeholder: 'hf_MUvn...',
+ required: true,
+ type: 'password'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'generate-with-replicate',
+ name: 'Generate with Replicate',
+ tagline: "Generate text, audio and images using Replicate's API.",
+ permissions: ['any'],
+ events: [],
+ cron: '',
+ timeout: 300,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install',
+ 'src/main.js',
+ 'node/generate-with-replicate'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'REPLICATE_API_KEY',
+ description: `A unique key used to authenticate with the Replicate API. Learn more.`,
+ value: '',
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'chat-with-perplexity-ai',
+ name: 'Chat with Perplexity AI',
+ tagline: 'Create a chatbot using the Perplexity AI API.',
+ permissions: ['any'],
+ events: [],
+ cron: '',
+ timeout: 15,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install',
+ 'src/main.js',
+ 'node/chat-with-perplexity-ai'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'PERPLEXITY_API_KEY',
+ description: `A unique key used to authenticate with the Perplexity API. Learn more.`,
+ placeholder: `pplex-68...999`,
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'PERPLEXITY_MAX_TOKENS',
+ description: `The maximum number of tokens to generate. Learn more.`,
+ placeholder: `512`,
+ required: false,
+ type: 'number'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'generate-with-replicate',
+ name: 'Generate with Replicate',
+ tagline: "Generate text, audio and images using Replicate's API.",
+ permissions: ['any'],
+ events: [],
+ cron: '',
+ timeout: 300,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install',
+ 'src/main.js',
+ 'node/generate-with-replicate'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'REPLICATE_API_KEY',
+ description: `A unique key used to authenticate with the Replicate API. Learn more.`,
+ value: '',
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'sync-with-pinecone',
+ name: 'Sync with Pinecone',
+ tagline: "Sync your Appwrite database with Pinecone's vector database.",
+ permissions: ['any'],
+ events: [],
+ cron: '',
+ timeout: 30,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install',
+ 'src/main.js',
+ 'node/sync-with-pinecone'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'OPENAI_API_KEY',
+ description: `A unique key used to authenticate with the OpenAI API. This is a paid service and you will be charged for each request made to the API. Learn more.`,
+ value: '',
+ placeholder: 'sk-wzG...vcy',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'PINECONE_API_KEY',
+ description: `A unique key used to authenticate with the Pinecone API. Learn more.`,
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'PINECONE_INDEX_NAME',
+ description: `The name of the index in Pinecone. Learn more.`,
+ placeholder: 'my-index',
+ required: true,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_API_KEY',
+ description: `The API Key to authenticate against Appwrite's server APIs. Learn more.`,
+ value: '',
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'APPWRITE_ENDPOINT',
+ description: `The URL endpoint of the Appwrite server. Learn more.`,
+ value: 'https://cloud.appwrite.io/v1',
+ placeholder: 'https://cloud.appwrite.io/v1',
+ required: false,
+ type: 'url'
+ },
+ {
+ name: 'APPWRITE_DATABASE_ID',
+ description: `The ID of the database where the documents are stored. Learn more.`,
+ placeholder: 'my-database',
+ required: true,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_COLLECTION_ID',
+ description: `The ID of the collection where the documents are stored. Learn more.`,
+ placeholder: 'my-collection',
+ required: true,
+ type: 'text'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'rag-with-langchain',
+ name: 'RAG with LangChain',
+ tagline: 'Generate text using a LangChain RAG model',
+ permissions: ['any'],
+ events: [],
+ cron: '',
+ timeout: 30,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install',
+ 'src/main.js',
+ 'node/rag-with-langchain'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'OPENAI_API_KEY',
+ description: `A unique key used to authenticate with the OpenAI API. This is a paid service and you will be charged for each request made to the API. Learn more.`,
+ value: '',
+ placeholder: 'sk-wzG...vcy',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'PINECONE_API_KEY',
+ description: `A unique key used to authenticate with the Pinecone API. Learn more.`,
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'PINECONE_INDEX_NAME',
+ description: `The name of the index in Pinecone. Learn more.`,
+ placeholder: 'my-index',
+ required: true,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_API_KEY',
+ description: `The API Key to authenticate against Appwrite's server APIs. Learn more.`,
+ value: '',
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'APPWRITE_ENDPOINT',
+ description: `The URL endpoint of the Appwrite server. Learn more.`,
+ value: 'https://cloud.appwrite.io/v1',
+ placeholder: 'https://cloud.appwrite.io/v1',
+ required: false,
+ type: 'url'
+ },
+ {
+ name: 'APPWRITE_DATABASE_ID',
+ description: `The ID of the database where the documents are stored. Learn more.`,
+ placeholder: 'my-database',
+ required: true,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_COLLECTION_ID',
+ description: `The ID of the collection where the documents are stored. Learn more.`,
+ placeholder: 'my-collection',
+ required: true,
+ type: 'text'
+ }
+ ]
+ },
+ {
+ icon: 'icon-chip',
+ id: 'speak-with-elevenlabs',
+ name: 'Speak with ElevenLabs',
+ tagline: 'Convert text to speech using the ElevenLabs API.',
+ permissions: ['any'],
+ cron: '',
+ events: [],
+ timeout: 15,
+ usecases: ['AI'],
+ runtimes: [
+ ...getRuntimes(
+ TemplateRuntimes.NODE,
+ 'npm install',
+ 'src/main.js',
+ 'node/speak-with-elevenlabs'
+ )
+ ],
+ instructions: `For documentation and instructions check out file.`,
+ vcsProvider: 'github',
+ providerRepositoryId: 'templates',
+ providerOwner: 'appwrite',
+ providerBranch: 'main',
+ variables: [
+ {
+ name: 'ELEVENLABS_API_KEY',
+ description: `A unique key used to authenticate with the ElevenLabs API. Learn more.`,
+ placeholder: 'd03xxxxxxxx26',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'APPWRITE_API_KEY',
+ description: `The API Key to authenticate against Appwrite's server APIs. Learn more.`,
+ value: '',
+ placeholder: 'd1efb...aec35',
+ required: true,
+ type: 'password'
+ },
+ {
+ name: 'APPWRITE_ENDPOINT',
+ description: `The URL endpoint of the Appwrite server. Learn more.`,
+ value: 'https://cloud.appwrite.io/v1',
+ placeholder: 'https://cloud.appwrite.io/v1',
+ required: false,
+ type: 'url'
+ },
+ {
+ name: 'APPWRITE_DATABASE_ID',
+ description: `The ID of the database where the responses are stored. Learn more.`,
+ placeholder: 'my-database',
+ required: true,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_COLLECTION_ID',
+ description: `The ID of the collection where the responses are stored. Learn more.`,
+ placeholder: 'my-collection',
+ required: true,
+ type: 'text'
+ },
+ {
+ name: 'APPWRITE_BUCKET_ID',
+ description: `The ID of the bucket where audio is stored. Learn more.`,
+ placeholder: 'generated_speech',
+ required: true,
+ type: 'text'
+ }
+ ]
}
];