New: Nano Banana 2.1Try the model
API Stock

API Stock vs. Replicate

Alternativa ao Replicate

Busca uma alternativa ao Replicate para modelos hospedados de imagem e vídeo? Compare preços de imagens e substitua previsões pela API do API Stock.

Comparação entre API Stock e Replicate

Quando escolher API Stock

Escolha API Stock para obter resultados dos modelos do catálogo sem gerenciar implantações nem hardware.

Quando continuar com Replicate

Mantenha Replicate para implantações próprias, treinamento ou modelos da comunidade fora do catálogo. API Stock não substitui toda a plataforma de hospedagem.

Documentação API do Replicate

Role horizontalmente para ver todas as colunas.

Mudanças da API: de Replicate para API Stock
Detalhe de integraçãoReplicateAPI Stock
SolicitaçãoPOST /v1/models/bytedance/seedream-4.5/predictionsPOST /api/v1/generation/create
AutenticaçãoAuthorization: BearerAuthorization: Bearer
Identificador do modelobytedance/seedream-4.5seedream-4-5

O modelo do exemplo é comparado, não todos os endpoints do provedor. Nomes iguais não garantem parâmetros, moderação ou resultados idênticos.

Comparação de preços: Replicate e API Stock

Modelos compartilhados selecionados com as mesmas unidades de cobrança. Nossos preços vêm do catálogo atual; os preços do provedor incluem a data de consulta e links para as fontes.

Comparação de preços: Replicate e API Stock
Seedream 4.52K · por imagem · texto para imagemAPI Stock$0.036Replicate$0.0410% menor
Nano Bananapor imagem · texto para imagemAPI Stock$0.015Replicate$0.03961.5% menor

Uma imagem a partir de texto, sem referências. Tarifas públicas básicas; planos, descontos por volume, outras resoluções e edições podem mudar o preço final.

Custo de uma carga de trabalho

Seedream 4.5 · 2K

1.000 imagens na configuração indicada

API Stock
$36
Replicate
$40

Nano Banana

1.000 imagens na configuração indicada

API Stock
$15
Replicate
$39

Totais ilustrativos das linhas acima, sem descontos por volume, assinaturas ou opções pagas. Não garantem latência nem resultados idênticos.

Preços

Migração do Replicate

Substitua replicate.run ou a criação de previsões por POST /api/v1/generation/create. Use id público e parâmetros documentados no lugar de input. Receba resultados por consulta de status ou webhook.

  1. 1

    Crie uma conta, recarregue o saldo e gere uma chave API.

  2. 2

    Envie POST /api/v1/generation/create com o id público e os parâmetros documentados. Cada tarefa gera uma saída.

  3. 3

    Leia taskId. Consulte GET /api/v1/task/status/TASK_ID ou informe webhook ao criar a tarefa.

Replicate

bash
curl --fail-with-body 'https://api.replicate.com/v1/models/bytedance/seedream-4.5/predictions' \
-H "Authorization: Bearer $REPLICATE_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"input": {
"prompt": "A ceramic mug on a wooden table, soft morning light",
"size": "2K",
"max_images": 1
}
}'

API Stock

bash
curl --fail-with-body 'https://api.api-stock.com/api/v1/generation/create' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "seedream-4-5",
"prompt": "A ceramic mug on a wooden table, soft morning light",
"resolution": "2K",
"size": "1:1"
}'
Exemplo completo: criar tarefa e obter arquivo

Execute no servidor com Node 22+ ou Bun e API_KEY. Uma única tarefa paga é criada e consultada sem recriação. As URLs são temporárias: salve o arquivo no seu armazenamento.

javascript
import { writeFile } from "node:fs/promises";
const baseURL = "https://api.api-stock.com/api/v1";
const apiKey = process.env.API_KEY;
if (!apiKey) throw new Error("Set API_KEY on the server");
async function request(path, options = {}) {
const response = await fetch(baseURL + path, {
...options,
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
signal: AbortSignal.timeout(30_000),
});
if (!response.ok) throw new Error(await response.text());
return response.json();
}
const { taskId } = await request("/generation/create", {
method: "POST",
body: JSON.stringify({
"model": "seedream-4-5",
"prompt": "A ceramic mug on a wooden table, soft morning light",
"resolution": "2K",
"size": "1:1"
}),
});
if (!taskId) throw new Error("Missing taskId");
const deadline = Date.now() + 10 * 60_000;
let fileUrl;
while (Date.now() < deadline) {
const { data } = await request(`/task/status/${encodeURIComponent(taskId)}`);
if (data.status === "finished") {
fileUrl = data.files?.[0]?.fileUrl;
if (!fileUrl) throw new Error("Task finished without a file");
break;
}
if (data.status === "failed" || data.status === "expired") {
throw new Error(data.errorMessage || data.status);
}
await new Promise((resolve) => setTimeout(resolve, 2000));
}
if (!fileUrl) throw new Error(`Still processing: save taskId ${taskId} and resume polling`);
const file = await fetch(fileUrl, { signal: AbortSignal.timeout(60_000) });
if (!file.ok) throw new Error(`Download failed: ${file.status}`);
const mime = file.headers.get("content-type")?.split(";")[0];
const extension = { "image/png": "png", "image/jpeg": "jpg", "image/webp": "webp" }[mime] || "bin";
await writeFile(`generated-image.${extension}`, new Uint8Array(await file.arrayBuffer()));

Mantenha as chaves API no servidor. Teste uma solicitação com parâmetros, status e resultado antes de transferir o tráfego de produção.

Perguntas frequentes

Como migrar do Replicate?

Substitua replicate.run ou a criação de previsões por POST /api/v1/generation/create. Use id público e parâmetros documentados no lugar de input. Receba resultados por consulta de status ou webhook.

API Stock é sempre mais barato que Replicate?

Não. Compare o modelo, a configuração e a unidade de cobrança exatos na tabela. Os preços podem subir ou cair; confira ambos os catálogos antes de migrar.

Posso transferir qualquer fluxo do Replicate?

Mantenha Replicate para implantações próprias, treinamento ou modelos da comunidade fora do catálogo. API Stock não substitui toda a plataforma de hospedagem.

O que acontece com solicitações falhas ou incompletas?

Tarefas de mídia são repetidas pelas rotas configuradas, usando reserva quando disponível. Falhas definitivas de geração são reembolsadas. Consulte a tarefa em andamento em vez de duplicá-la. Uma URL expirada não significa falha na geração.

Como adiciono saldo?

Os métodos de pagamento disponíveis, as moedas e os valores mínimos de recarga são exibidos na sua conta antes do pagamento. Não há assinatura: o uso dos modelos é descontado do saldo pré-pago.

Teste sua primeira solicitação em API Stock

Escolha um modelo, confira os parâmetros e o preço e crie uma chave API. Teste uma solicitação antes de transferir o tráfego.