Wan 3.0A partir deUS$ 0,05por vídeo

Texto, imagem e efeitos num só estúdio

Creovox AI
Começar grátis

Início/Creovox API

API para desenvolvedores · v1

Creovox API

Chame do seu próprio código os mesmos modelos que alimentam o estúdio Creovox. A versão 1 oferece suporte ao GPT Image 2.6 para texto para imagem e edição de imagens. Cada requisição é uma tarefa assíncrona: crie e consulte até a imagem ficar pronta.

Início rápido

  1. 01

    Crie uma chave de API

    Entre e abra API Keys no painel. Crie uma chave separada para cada app, assim você pode desativar uma sem quebrar as outras.

  2. 02

    Compre créditos

    A API gasta apenas créditos comprados. Créditos grátis e de bônus continuam funcionando no site, mas não podem ser usados pela API.

  3. 03

    Crie uma tarefa e consulte

    Envie seu prompt com POST para /api/v1/tasks, guarde o task_id e depois faça GET /api/v1/tasks/ a cada poucos segundos até o status ser succeeded ou failed.

Autenticação

Envie sua chave no cabeçalho Authorization em toda requisição. As chaves estão vinculadas à sua conta Creovox; chaves criadas em outros sites são rejeitadas. Nunca coloque uma chave em código de navegador ou em repositório público.

Authorization: Bearer YOUR_API_KEY

Pontos de extremidade

MétodoCaminhoDescrição
POST/api/v1/tasksCria uma tarefa de geração
GET/api/v1/tasks/{task_id}Obtém o status e a saída de uma tarefa
GET/api/v1/tasksLista as tarefas criadas com esta chave, as mais recentes primeiro
GET/api/v1/modelsLista os modelos com schema de entrada e preços (não precisa de chave)
GET/api/v1/account/creditsVerifica o saldo de créditos do dono da chave
GET/api/v1/openapi.jsonDocumento OpenAPI 3.1 (não precisa de chave)

Criar uma tarefa

Coloque o id do modelo em model e os parâmetros em input. Nomes de parâmetro desconhecidos são rejeitados, então erros de digitação falham na hora. Envie um cabeçalho Idempotency-Key para que uma requisição repetida não crie nem cobre uma segunda tarefa.

curl -X POST https://creovox.ai/api/v1/tasks \
  -H "Authorization: Bearer $CREOVOX_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1234-fox" \
  -d '{
    "model": "gpt-image-2.6",
    "input": {
      "prompt": "A red fox in fresh snow, cinematic light",
      "variant": "flare",
      "aspect_ratio": "16:9",
      "resolution": "2k"
    }
  }'
{
  "code": 200,
  "message": "success",
  "data": {
    "task_id": "n42…gptimg",
    "model": "gpt-image-2.6",
    "status": "processing",
    "output": null,
    "credits_charged": 20,
    "refund_pending": false,
    "error": null,
    "created_at": "2026-11-07T08:00:00.000Z"
  }
}

Parâmetros do GPT Image 2.6

ParâmetroTipoPadrãoDescrição
promptstring—O que desenhar ou como alterar as imagens de referência. Até 20.000 caracteres. Obrigatório.
variantflare | sunburst | economyflareflare é o equilíbrio padrão entre velocidade e detalhe, sunburst prioriza o detalhe, economy é o mais barato e renderiza apenas em 1K.
aspect_ratiostringautoFormato do quadro, como 1:1, 16:9 ou 9:16. auto deixa o modelo escolher. O economy aceita menos opções.
resolution1k | 2k | 4k1k1k, 2k ou 4k. O economy sempre renderiza em 1k.
output_formatpng | jpeg | webppngpng, jpeg ou webp. O economy sempre retorna png.
imagesstring[][]Até 16 URL de imagens públicas via HTTP(S). Quando presentes, a tarefa edita essas imagens em vez de desenhar do zero.

Consultar o resultado

Consulte a cada 3 a 5 segundos e pare quando o status for succeeded ou failed. As imagens costumam levar de alguns segundos a alguns minutos; se uma tarefa ainda estiver em processing após 10 minutos, pare e fale com o suporte informando o task_id. Quando a tarefa termina com sucesso, output.images contém as URL das imagens; baixe-as se precisar guardá-las.

curl https://creovox.ai/api/v1/tasks/TASK_ID \
  -H "Authorization: Bearer $CREOVOX_API_KEY"
{
  "code": 200,
  "message": "success",
  "data": {
    "task_id": "n42…gptimg",
    "model": "gpt-image-2.6",
    "status": "succeeded",
    "output": { "images": [{ "url": "https://…/image.png" }] },
    "credits_charged": 20,
    "refund_pending": false,
    "error": null,
    "created_at": "2026-11-07T08:00:00.000Z"
  }
}

Status da tarefa

processing
A tarefa está em processamento ou aguarda a confirmação da cobrança ou da aceitação pelo fornecedor.
succeeded
Concluída. output.images contém os resultados e credits_charged é definitivo.
failed
A geração falhou e error.message explica o motivo. Os créditos cobrados são reembolsados automaticamente: refund_pending é true até o reembolso ser aplicado, depois credits_charged mostra 0. Você pode parar de consultar.
// Node.js 18+
const API = 'https://creovox.ai/api/v1'
const headers = {
  Authorization: `Bearer ${process.env.CREOVOX_API_KEY}`,
  'Content-Type': 'application/json',
}

async function call(path, init = {}) {
  const res = await fetch(API + path, { ...init, headers: { ...headers, ...init.headers }, signal: AbortSignal.timeout(30_000) })
  const body = await res.json().catch(() => ({ code: res.status, message: res.statusText }))
  if (body.code !== 200) {
    const error = new Error(body.message)
    Object.assign(error, { status: res.status, type: body.error_type, data: body.data, retryAfter: res.headers.get('retry-after') })
    throw error
  }
  return body.data
}

// Reuse the same key when you retry this request: you get the same task and pay once.
const idempotencyKey = crypto.randomUUID()
let task
try {
  task = await call('/tasks', {
    method: 'POST',
    headers: { 'Idempotency-Key': idempotencyKey },
    body: JSON.stringify({ model: 'gpt-image-2.6', input: { prompt: 'A red fox in fresh snow' } }),
  })
} catch (error) {
  if (!error.data?.task_id || !['billing_unconfirmed', 'submission_unconfirmed'].includes(error.type)) throw error
  task = { task_id: error.data.task_id, status: 'processing' }
}

const deadline = Date.now() + 10 * 60_000
while (task.status === 'processing') {
  if (Date.now() > deadline) throw new Error(`Task ${task.task_id} is still processing; contact support.`)
  await new Promise(resolve => setTimeout(resolve, 4000))
  try {
    task = await call(`/tasks/${task.task_id}`)
  } catch (error) {
    // 429 and 5xx are temporary: wait and poll again. Anything else is final.
    if (error.status !== 429 && error.status < 500) throw error
    await new Promise(resolve => setTimeout(resolve, (Number(error.retryAfter) || 5) * 1000))
  }
}
console.log(task.status, task.output?.images, task.error, task.refund_pending)

Preços

Os preços são em créditos e correspondem exatamente ao site. 1 crédito é US$0.01. Cada imagem de referência adiciona um valor pequeno. GET /api/v1/models sempre retorna a tabela de preços atual.

VarianteResoluçãoCréditos por imagemPor imagem de referência
flare1k10+2
flare2k20+2
flare4k36+2
sunburst1k10+2
sunburst2k20+2
sunburst4k36+2
economy1k5—

Erros

Os erros usam o código de status HTTP e a mesma estrutura JSON: code, message, error_type e data.

HTTPerror_typeSignificado
400invalid_requestUm parâmetro está faltando ou é inválido. O message indica qual.
401invalid_api_keyA chave está ausente, incorreta, desativada ou excluída.
402insufficient_creditsCréditos comprados insuficientes para esta tarefa.
403key_not_allowed, account_suspendedA chave pertence a outro site, ou a conta está suspensa.
404not_foundA tarefa não existe ou foi criada com outra chave.
409idempotency_conflictEsse Idempotency-Key já foi usado em outra requisição.
429rate_limitedRequisições, tarefas em execução ou verificações de status demais para esta chave. Aguarde os segundos de Retry-After.
5xxprovider_error, billing_unconfirmed, upstream_unavailableEm caso de provider_error, as cobranças confirmadas são reembolsadas. Em caso de billing_unconfirmed ou submission_unconfirmed, guarde data.task_id e consulte essa tarefa enquanto o resultado é verificado. Repita as solicitações com erros temporários usando o mesmo Idempotency-Key.

Limites e boas práticas

  • Cada chave tem um limite por minuto e um limite de tarefas em execução. Planos pagos têm limites mais altos.
  • Envie um cabeçalho Idempotency-Key em toda requisição de criação. Se uma requisição expirar, repita com o mesmo Idempotency-Key: você recebe a mesma tarefa e nunca é cobrado duas vezes.
  • As imagens de referência precisam ser acessíveis pela internet pública. URL assinadas servem se continuarem válidas por alguns minutos.
  • As tarefas são privadas. Uma chave só lê as tarefas que criou.

Perguntas frequentes

Posso usar meus créditos grátis na API?

Não. A API gasta apenas créditos comprados. Créditos grátis e de bônus continuam utilizáveis no site.

Sou cobrado quando uma tarefa falha?

Não. Tarefas com falha são reembolsadas automaticamente. Enquanto o reembolso é aplicado, refund_pending é true; depois disso, credits_charged é 0.

Quais modelos estão disponíveis?

A versão 1 oferece o GPT Image 2.6. Mais modelos de imagem e vídeo serão adicionados; GET /api/v1/models lista o que está disponível agora.

Posso chamar a API de um navegador?

A API permite requisições de origem cruzada, mas qualquer pessoa que veja sua página pode ler a chave. Chame a API pelo seu servidor.

Esta é uma API oficial da OpenAI?

Não. A Creovox AI é um serviço independente que dá acesso ao GPT Image 2.6 por meio de sua própria API e de seus próprios créditos.