Skip to main content

Visão geral

Todos os pedidos de geração seguem o mesmo ciclo de vida básico: Diagrama do ciclo de vida das tarefas

Estados das tarefas

queued A tarefa está a aguardar na fila para ser processada backlogged A tarefa está a aguardar por causa do seu limite atual de concorrência scheduled A tarefa foi aceite e agendada para processamento processing A tarefa está a ser processada ativamente por um worker sampling A tarefa está a gerar amostras de saída intermediate-complete A tarefa tem um resultado intermédio e pode continuar o processamento completed A tarefa terminou com sucesso, o resultado está disponível em result.urls failed A tarefa falhou devido a um erro, com detalhes em result.error cancelled A tarefa foi cancelada pelo utilizador ou pelo sistema

Falhas e cancelamento

As tarefas podem falhar por várias razões:
  • Erros de API do serviço de geração
  • Parâmetros inválidos ou configurações não suportadas
  • Moderação de conteúdo (filtragem NSFW)
  • Deteção automática de timeout (3 minutos para ferramentas alojadas, 2 horas para fornecedores externos)
Para cancelar uma tarefa: envie um pedido DELETE para /jobs/{id}. Nota: as tarefas só podem ser canceladas enquanto tiverem o estado queued ou processing.
Importante: as tarefas falhadas e canceladas não são faturadas. Só paga pelas tarefas concluídas.

Verificar o estado da tarefa

Consulte o estado da tarefa usando um pedido GET para /jobs/{id}. Práticas recomendadas:
  • Consulte a cada 2 a 5 segundos enquanto a tarefa está pendente (backlogged, queued, scheduled, processing, sampling ou intermediate-complete)
  • Utilize backoff exponencial para tarefas de execução mais longa
  • Pare de consultar quando o estado for completed, failed ou cancelled
  • Algumas tarefas podem incluir imagens de pré-visualização nas respostas durante o estado processing
Exemplo de implementação de polling:
// npm install @krea-ai/sdk
import { Krea } from "@krea-ai/sdk";

const krea = new Krea({ apiKey: process.env.KREA_API_KEY });

async function waitForJob(jobId) {
  const job = await krea.jobs.wait(jobId, { intervalMs: 2000 });
  return job.result;
}

Próximos passos

Webhooks

Receba notificações quando as tarefas terminarem

Limites de taxa

Compreenda os limites da API por nível de plano

APIs de modelos

Explore todos os endpoints e parâmetros disponíveis

Chaves de API e faturação

Crie e faça a gestão das suas chaves de API