Makernice

Gerações com falha não são cobradas

Como a Makernice reserva, cobra e libera valores em cada geração de vídeo e imagem com IA.

A Makernice não cobra por gerações de vídeo ou imagem com IA que falham. Ao criar uma geração, o preço cotado fica reservado no seu saldo pré-pago. A reserva vira cobrança quando a execução termina. Se a execução falhar ou o tempo esgotar, a reserva é liberada por completo. Rejeições da moderação da entrada antes da geração e cancelamentos na fila também liberam a reserva por completo. A única exceção: se um resultado concluído for bloqueado pela moderação por violar a política, a execução ainda é cobrada; você pode pedir revisão manual ao suporte.

Vale para todos os 17 modelos em uma única chave de API. Fonte: Política de Reembolso §2 · Documentação da API: preços e cobrança. Última verificação: 21 de outubro de 2026.

Preços em 4 de novembro de 2026 (versão v12 da tabela de preços).

Como funciona: cotação → reserva → cobrança ou liberação

  1. Cotação. POST /v1/generations/quote retorna o valor exato para o seu modelo, modo, resolução e duração (vídeo é cobrado por segundo; imagem, por imagem). O preço fica travado por 12 minutos (expires_at). Cotar não custa nada e não reserva nada.
  2. Reserva. POST /v1/generations com o quote_id coloca esse valor em reserva; só então algum saldo é reservado, e ele é acertado quando a geração chega a um estado final. A geração começa com status: "queued" e billing: "held". O dinheiro continua no seu saldo; ele só fica reservado.
  3. Cobrança na conclusão. Quando a execução termina, o valor reservado é cobrado (billing: "charged"). O status fica moderating enquanto o resultado é verificado e passa a succeeded quando o arquivo está pronto para baixar.
  4. Liberação em caso de falha. Se terminar como failed ou canceled, a reserva é liberada por completo (billing: "released"). Não há nada para solicitar: acontece automaticamente.
Status final
Status finalbillingO que acontece com seu dinheiro
queued / generatingheldReservado, não cobrado
moderatingchargedCobrado quando a execução termina; o arquivo fica disponível depois que a moderação do resultado aprova
succeededchargedO valor cotado é cobrado quando a execução dá certo
failedreleasedA reserva inteira volta para o seu saldo
canceled (só é possível enquanto queued)releasedA reserva inteira volta para o seu saldo
succeeded, resultado com state: "blocked" (o resultado concluído foi reprovado na moderação)chargedCobrado; sem URL de arquivo. Escreva para support@makernice.com para pedir revisão manual
checkingheldContinua reservado enquanto confirmamos o resultado; cobrado só se a geração for confirmada como bem-sucedida

Uma reserva liberada não é um reembolso. O dinheiro nunca saiu do seu saldo, então não há pedido de reembolso, prazo de espera nem passagem pelo provedor de pagamento.

O que conta como geração com falha?

Segundo nossa Política de Reembolso (§2) e a documentação da API:

O que conta como geração com falha?
O que aconteceuCobrado?O que você vê na APIO que fazer a seguir
O provedor do modelo informa que a geração falhouNão, reserva liberadastatus: "failed", error.code como generation_failed ou upstream_unavailablePeça uma nova cotação e crie uma nova geração; a reserva já voltou para o seu saldo.
A tarefa passa do tempo máximo de execuçãoNão, reserva liberadastatus: "failed", error.code: "timeout"Igual ao anterior.
Um erro interno da Makernice interrompe a tarefaNão, reserva liberadastatus: "failed"Igual ao anterior.
A moderação da entrada rejeita o prompt ou uma imagem de entrada antes da geraçãoNão, reserva liberada (ou nada reservado)error.code: "content_rejected", error.reason = prompt, input_image ou modelAltere o prompt ou a imagem indicados em error.reason (model significa que a política de segurança do próprio provedor do modelo recusou: altere o prompt) e peça uma nova cotação.
Uma imagem de entrada não pode ser usada (inacessível, grande demais, formato errado)Não, reserva liberadaerror.code: "invalid_request", error.input indica a imagemSubstitua a imagem indicada em error.input, peça uma nova cotação e crie uma nova geração.
Você cancela enquanto a geração ainda está queuedNão, reserva liberadastatus: "canceled"
A solicitação é rejeitada antes de existir uma tarefa (chave inválida, corpo inválido, campos ausentes, saldo insuficiente, limite de requisições, cotação divergente)Não, nada é reservadoHTTP 4xx, por exemplo 401 invalid_api_key, 400 invalid_request, 402 insufficient_balance, 429 rate_limitedCorrija o que o código de erro indica; veja Erros.
O resultado é incerto (por exemplo, o provedor não responde)Só se for confirmado como bem-sucedidostatus: "checking", billing: "held"Continue fazendo polling até terminar como succeeded ou failed.
O resultado é gerado, mas bloqueado pela moderação do resultadoSim, cobrado (reembolso só após revisão manual do suporte)billing: "charged", resultado com state: "blocked", URL de arquivo vaziaFale com o suporte para pedir uma revisão manual.
A geração dá certo, mas você não gosta do resultadoSimstatus: "succeeded", billing: "charged"Da próxima vez, teste primeiro um clipe curto em baixa resolução.

Qualidade não é condição de falha: um vídeo ou uma imagem entregue é cobrado, independentemente da sua opinião sobre ele. Por isso, cada página de modelo mostra primeiro o custo de um teste curto em baixa resolução.

Exemplos (versão v12 da tabela de preços, 4 de novembro de 2026)

Na API, os valores são strings em micro-USD (1,000,000 = $1.00).

1 · Um vídeo de 10 segundos do Seedance 2.5 em 720p que excede o tempo limite

  • Cotação: $0.2592/s × 10 s = $2.592 → "amount": "2592000"
  • Criação → billing: "held". Seu saldo disponível aparece $2.592 menor durante a execução.
  • A tarefa passa do tempo máximo → status: "failed", error.code: "timeout", billing: "released".
  • Custo líquido: $0.00. A linha do tempo de /events termina com failed_refunded.
{
  "id": "gen_…",
  "model": "seedance-2.5",
  "status": "failed",
  "amount": "2592000",
  "billing": "released",
  "outputs": [],
  "error": { "code": "timeout", "message": "…" }
}

2 · Um vídeo de 5 segundos do Kling 3.0 Pro que dá certo

  • Cotação: $0.1612/s × 5 s = $0.8064 → "amount": "806400".
  • Criação → reserva → succeeded → billing: "charged". Custo líquido: $0.8064, exatamente o valor cotado, mesmo que os preços tenham mudado durante a execução.

3 · Um rascunho de 5 segundos do MiniMax H3 Max Turbo em 480p de que você não precisa mais

  • Cotação: $0.03/s × 5 s = $0.15. Você cancela enquanto ainda está queued → POST /v1/generations/{id}/cancel → status: "canceled", billing: "released". Custo líquido: $0.00.
  • Se já tivesse começado (generating), o cancelamento retornaria 409 not_cancelable e a execução seguiria até o resultado normal.

4 · Um prompt bloqueado pela moderação

  • Se o prompt for bloqueado no envio, você recebe 422 content_rejected e nada é reservado. Se a política de segurança do provedor o rejeitar depois, a geração termina como failed com error.code: "content_rejected" e a reserva é liberada. Nos dois casos: $0.00.
  • Se o vídeo for gerado, mas o resultado concluído for bloqueado pela moderação do resultado, a execução é cobrada (billing: "charged", resultado com state: "blocked", sem URL de arquivo). Escreva para support@makernice.com para pedir uma revisão.

Tratamento no código (Python)

import time, requests

def wait_for(gen_id, headers, api="https://api.makernice.com/v1"):
    while True:
        gen = requests.get(f"{api}/generations/{gen_id}", headers=headers, timeout=15).json()
        if gen["status"] == "succeeded":
            return gen                       # billing == "charged"
        if gen["status"] in ("failed", "canceled"):
            # billing == "released": the full hold is already back in your balance
            raise RuntimeError(f"{gen['status']}: {gen.get('error')}")
        time.sleep(5)                        # queued / generating / moderating / checking

Prefere webhooks? generation.failed e generation.canceled são enviados depois que o valor reservado é liberado; generation.succeeded, depois que ele é cobrado. Veja Webhooks.

Como evitar cobranças em dobro e limitar o gasto por chave de API?

O que verificar em qualquer API de vídeo com IA antes de integrar

Perguntas para fazer a qualquer API de vídeo com IA antes de construir sobre ela:

  1. Uma execução com falha ou com tempo esgotado é cobrada, cobrada em parte ou não é cobrada?
  2. O dinheiro é cobrado no envio ou quando a execução termina?
  3. Uma rejeição da moderação de conteúdo custa algo, antes e depois da geração?
  4. Dá para cancelar um trabalho na fila, e o dinheiro volta?
  5. O preço é travado antes da execução ou calculado depois?
  6. As novas tentativas são idempotentes, para que um erro de rede não cobre duas vezes?

Na Makernice, as respostas são: não é cobrada · quando a execução termina · não antes da geração (um resultado concluído bloqueado é cobrado) · sim, por completo · travado por uma cotação por 12 minutos · sim.

Perguntas frequentes

A Makernice cobra por gerações de vídeo com IA que falham?

Não. A Makernice reserva o valor cotado quando você cria uma geração. A reserva vira cobrança quando a execução termina. Se a execução falhar ou o tempo esgotar, a reserva é liberada por completo. Rejeições da moderação da entrada antes da geração também liberam a reserva. A única exceção: se um resultado concluído for bloqueado pela moderação por violar a política, a execução ainda é cobrada; você pode pedir revisão manual ao suporte. Isso vale para todos os 17 modelos de vídeo e imagem.

O que conta como geração com falha?

Uma geração é tratada como falha quando o provedor do modelo informa uma falha, a tarefa passa do tempo máximo de execução, um erro interno a interrompe, a moderação da entrada rejeita o prompt ou uma imagem de entrada antes da geração, ou uma imagem de entrada não pode ser usada. Em todos os casos, a reserva é liberada por completo.

Em quanto tempo uma reserva liberada volta para o meu saldo?

Reservas liberadas costumam aparecer no saldo assim que a tarefa termina. Como o dinheiro foi só reservado, e não cobrado, não há pedido de reembolso a fazer nem atraso do provedor de pagamento.

Eu pago se não gostar do resultado?

Sim. Uma geração bem-sucedida é cobrada pelo valor cotado, seja qual for a qualidade, o estilo ou a relevância do resultado. Para reduzir esse risco, teste primeiro um vídeo curto em baixa resolução e use a cotação para ver o preço exato antes de executar.

Posso cancelar uma geração e ter meu dinheiro de volta?

Sim, enquanto ela ainda estiver na fila: cancele com POST /v1/generations/{id}/cancel e a reserva é liberada por completo. Depois que a geração entra em generating, ela não pode ser interrompida, e o cancelamento retorna 409 not_cancelable.

O que acontece se o provedor do modelo não responder?

A geração mostra o status checking e o valor continua reservado enquanto confirmamos o resultado. Você só é cobrado se a geração for confirmada como bem-sucedida; caso contrário, a reserva é liberada.

Uma nova tentativa pode me cobrar duas vezes?

Não. Criar uma geração exige o cabeçalho Idempotency-Key. Repetir a solicitação com a mesma chave, cotação e entrada retorna a geração original e não cobra de novo.

O saldo não usado é reembolsável?

Em princípio, o saldo não usado não é reembolsável, mas ele nunca expira. Recargas duplicadas ou feitas por engano podem ser analisadas: escreva para support@makernice.com (pode escrever em português; respondemos em português com apoio de ferramentas de tradução).

E se o meu resultado for bloqueado pela moderação?

Se a moderação da entrada rejeitar seu prompt ou sua imagem antes da geração, a geração falha e você não é cobrado. Se o vídeo for gerado e o resultado concluído for bloqueado pela moderação do resultado, a execução é cobrada e nenhum arquivo é entregue. Escreva para support@makernice.com e vamos analisar.

Relacionados

Pague pelo resultado, não pelas falhas.

Pré-pago em dólares americanos com cartão (incluindo Apple Pay e Google Pay) ou criptomoedas. Cada recarga vai de $15 a $1,000, e o seu saldo nunca expira.