Skip to main content
Se você não tiver uma conta Novita, cadastre-se primeiro. Para detalhes, consulte o guia de início rápido. Este artigo usa a imagem de worker do ComfyUI novitalabs/comfyui-worker:v0.0.1 como exemplo para mostrar como criar e chamar um Endpoint Serverless Assíncrono.

1. Preparar a imagem do contêiner

Empacote seu ambiente de execução em uma imagem Docker e faça o upload para um registro de imagens com antecedência. Registros de imagens públicos e privados são compatíveis. Registros privados exigem credenciais para pull da imagem. Este exemplo usa novitalabs/comfyui-worker:v0.0.1. A imagem inclui o ComfyUI e o SDK de worker da Novita. A entrada da tarefa é um JSON de workflow do ComfyUI, e o handler do worker retorna os resultados das imagens geradas. Recomendamos configurar variáveis de ambiente de armazenamento de objetos, como BUCKET_ENDPOINT_URL, para que imagens e vídeos gerados possam ser enviados para seu bucket e retornados como URLs na saída do job.

2. Selecionar especificação da instância

Atualmente, o Endpoint Serverless Assíncrono oferece suporte aos seguintes tipos de instância de GPU:
  • RTX 4090 24GB
  • H100 SXM 80GB
Para este exemplo comfyui-worker, recomendamos RTX 4090 24GB. Para requisitos adicionais, entre em contato conosco.

3. Criar armazenamento em nuvem (opcional)

Se você precisar de armazenamento compartilhado ou persistente, crie um armazenamento em nuvem na página de gerenciamento de armazenamento e, em seguida, monte o armazenamento ao criar o endpoint. Para detalhes, consulte Gerenciar armazenamento em nuvem.

4. Criar Endpoint

  1. Acesse a página GPUs Serverless Assíncronas, selecione um tipo de instância e clique em “Criar Endpoint”.
  2. Conclua a configuração dos parâmetros do Endpoint.
  • Nome do Endpoint: usado para identificar exclusivamente o Endpoint. Ele faz parte da URL ao criar jobs. O sistema gera um nome padrão aleatório. Você pode personalizá-lo, mas é recomendado usar o nome padrão.
  • Configuração do worker
Item de configuraçãoDescrição
Número mínimo de workersO número mínimo de instâncias de worker a serem mantidas para o Endpoint. Definir um mínimo mais alto ajuda a reduzir o tempo de cold start. Se definido como 0, não haverá workers ociosos quando não houver solicitações, o que pode aumentar a latência de resposta para novas solicitações. Use 0 com cautela em cenários sensíveis à latência.
Número máximo de workersO número máximo de instâncias de worker para o qual o Endpoint pode escalar. Quando o volume de solicitações aumenta, a plataforma aumenta automaticamente o número de workers até esse máximo. Esse limite ajuda a controlar custos.
Tempo limite de ociosidade (segundos)Quando um worker está prestes a ser liberado devido à redução de escala, a plataforma o mantém pelo tempo limite de ociosidade configurado para que ele possa responder rapidamente a novas solicitações. Você é cobrado pelo worker durante esse período.
Máximo de solicitações simultâneasO número máximo de solicitações simultâneas tratadas por um worker. Se esse número for excedido, as solicitações serão roteadas para outros workers. Se todos os workers estiverem totalmente ocupados, as solicitações excedentes serão enfileiradas até que a execução seja possível.
GPUs / workerNúmero de placas de GPU alocadas para cada worker.
Versão do CUDAVersão do CUDA usada pelo worker.
Para este exemplo, selecione RTX 4090 24GB e defina GPUs / Worker como 1.
  • Tipo:
    • Selecione Assíncrono.
  • Política elástica:
    • Selecione Política de enfileiramento de solicitações.
    • Defina Concorrência-alvo de um único worker como 1. O worker do ComfyUI neste exemplo processa um job por vez. Quando as solicitações enfileiradas excedem a capacidade atual dos workers, a plataforma escala os workers com base na contagem de solicitações na fila até atingir o número máximo de workers.
  • Configuração da imagem:
    • Endereço da imagem: novitalabs/comfyui-worker:v0.0.1.
    • Credenciais do repositório de imagens: se a imagem for privada, forneça credenciais para pull da imagem. Você pode criar credenciais na página de gerenciamento de credenciais de segurança.
    • Porta HTTP: porta HTTP do worker.
    • Comando de inicialização do contêiner: comando executado quando o contêiner é iniciado.
  • Configuração de armazenamento:
    • Disco do sistema: tamanho do disco do sistema por instância de worker.
    • Armazenamento em nuvem: selecione o armazenamento em nuvem se precisar montá-lo. Para detalhes, consulte Gerenciar armazenamento em nuvem.
  • Outros:
    • Caminho de verificação de integridade: este parâmetro não está habilitado no momento.
    • Variáveis de ambiente: defina as variáveis de ambiente exigidas pelo serviço. Exemplo de configuração S3:
Ao usar comfyui-worker, recomendamos fortemente configurar o armazenamento de objetos para que as imagens de saída sejam enviadas para um bucket e retornadas como URLs.
  1. Revise os preços e clique em “Implantar com um clique”.

5. Acessar o serviço

  1. Na página GPUs Serverless Assíncronas, encontre o Endpoint recém-criado e verifique se seu status é “Em execução”.
  2. Certifique-se de que pelo menos um Worker no Endpoint esteja em execução.
  3. Certifique-se de ter uma Chave de API para autenticação. O criador do Endpoint e o proprietário da Chave de API devem pertencer à mesma equipe.
Você precisa das seguintes informações para chamar um Endpoint Serverless Assíncrono: Obter uma Chave de API:
  1. Faça login no console da Novita.
  2. Acesse a página API Key / Gerenciamento de chaves.
  3. Crie uma Chave de API e copie o valor sk_... gerado.
  4. Certifique-se de que o proprietário da Chave de API e o proprietário do Endpoint estejam na mesma equipe.

5.1 Criar um job e recuperar a saída via Curl

A solicitação a seguir é um exemplo executável de comfyui-worker e corresponde ao caso testado. Substitua 0f43a6867e05fddd na URL pelo nome real do seu Endpoint e substitua sk_xxxx pela sua Chave de API real.
O tamanho máximo de job aceito pelo Endpoint Serverless Assíncrono é 4 MiB.
Exemplo de resposta, em que id é o job_id:
Verificar o status do job e recuperar resultados
O tamanho máximo de saída retornado pela API status do Endpoint Serverless Assíncrono é 4 MiB. Para evitar essa limitação, configure variáveis de ambiente de armazenamento de objetos e retorne URLs dos arquivos enviados na saída.Os resultados do job são mantidos no Endpoint Serverless Assíncrono por até 6 horas após a conclusão.
Cancelar job
Verificar status da fila de jobs do Endpoint
Exemplo de resposta:

5.2 Criar job e obter resultados via SDK da Novita

Instale o SDK:
A URL de solicitação padrão do SDK novita-gpus é https://async-public.serverless.novita.ai/v1.

6. Gerenciar Endpoint Serverless Assíncrono

Consulte Gerenciar Endpoint Serverless.
Última modificação em 10 de agosto de 2026