Gerações com falha não são cobradas
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
- Cotação.
POST /v1/generations/quoteretorna 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. - Reserva.
POST /v1/generationscom oquote_idcoloca 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 comstatus: "queued"ebilling: "held". O dinheiro continua no seu saldo; ele só fica reservado. - Cobrança na conclusão. Quando a execução termina, o valor reservado é cobrado (
billing: "charged"). O status ficamoderatingenquanto o resultado é verificado e passa asucceededquando o arquivo está pronto para baixar. - Liberação em caso de falha. Se terminar como
failedoucanceled, a reserva é liberada por completo (billing: "released"). Não há nada para solicitar: acontece automaticamente.
| Status final | billing | O que acontece com seu dinheiro |
|---|---|---|
queued / generating | held | Reservado, não cobrado |
moderating | charged | Cobrado quando a execução termina; o arquivo fica disponível depois que a moderação do resultado aprova |
succeeded | charged | O valor cotado é cobrado quando a execução dá certo |
failed | released | A reserva inteira volta para o seu saldo |
canceled (só é possível enquanto queued) | released | A reserva inteira volta para o seu saldo |
succeeded, resultado com state: "blocked" (o resultado concluído foi reprovado na moderação) | charged | Cobrado; sem URL de arquivo. Escreva para support@makernice.com para pedir revisão manual |
checking | held | Continua 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 aconteceu | Cobrado? | O que você vê na API | O que fazer a seguir |
|---|---|---|---|
| O provedor do modelo informa que a geração falhou | Não, reserva liberada | status: "failed", error.code como generation_failed ou upstream_unavailable | Peç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ção | Não, reserva liberada | status: "failed", error.code: "timeout" | Igual ao anterior. |
| Um erro interno da Makernice interrompe a tarefa | Não, reserva liberada | status: "failed" | Igual ao anterior. |
| A moderação da entrada rejeita o prompt ou uma imagem de entrada antes da geração | Não, reserva liberada (ou nada reservado) | error.code: "content_rejected", error.reason = prompt, input_image ou model | Altere 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 liberada | error.code: "invalid_request", error.input indica a imagem | Substitua 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á queued | Não, reserva liberada | status: "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 é reservado | HTTP 4xx, por exemplo 401 invalid_api_key, 400 invalid_request, 402 insufficient_balance, 429 rate_limited | Corrija 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-sucedido | status: "checking", billing: "held" | Continue fazendo polling até terminar como succeeded ou failed. |
| O resultado é gerado, mas bloqueado pela moderação do resultado | Sim, cobrado (reembolso só após revisão manual do suporte) | billing: "charged", resultado com state: "blocked", URL de arquivo vazia | Fale com o suporte para pedir uma revisão manual. |
| A geração dá certo, mas você não gosta do resultado | Sim | status: "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
/eventstermina comfailed_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 retornaria409 not_cancelablee 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_rejectede nada é reservado. Se a política de segurança do provedor o rejeitar depois, a geração termina comofailedcomerror.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 comstate: "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 / checkingPrefere 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?
- Sem cobrança em dobro em novas tentativas.
POST /v1/generationsexige umIdempotency-Key. Repetir a solicitação com a mesma chave, cotação e entrada retorna a geração original e não cobra de novo. (Idempotência) - Limite de gasto por chave. Cada chave de API pode ter um limite de gasto e uma data de expiração. Uma solicitação que faria a chave passar do limite é rejeitada com
402 key_spend_limit_reachedantes de qualquer reserva. Gerações com falha e canceladas não contam para o gasto da chave. (Autenticação)
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:
- Uma execução com falha ou com tempo esgotado é cobrada, cobrada em parte ou não é cobrada?
- O dinheiro é cobrado no envio ou quando a execução termina?
- Uma rejeição da moderação de conteúdo custa algo, antes e depois da geração?
- Dá para cancelar um trabalho na fila, e o dinheiro volta?
- O preço é travado antes da execução ou calculado depois?
- 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
- Preços — preços unitários atualizados, recarga a partir de $15 (até $1,000), sem assinatura
- Como funciona o preço de APIs de vídeo com IA (em inglês) — preço = preço unitário × segundos; a cotação fica travada por 12 minutos
- Documentação da API: preços e cobrança · Consultar status · Cancelar · Idempotência
- Boas práticas para APIs de vídeo: idempotência, 429 e polling (em inglês)
- Política de Reembolso
- Todos os 17 modelos
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.