Skip to content

⚡ Write a textToSpeech() Function using Node #4153

@PineappleIOnic

Description

@PineappleIOnic

💭 Introduction

Appwrite Functions allow you to extend and customize your Appwrite server functionality by executing your custom code 🤩 You can learn more in our official Appwrite Functions docs.

The backbone of Appwrite Functions is Open Runtimes, an environment for serverless cloud computing. Since all Open Runtime functions are valid Appwrite functions, we are looking for contributors to extend the Open Runtimes Examples repository.

Your task is to implement textToSpeech() function using Node. Please make sure to look at existing function examples and use them as a template for your function. This will help you keep the proper structure as well as provide information on how to test the function.

⚡ Function Details

Generate spoken audio from a written text. Introduce support for google, aws, as well as azure APIs. If necessary, introduce their secret keys as function variables. Provider to use, language, and a text to convert into audio should be received as payload, and an audio version should be returned in base64 format. If no language is provided, the language should be automatically figured out (if possible). Please use iso639-2 format for language codes.

Example function payload:

{"provider":"aws","language":"en","text":"Hello world."}

Successful function response:

{"success":true,"audio":"iVBORw0KGgoAAAANSUhEUgAAAaQAAALiCAY...QoH9hbkTPQAAAABJRU5ErkJggg=="}

Error function response:

{"success":false,"message":"Target language does not exist in iso639-2 format."}

🎯 Requirements

  • Experience with Appwrite.
  • Experience with Node.
  • Knowledge to implement textToSpeech function.
  • Experience with Docker.

✅ Task Summary

  • Ask to be assigned to the issue.
  • Implement function textToSpeech() in Node/ folder.
  • Manually execute the newly implemented function to ensure it works.
  • Submit a pull request in open-runtimes/examples and include screenshots of successful execution.

If you have questions, need any help, or just want to hang out, make sure to join us on our Discord server.

Happy Appwriting!

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions