Desenvolvedores · API v1

Uma API.
Todos os modelos.

Imagens, vídeo, áudio e 3D numa só API, com o mesmo saldo do estúdio. Crie uma chave em Configurações; a CLI chega em breve.

em breveA CLI do Opencran está a caminho. Esta página mostra como vai funcionar; até lá, use a API.

$npm i -g @opencran/cli
Modelos
682
Endpoints
9
Recarga mínima
€ 3
01 · Exemplos

A mesma chamada, qualquer resultado

Troque o ID do modelo para alternar entre imagem, vídeo e voz. Os campos seguem o modelo.

1import { writeFile } from "node:fs/promises";2 3const API = "https://opencran.com/api/v1/api/catalog";4const auth = { Authorization: `Bearer ${process.env.OPENCRAN_API_KEY}` };5 6// 1. Generate an image7const res = await fetch(`${API}/generations`, {8  method: "POST",9  headers: { ...auth, "Content-Type": "application/json", "Idempotency-Key": crypto.randomUUID() },10  body: JSON.stringify({11    modelId: "luma/uni-v1/text-to-image",12    inputs: { prompt: "Neon city street after rain, cinematic night", size: "16:9" },13  }),14});15let { generation } = await res.json();16 17// 2. Wait for the result18while (generation.status === "queued" || generation.status === "generating") {19  await new Promise((r) => setTimeout(r, 3000));20  ({ generation } = await (await fetch(`${API}/generations/${generation.id}`, { headers: auth })).json());21}22 23// 3. Save the file24const file = await fetch(`${API}/generations/${generation.id}/content`, { headers: auth });25await writeFile("result.jpeg", Buffer.from(await file.arrayBuffer()));
Render de exemploluma/uni-v1/text-to-image
02 · Início rápido

Seu primeiro render em três passos

  1. 01Crie uma chave de APIEntre com seu email, abra Configurações, Chaves de API e crie uma chave. Recarregue a partir de € 3 em Cobrança.export OPENCRAN_API_KEY="oc_live_..."
  2. 02A CLI chega em breveem breveA ferramenta de linha de comando ainda não foi publicada. Até lá, tudo roda no estúdio.
  3. 03Faça seu primeiro renderEscolha um ID de modelo no catálogo e envie um prompt. Adicione --dry-run para ver o preço sem gastar nada.opencran run luma/uni-v1/text-to-image -p "violet neon fox" -o ./out/
03 · CLIem breve

Renderize pelo terminal

Execute qualquer modelo a partir de um shell, um job de CI ou um agente de código. Cada render tem o preço calculado antes de começar e é pago com o mesmo saldo.

Scripts e CICada campo de um modelo é uma flag; um arquivo local é enviado para você.
JSON no stdoutUm documento JSON por execução, progresso e erros no stderr, código de saída diferente de zero em caso de falha.
Agentes de códigoUm arquivo de skill ensina seu agente a verificar o preço primeiro e a limitá-lo.
Guia completo da CLI →
ComandoO que faz
opencran loginCole sua chave de API uma vez; ela é verificada e salva
opencran whoamiO nome da chave e o seu saldo
opencran models --type videoTodos os modelos de vídeo com o preço inicial
opencran run <model> -hOs campos de um modelo, ao vivo: tipo, padrão, valores permitidos
opencran run <model> -p "<prompt>" -o ./out/Renderiza e salva o resultado em uma pasta
opencran run <model> -p "..." --dry-runO preço exato, sem gastar nada
opencran run <model> -p "..." --max-price 0.50Não executa se o preço for maior
opencran run <model> -p "..." --json -o ./out/Um resultado em JSON, pronto para o próximo passo
opencran skill installEnsine seu agente de código a usar a CLI
04 · Essencial da API

Pronta para produção

Autenticação

Um token Bearer no cabeçalho Authorization. Crie chaves em Configurações e revogue qualquer uma a qualquer momento.

Authorization: Bearer oc_live_...

Renders em segundo plano

Iniciar um render responde na hora com o status queued. Consulte o render até que ele seja concluído, falhe ou seja reembolsado.

{ "status": "queued" }

Preço primeiro

Peça o preço exato dos seus parâmetros sem iniciar nada. Todos os valores estão em centavos de euro.

POST /api/v1/api/catalog/quote

Repetições seguras

Envie um cabeçalho Idempotency-Key e uma requisição repetida nunca cobra duas vezes.

Idempotency-Key: render-042

Limites

Cada chave tem um limite por minuto e um teto diário opcional. Acima do limite, a API responde 429.

429 Too Many Requests

Erros e reembolsos

Erros em JSON com um código e uma mensagem. Um render que falha é reembolsado no seu saldo automaticamente.

{ "status": "refunded" }
05 · Referência

Endpoints

URL base https://opencran.com/api/v1

Referência completa da API →
GET/api/catalog/meSua chave e seu saldo
GET/api/catalog/modelsTodos os modelos
GET/api/catalog/models/detail?id=MODEL_IDUm modelo e seus campos
POST/api/catalog/quotePreço para entradas exatas
POST/api/catalog/generationsIniciar uma geração
GET/api/catalog/generationsSuas gerações recentes
GET/api/catalog/generations/IDStatus de uma geração
GET/api/catalog/generations/ID/contentO arquivo de resultado
DELETE/api/catalog/generations/IDExcluir uma geração

Recarregue € 3 e lance hoje

Crie uma chave de API em Configurações e chame qualquer modelo. A CLI chega em breve. Renders com falha são reembolsados.