Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(platform): WIP Elevenlabs Integration #9623

Draft
wants to merge 1 commit into
base: swiftyos/example-block
Choose a base branch
from

Conversation

Swiftyos
Copy link
Contributor

This is a WIP example not to be merged

@github-actions github-actions bot added platform/frontend AutoGPT Platform - Front end platform/backend AutoGPT Platform - Back end platform/blocks size/xl labels Mar 12, 2025
@AutoGPT-Agent
Copy link

PR cannot be approved because it has major deficiencies:

  1. The PR template is not filled out at all - no description of changes, test plan, or checklist items marked
  2. The title indicates this is a WIP (Work in Progress) PR
  3. While the code changes themselves seem well-structured for adding ElevenLabs integration, without proper documentation in the PR description and testing checklist, we cannot verify if everything has been properly tested and validated

Copy link

deepsource-io bot commented Mar 12, 2025

Here's the code health analysis summary for commits 8aba4a5..1b5f2c6. View details on DeepSource ↗.

Analysis Summary

AnalyzerStatusSummaryLink
DeepSource JavaScript LogoJavaScript✅ Success
❗ 52 occurences introduced
🎯 52 occurences resolved
View Check ↗
DeepSource Python LogoPython✅ Success
❗ 13 occurences introduced
🎯 2 occurences resolved
View Check ↗

💡 If you’re a repository administrator, you can configure the quality gates from the settings.

@@ -40,4 +40,5 @@ class ProviderName(str, Enum):
TODOIST = "todoist"
UNREAL_SPEECH = "unreal_speech"
ZEROBOUNCE = "zerobounce"
ELEVENLABS = "elevenlabs"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alphabetize

title="Use Credits for ElevenLabs",
expires_at=None,
)

DEFAULT_CREDENTIALS = [
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missed it here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also at line like 245 same file

@@ -0,0 +1,495 @@
"""
ElevenLabs integration for text-to-speech capabilities.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: i’d just call the file audio

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had intended this to be called `elevenlabs.py`

super().__init__(
id="d923f6a8-beb2-4a57-90e2-b9c2f7e30f91",
description="Convert text to speech using ElevenLabs' high-quality voices.",
categories={BlockCategory.AI, BlockCategory.MULTIMEDIA},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May want a new category for audio if you plan to do a bunch of these

default=0.85,
advanced=True,
)
stream: bool = SchemaField(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Param doesn’t make sense in the design of our system afaik

from backend.util.request import Requests


class ElevenLabsException(Exception):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test to make sure this comes out of the execution correctly.

Make a fake block to raise it

if it doesn’t, search EXCEPTION_MAPPING and add it to the list there

@@ -149,6 +149,7 @@ export const PROVIDER_NAMES = {
TODOIST: "todoist",
ZEROBOUNCE: "zerobounce",
EXAMPLE: "example",
ELEVENLABS: "elevenlabs",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alphabetize

@@ -53,6 +53,7 @@ const providerDisplayNames: Record<CredentialsProviderName, string> = {
unreal_speech: "Unreal Speech",
zerobounce: "ZeroBounce",
example: "Example",
elevenlabs: "ElevenLabs",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alphabetize

@@ -91,6 +91,7 @@ export const providerIcons: Record<
todoist: fallbackIcon,
zerobounce: fallbackIcon,
example: fallbackIcon,
elevenlabs: fallbackIcon,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aside: I do not envy whoever will be charged with tracking all of these down

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform/backend AutoGPT Platform - Back end platform/blocks platform/frontend AutoGPT Platform - Front end size/xl
Projects
Status: 🆕 Needs initial review
Status: No status
Development

Successfully merging this pull request may close these issues.

3 participants