Começar

Quickstart

Do zero à sua primeira imagem em três passos: pegue uma chave, dispare uma geração e busque a URL do resultado.

1. Pegue uma chave

Entre no app em Conta → Apps & API e crie uma chave. Ela aparece uma única vez no formato ck_live_… — guarde em segredo. A API está em beta fechado: sua conta precisa estar habilitada (plano ativo). Deixe a chave numa variável de ambiente:

bash
export CK=ck_live_xxxxxxxxxxxxxxxxxxxxxxxx

2. Dispare uma geração

Toda geração é um POST /generations. Envie o model (um slug de Modelos) e o prompt. A resposta volta imediatamente com status: "processing" — o job roda em segundo plano.

bash
curl -X POST https://caranguejo.art/api/v1/dev/generations \
  -H "Authorization: Bearer $CK" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "um caranguejo numa praia neon, cinematográfico",
    "params": { "quality": "high", "resolution": "2K", "size": "3:2" }
  }'

Resposta (job aceito, 201):

json
{
  "data": {
    "id": "9f0c1a7e-…",
    "object": "generation",
    "status": "processing",
    "model": "gpt-image-2"
  }
}

3. Acompanhe até completar

Faça polling em GET /generations/:id até o status virar completed (ou failed). Em produção, prefira um webhook a ficar consultando.

bash
curl https://caranguejo.art/api/v1/dev/generations/9f0c1a7e-… \
  -H "Authorization: Bearer $CK"
json
{
  "data": {
    "id": "9f0c1a7e-…",
    "status": "completed",
    "credits_charged": 40,
    "output": {
      "assets": [{ "url": "https://media.caranguejo.art/…/out.png", "type": "image" }],
      "images": [{ "url": "https://media.caranguejo.art/…/out.png" }]
    }
  }

4. Use o resultado

A URL em output.assets[].url é permanente e pública (media.caranguejo.art) — sem expiração, sem assinatura. Baixe ou sirva direto. O custo real do job vem em credits_charged.

Vai gerar vídeo ou rodar uma tool? É o mesmo endpoint: troque o model e os campos. Veja Fazendo requisições.