Erros

Conheça as mensagens de erro e as soluções.

Erros da API

A ElevenLabs usa códigos de status HTTP padrão para indicar o sucesso ou a falha de uma solicitação. Além disso, todas as solicitações à API retornam um objeto JSON com uma propriedade detail que contém informações sobre o erro.

Em geral, um código de status HTTP 200 indica uma solicitação bem-sucedida. Um código 4xx indica um problema com a solicitação, como um parâmetro inválido ou um campo obrigatório ausente. Um código de status HTTP 500 indica um problema nos servidores da ElevenLabs, o que deve ser raro.

Propriedades do erro

PropriedadeDescrição
typeO tipo de erro ocorrido. Consulte a tabela abaixo para ver os valores possíveis.
codeO código do erro. Esses códigos são mais específicos do que o tipo e podem ser usados para determinar a causa do erro.
messageA mensagem do erro. Ela fornece mais detalhes sobre o erro.
statusO status do erro. Este é um campo legado que não é mais usado; use a propriedade code.
request_idO ID da solicitação que causou o erro. É um identificador exclusivo da solicitação que pode ser usado para solucionar o erro.
paramO parâmetro que causou o erro. No caso de um erro de validação, ele indicará qual parâmetro é inválido.

Exemplo de resposta de erro

Esta é a resposta para uma solicitação à API que usou um ID de modelo incorreto:

{
"detail": {
"type": "validation_error",
"code": "invalid_parameters",
"message": "The 'keyterms' parameter is only supported with the 'scribe_v2' model. You specified 'scribe_v1'.",
"status": "invalid_parameters",
"request_id": "3c807fc4c3a1705f9638ecc764a91c01",
"param": "keyterms"
}
}

Usando as propriedades do erro, podemos ver que se trata de um erro de validação e que o código é invalid_parameters. A mensagem fornece mais detalhes sobre o erro, e o request_id é um identificador exclusivo da solicitação que pode ser usado para solucionar o erro. A propriedade param indica o parâmetro que causou o erro.

Tratamento de erros no SDK

Os SDKs da ElevenLabs oferecem classes de erro tipadas que dão acesso aos detalhes do erro.

from elevenlabs import ElevenLabs
from elevenlabs.core import ApiError
elevenlabs = ElevenLabs()
try:
audio = elevenlabs.text_to_speech.convert(
voice_id="invalid-voice-id",
model_id="eleven_v4",
text="Hello, world!",
)
except ApiError as e:
print(f"Status code: {e.status_code}")
# Access the error body
if e.body and "detail" in e.body:
detail = e.body["detail"]
print(f"Error type: {detail.get('type')}")
print(f"Error code: {detail.get('code')}")
print(f"Message: {detail.get('message')}")
print(f"Request ID: {detail.get('request_id')}")
# Handle specific error types
if detail.get("type") == "rate_limit_error":
print("Rate limited - implement exponential backoff")
elif detail.get("type") == "authentication_error":
print("Check your API key")

Limite de taxa e simultaneidade

Se você receber um código de status HTTP 429, isso significa que fez muitas solicitações em um curto período e excedeu o limite de taxa do endpoint da API, ou que excedeu o limite de simultaneidade do endpoint da API. O code do erro será rate_limit_exceeded ou concurrent_limit_exceeded, respectivamente.

No caso de limite de taxa, você deve implementar backoff exponencial no código ao receber um erro 429. Isso significa adicionar um atraso antes de tentar a solicitação novamente.

No caso de simultaneidade, você deve aguardar a conclusão das solicitações atuais antes de fazer novas. Consulte a seção Simultaneidade e prioridade para mais informações.

Tipos de erro

Um erro vem com uma propriedade type que indica o tipo de erro ocorrido. Consulte a tabela abaixo para ver os valores possíveis.

TipoDescriçãoCódigo de status HTTP
validation_errorA solicitação contém valores de parâmetros inválidos.400
invalid_requestA estrutura da solicitação está malformada ou faltam campos obrigatórios.400
authentication_errorA autenticação falhou: chave ou token da API inválido ou ausente.401
payment_requiredO usuário não tem créditos suficientes ou é necessário efetuar pagamento.402
authorization_errorO usuário autenticado não tem as permissões necessárias para esta ação.403
not_foundO recurso solicitado não foi encontrado.404
conflictA solicitação entra em conflito com o estado atual do recurso.409
rate_limit_errorMuitas solicitações: tente novamente mais tarde.429
internal_errorOcorreu um erro inesperado no servidor.500
service_unavailableO serviço está temporariamente indisponível; isso deve ocorrer raramente.503

Códigos de erro

CódigoTipoDescrição
voice_not_foundnot_foundO ID de voz especificado não existe. Verifique o ID de voz e tente novamente.
sample_not_foundnot_foundA amostra de voz especificada não foi encontrada.
voice_collection_not_foundnot_foundA coleção de vozes especificada não existe.
user_not_foundnot_foundO usuário especificado não foi encontrado.
auth_account_not_foundnot_foundA conta de autenticação não foi encontrada.
workspace_not_foundnot_foundO espaço de trabalho especificado não existe.
project_not_foundnot_foundO projeto especificado não foi encontrado.
history_item_not_foundnot_foundO item de histórico especificado não existe.
collection_not_foundnot_foundA coleção especificada não foi encontrada.
document_not_foundnot_foundO documento especificado não existe.
file_not_foundnot_foundO arquivo especificado não foi encontrado.
conversation_not_foundnot_foundA conversa especificada não existe.
agent_not_foundnot_foundO agente especificado não foi encontrado.
dubbing_not_foundnot_foundO projeto de dublagem especificado não existe.
song_not_foundnot_foundA música especificada não foi encontrada.
read_not_foundnot_foundA leitura especificada não foi encontrada.
pronunciation_dictionary_not_foundnot_foundO dicionário de pronúncia especificado não existe.
knowledge_base_not_foundnot_foundA base de conhecimento especificada não foi encontrada.
phone_number_not_foundnot_foundO número de telefone especificado não existe.
tool_not_foundnot_foundA ferramenta especificada não foi encontrada.
snapshot_not_foundnot_foundO snapshot especificado não existe.
task_not_foundnot_foundA tarefa especificada não foi encontrada.
model_not_foundnot_foundO modelo especificado não existe.
transcript_not_foundnot_foundA transcrição especificada não foi encontrada.
keywords_list_not_foundnot_foundA lista de palavras-chave especificada não foi encontrada.
category_not_foundnot_foundA categoria especificada não foi encontrada.
text_too_longvalidation_errorO texto fornecido excede o tamanho máximo permitido.
text_too_shortvalidation_errorO texto fornecido é menor que o tamanho mínimo exigido.
invalid_textvalidation_errorO texto fornecido contém caracteres ou formatação inválidos.
empty_textvalidation_errorO campo de texto não pode estar vazio.
invalid_parametersvalidation_error

Um ou mais parâmetros da solicitação são inválidos. Verifique a propriedade param para identificar o parâmetro inválido.

missing_required_fieldvalidation_error

Está faltando um campo obrigatório na solicitação. Verifique a propriedade param para identificar o campo ausente.

invalid_voice_settingsvalidation_error

As configurações de voz contêm valores inválidos. Verifique a propriedade param para identificar as configurações de voz inválidas.

invalid_voice_idvalidation_errorO formato do ID de voz é inválido.
unsupported_modelvalidation_errorO modelo especificado não é compatível com esta operação.
invalid_audiovalidation_errorO áudio fornecido é inválido ou está corrompido.
invalid_audio_formatvalidation_errorO formato de áudio especificado não é compatível.
invalid_output_formatvalidation_errorO formato de saída solicitado não é compatível.
audio_too_longvalidation_errorO áudio excede a duração máxima permitida.
audio_too_shortvalidation_errorO áudio é mais curto que a duração mínima exigida.
invalid_file_typevalidation_errorO tipo de arquivo não é compatível.
invalid_page_sizevalidation_errorO parâmetro de tamanho da página está fora do intervalo permitido.
invalid_cursorvalidation_errorO cursor de paginação é inválido ou expirou.
bad_requestinvalid_requestO servidor não conseguiu entender a solicitação.
malformed_jsoninvalid_requestO corpo da solicitação contém JSON inválido.
invalid_content_typeinvalid_requestO cabeçalho Content-Type está ausente ou é inválido.
request_too_largeinvalid_requestO corpo da solicitação excede o tamanho máximo permitido.
invalid_api_keyauthentication_errorA chave de API fornecida é inválida.
missing_api_keyauthentication_errorNenhuma chave de API foi fornecida na solicitação.
invalid_authorization_headerauthentication_errorO formato do cabeçalho Authorization é inválido.
unauthorizedauthentication_errorÉ necessário autenticar-se para acessar este recurso.
sign_in_requiredauthentication_errorVocê precisa estar conectado para realizar esta ação.
forbiddenauthorization_errorO acesso a este recurso é proibido.
insufficient_permissionsauthorization_errorVocê não tem as permissões necessárias para esta ação.
workspace_access_deniedauthorization_errorVocê não tem acesso a este espaço de trabalho.
feature_not_availableauthorization_errorEste recurso não está disponível no seu plano atual.
subscription_requiredauthorization_errorÉ necessária uma assinatura paga para acessar este recurso.
voice_access_deniedauthorization_errorVocê não tem acesso a esta voz.
model_access_deniedauthorization_errorVocê não tem acesso a este modelo.
conflictconflictOcorreu um conflito.
resource_already_existsconflictJá existe um recurso com o mesmo identificador.
voice_already_existsconflictJá existe uma voz com este nome.
already_runningconflictA operação já está em execução.
already_processingconflictO recurso já está sendo processado.
concurrent_modificationconflictO recurso foi modificado por outra solicitação. Tente novamente com a versão mais recente.
slug_already_existsconflictJá existe um recurso com este slug.
rate_limit_exceededrate_limit_errorMuitas solicitações. Aguarde antes de tentar novamente.
concurrent_limit_exceededrate_limit_error

O número máximo de solicitações simultâneas foi excedido. Planos de assinatura superiores têm um limite de simultaneidade maior.

system_busyrate_limit_errorO sistema está ocupado no momento. Tente novamente mais tarde.
insufficient_creditspayment_requiredSua conta não tem créditos suficientes para esta operação.
internal_errorinternal_errorOcorreu um erro inesperado. Entre em contato com o suporte se ele persistir.
service_unavailableservice_unavailableO serviço está temporariamente indisponível. Tente novamente mais tarde.
maintenanceservice_unavailableO serviço está passando por manutenção programada.