spicyapiDocumentação
Agentes e CLI
Conteúdo principal

Agent Skill

Um manual pronto para assistentes de programação com IA. Instale uma vez e o seu assistente passa a construir integrações com a SpicyAPI do jeito seguro e correto. O que é, o que muda, como instalar e como conferir se funciona.

Se você usa um assistente de programação com IA, como Claude Code, Codex ou Cursor, o Skill da SpicyAPI ensina a ele como trabalhar direito com a SpicyAPI. Você instala uma vez. Depois disso, pode dizer "adicione geração de imagens da SpicyAPI ao meu app" e o assistente segue as regras da SpicyAPI em vez de chutar.

Você não precisa ser desenvolvedor para acompanhar esta página. Se você sabe colar um comando num terminal, consegue instalar o Skill.

Versão resumida

  1. Rode npx skills add spicyapi-ai/spicy-skill num terminal e escolha o seu assistente.
  2. Feche o assistente e abra uma sessão nova.
  3. Peça alguma coisa que mencione a SpicyAPI, por exemplo: "Adicione ao meu backend um endpoint de geração de imagens da SpicyAPI."

O que é um Skill

Um Skill é uma pasta de instruções escritas para um assistente de IA, e não para pessoas. Pense nele como o manual de procedimentos que você entregaria a um colega recém-chegado: ele não faz o trabalho sozinho, mas diz a quem faz quais passos seguir, em que ordem e o que nunca fazer.

Assistentes de IA sabem muito sobre programação em geral, mas não têm um conhecimento confiável das regras específicas da SpicyAPI. Deixado para adivinhar, um assistente pode:

  • inventar um ID de modelo ou um campo de entrada que não existe;
  • colar a sua chave de API direto no seu código;
  • enviar a mesma requisição paga duas vezes depois de uma instabilidade de rede, e pagar duas vezes;
  • entregar a você um link de resultado que para de funcionar poucos dias depois.

Com o Skill instalado, o assistente lê as regras da SpicyAPI antes de começar. Na prática, funciona assim:

  1. A pasta do Skill fica num lugar que o seu assistente verifica quando uma sessão começa.
  2. O assistente lê o resumo de um parágrafo do Skill. Quando o seu pedido envolve a SpicyAPI, ele abre as instruções completas. Você não precisa mencionar o Skill pelo nome.
  3. Ele segue essas instruções enquanto escreve código ou roda comandos para você.

Três fatos que vale saber desde já:

  • É só texto. Arquivos Markdown e YAML: nenhum programa, nenhum script, nada que rode quando você instala. Você pode abrir todos os arquivos num editor de texto; veja O que tem dentro.
  • Não contém chave de API e não faz chamadas. Sozinho, ele não tem como acessar a sua conta nem gastar dinheiro.
  • É gratuito e de código aberto. Tem licença MIT, é publicado no npm como @spicyapi/skill e é desenvolvido abertamente em github.com/spicyapi-ai/spicy-skill.

Skill, MCP, SDK e CLI

A SpicyAPI tem quatro ferramentas oficiais. Elas resolvem problemas diferentes e foram feitas para ser usadas juntas.

FerramentaO que éO papel dela, em palavras simples
Skill (esta página)Instruções para o seu assistente de IAO manual: como fazer as coisas do jeito certo
Servidor MCPUm conector que roda no seu computador e dá ao assistente ações da SpicyAPI: explorar modelos, pedir um preço, criar uma tarefa, buscar o resultadoAs mãos: deixa o assistente agir na sua conta
SDKUma biblioteca TypeScript que a sua própria aplicação importa. Também existem SDKs oficiais para Python, Go, PHP e JavaO que o código do seu app usa para conversar com a SpicyAPI
CLIO comando de terminal spicyapiExecuta operações da SpicyAPI num terminal ou num script

O Skill não substitui nenhuma delas. Ele diz ao assistente como usá-las: as ferramentas MCP quando estão conectadas, a CLI para operações avulsas e o SDK da sua linguagem para o código que vai para dentro da sua aplicação.

  • Só o Skill. O assistente escreve código de integração correto para o seu projeto, mas não consegue consultar nada na sua conta nem rodar tarefas para você.
  • Só o MCP. O assistente consegue agir na sua conta, mas precisa descobrir sozinho, toda vez, a ordem certa dos passos.
  • Os dois. O assistente consegue testar coisas para você e faz isso do jeito documentado. Se você quer que o seu assistente rode tarefas de verdade, instale os dois. Eles não entram em conflito.

No que ele ajuda

A coluna da esquerda é o que você pede. A da direita é o que o Skill faz o assistente cumprir enquanto entrega.

Você pede ao assistente para…O Skill garante que ele…
Escolher um modelo e montar uma requisiçãoLeia os campos de entrada atuais desse modelo no catálogo atual (live catalog), em vez de chutar. Ele nunca inventa um ID de modelo, um preço ou um campo.
Adicionar geração de imagem ou vídeo ao seu appPegue antes o preço exato, mostre a você o custo estimado e a cobrança máxima e espere o seu OK antes de qualquer chamada paga.
Fazer a integração sobreviver a problemas de redeUse uma chave de idempotência por geração e a reaproveite depois de um tempo esgotado, para que uma nova tentativa não consiga criar (e cobrar) uma segunda tarefa. Veja Idempotência.
Esperar o resultadoUse um webhook verificado ou uma espera com prazo e depois confira o state final da tarefa. Ele só informa um resultado utilizável quando um link de resultado está pronto.
Receber resultados por webhookConfira a assinatura na requisição bruta antes de confiar nela e ignore entregas duplicadas usando o request_id. Veja Webhooks.
Guardar os arquivos geradosUse direto o link de resultado pronto e depois salve uma cópia num armazenamento que você controla, porque os links de resultado são temporários e as saídas ficam guardadas por cerca de 14 dias.
Usar um arquivo do seu computador como entradaEnvie o arquivo antes e passe o endereço spicy:// retornado. Ele nunca cola o conteúdo do arquivo na requisição. Veja Mídia.
Tratar errosNão reenvie às cegas uma requisição recusada: ele corrige a entrada, indica o console quando o saldo está baixo e espera o tempo que o Retry-After pedir. Veja Erros.
Proteger a sua chave de APILeia SPICY_API_KEY de uma variável de ambiente ou de um gerenciador de segredos e nunca a escreva em código-fonte, argumentos de comando, prompts, logs ou configurações commitadas.
Rodar muitas geraçõesLimite quantas rodam ao mesmo tempo, já que não existe endpoint de lote, dê a cada item a sua própria chave de idempotência e o seu próprio preço e nunca reenvie um lote inteiro porque um item estourou o tempo.
Guardar conteúdo por menos tempo, ou apagá-loApenas encurte o tempo de guarda do conteúdo, nunca o aumente. Antes de destruir o conteúdo de uma tarefa, ele pergunta a você e avisa com clareza que isso não é um reembolso e que o registro de cobrança continua. Veja Retenção.
Relatar o que fezEntregue o ID do modelo, o ID da tarefa, o ID da requisição e a chave de idempotência, para você poder consultar depois ou informar ao suporte.

O que ele não faz

  • Gastar dinheiro por conta própria. O Skill é texto e não consegue chamar nada. Se o seu assistente também tiver o servidor MCP ou a CLI e uma chave de API, ele pode criar tarefas pagas. O Skill manda o assistente mostrar o preço e obter antes a sua confirmação explícita, a não ser que o seu pedido já tenha autorizado claramente aquela execução paga exata. Com o servidor MCP, toda ação paga ainda para numa confirmação que o assistente não tem como pular.
  • Inventar recursos. Ele não escreve chamadas para coisas que a API pública não oferece, como cancelar uma tarefa, apagar o registro de uma tarefa ou reenviar um webhook.
  • Mexer nas configurações da sua conta. Cadastro, login, pagamentos, adição de saldo, membros da equipe, pedidos de privacidade e encerramento da conta ficam no console da SpicyAPI. O assistente não tenta automatizá-los.
  • Fingir um teste. Se você pedir um teste de verdade, ele faz uma requisição real (e possivelmente paga, depois da sua confirmação) e relata o que realmente aconteceu. Um mock que passou nunca é relatado como "verificado".
  • Acrescentar uma configuração de conteúdo. A SpicyAPI não tem parâmetro de modo de conteúdo nem revisão de conteúdo requisição por requisição, e o Skill não inventa nenhum. Quem decide o que é possível é o modelo que você escolher.

Antes de começar

Você precisa de quatro coisas. Só as três primeiras são necessárias para instalar.

  1. Um assistente de programação com IA que suporte Agent Skills. Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, Windsurf e muitos outros suportam. O Skill usa o formato portátil de pasta dos Agent Skills, então funciona com qualquer assistente que leia esse formato. Se não tiver certeza sobre o seu, procure "skills" na documentação dele.

  2. Node.js 22 ou mais recente, que fornece o comando npx. Confira com:

    node --version

    O instalador skills hoje pede Node.js 22.20 ou mais recente, e o instalador do próprio pacote precisa da 22.13 ou mais recente. Se o comando não for encontrado ou a versão for menor, instale a versão LTS em nodejs.org e abra um terminal novo.

  3. Um terminal. No macOS, o aplicativo Terminal. No Windows, o PowerShell. Rode os comandos a partir da pasta do seu projeto se quiser uma instalação por projeto.

  4. Uma chave de API da SpicyAPI, quando você começar a chamar a API. Instalar o Skill não exige chave. Crie uma no console; ela começa com sk-spicy- e aparece uma única vez. Guarde-a numa variável de ambiente chamada SPICY_API_KEY e nunca cole a chave em si numa conversa com o seu assistente. Veja Autenticação.

Instalar

Há duas formas de instalar. As duas colocam os mesmos arquivos no lugar. Use a primeira, a menos que tenha um motivo para não usar.

skills é um instalador gratuito compartilhado por muitos assistentes de programação. Ele sabe onde cada assistente procura Skills, então você não precisa saber.

Rode o comando

npx skills add spicyapi-ai/spicy-skill

Escreva o nome do proprietário exatamente assim: spicyapi-ai. O repositório foi transferido para lá em outubro de 2026; com os nomes antigos Spicy-API e SpicyAPI, o instalador não encontra mais o Skill. Esse endereço é o repositório público da SpicyAPI no GitHub, então você sempre recebe a versão atual do Skill.

Na primeira vez, o npx pode pedir para baixar a ferramenta skills: responda y. Depois aparecem “Cloning repository…” e “Found 1 skill”. É só isso.

Escolha os seus assistentes

O instalador mostra uma lista de assistentes. Marque os que você usa com a barra de espaço e aperte Enter.

Escolha onde ele vale

  • Project: instala na pasta de onde você rodou o comando, então o Skill só vale quando o assistente trabalha nesse projeto. Os arquivos podem ser commitados junto com o projeto, o que dá o Skill também aos colegas de equipe. Não há risco: o Skill não contém segredos.
  • Global: instala na sua pasta pessoal, então o Skill vale em todos os projetos.

Escolha como instalar

Symlink (a opção recomendada) mantém uma única cópia e aponta cada assistente para ela. Copy dá a cada assistente a sua própria cópia. As duas funcionam.

Abra uma sessão nova

Os assistentes carregam os Skills quando uma sessão começa. Feche o assistente, abra de novo e então confira se funciona.

Para pular as perguntas, informe o assistente (--agent), acrescente -g para uma instalação global e -y para aceitar os padrões:

# Claude Code, só neste projeto
npx skills add spicyapi-ai/spicy-skill --agent claude-code

# Codex, em todos os projetos
npx skills add spicyapi-ai/spicy-skill --agent codex -g

# Claude Code e Codex, em todos os projetos, sem perguntas
npx skills add spicyapi-ai/spicy-skill --agent claude-code codex -g -y

Ao terminar, o instalador mostra exatamente as pastas em que escreveu. Resultados típicos:

Você escolheuOnde os arquivos vão parar
Project, só Claude Code.claude/skills/spicyapi dentro do projeto
Project, vários assistentesUma cópia em .agents/skills/spicyapi dentro do projeto, com a pasta de cada um dos outros assistentes apontando para ela
Global, Claude Code e Codex~/.agents/skills/spicyapi, mais ~/.claude/skills/spicyapi apontando para ela

~ é a sua pasta pessoal: /Users/your-name no macOS, C:\Users\your-name no Windows. Pastas cujo nome começa com ponto ficam ocultas por padrão; no macOS, aperte Cmd + Shift + . no Finder para exibi-las.

Pedindo ao seu assistente que instale por você

Você pode pedir ao assistente que rode o comando. Quando o instalador detecta que está sendo executado por um assistente, ele não faz perguntas, então diga exatamente o que você quer, por exemplo: "Rode npx skills add spicyapi-ai/spicy-skill --agent claude-code -g."

Confira se funciona

Confirme que os arquivos estão lá

npx skills list      # Skills instalados no projeto atual
npx skills list -g   # Skills instalados para todos os projetos

Procure spicyapi na saída. Você também pode abrir a pasta de instalação e conferir se ela contém o SKILL.md.

Pergunte ao seu assistente

Abra uma sessão nova no seu projeto e pergunte:

Você tem um skill da SpicyAPI disponível? Resuma o que ele manda você fazer antes de criar uma tarefa paga na SpicyAPI.

Uma boa resposta menciona coisas que vêm do Skill: pedir uma cotação exata e mostrar a você o custo estimado e a cobrança máxima, esperar a sua confirmação, manter uma única chave de idempotência para a tentativa, ler o schema de entrada atual do modelo e manter SPICY_API_KEY numa variável de ambiente.

Se a resposta for vaga ou genérica, o assistente não carregou o Skill. Veja Solução de problemas.

Se quiser, chame-o pelo nome

Os assistentes usam o Skill automaticamente quando um pedido menciona a SpicyAPI. Para ser explícito, cite-o no pedido: "Use o skill spicyapi para…". No Codex, você também pode digitar $spicyapi.

Exemplos de pedidos

Cole qualquer um destes no seu assistente e ajuste os detalhes. Mencione a SpicyAPI no pedido, para que o assistente saiba que o Skill se aplica.

Se você já sabe qual modelo quer, copie o ID exato dele na aba API da página do modelo ou no catálogo atual autenticado (GET /api/v1/models) e coloque-o no pedido. Os exemplos trazem MODEL_ID_FROM_CATALOG no lugar desse ID; é um marcador, não um ID real. Se você não tiver um, peça ao assistente que escolha no catálogo atual. Veja Catálogo de modelos e schemas.

Adicionar um endpoint de imagens a um app Next.js

Adicione ao meu app Next.js uma rota de API do lado do servidor que receba um prompt de texto, gere uma imagem com a SpicyAPI usando o modelo MODEL_ID_FROM_CATALOG, espere o resultado e retorne o link da imagem. Leia a chave de API de SPICY_API_KEY.

No que o Skill faz o assistente prestar atenção:

  • A chave fica no seu servidor, em SPICY_API_KEY. A sua página web chama a sua rota; ela nunca chama a SpicyAPI com a chave.
  • Ele lê os campos de entrada atuais desse modelo no catálogo atual antes de montar a requisição.
  • Ele pede antes uma cotação exata e mostra a você o custo estimado e a cobrança máxima. A requisição paga leva essa cotação confirmada.
  • Ele cria uma chave de idempotência para a geração e a reaproveita se a requisição estourar o tempo.
  • Ele espera com um prazo e depois confere o state da tarefa: uma espera que terminou não é o mesmo que uma geração que deu certo.

Receber resultados com um webhook no Express

Adicione ao meu servidor Express um endpoint de webhook que receba os resultados das tarefas da SpicyAPI, verifique a assinatura usando SPICY_WEBHOOK_SECRET e salve o link do resultado no meu banco de dados.

  • Ele verifica a assinatura contra o corpo bruto exato da requisição antes de interpretá-lo como JSON.
  • Ele usa o request_id da entrega para ignorar duplicatas, porque o mesmo evento pode chegar mais de uma vez.
  • Ele lê o resultado direto de um webhook completo e verificado, sem fazer uma consulta extra.

Copiar os vídeos prontos para o seu próprio armazenamento

Quando uma tarefa de vídeo da SpicyAPI der certo, baixe o vídeo e envie para o meu bucket S3, depois guarde o meu próprio link no lugar do link da SpicyAPI.

  • Os links de resultado são temporários e os arquivos gerados ficam guardados por cerca de 14 dias, então ele salva uma cópia durável sob o seu controle.
  • Ele não envia a sua chave de API ao baixar de um link de resultado.
  • Se um link expirou, ele pede de novo a mesma tarefa à SpicyAPI para receber um link novo. Ele nunca cria uma tarefa nova só para conseguir um link.

Transformar a foto de um usuário em vídeo

Deixe os usuários enviarem uma foto no meu app e transforme essa foto num vídeo curto com a SpicyAPI.

  • Ele envia primeiro o arquivo para a SpicyAPI e coloca na requisição o endereço spicy:// retornado, em vez de colar o arquivo como base64.
  • Ele respeita os limites de upload: 10 MiB para imagens e 90 MiB para vídeo MP4 ou WebM e áudio MP3 ou WAV.
  • Uma foto que já está num link HTTPS público pode ser passada diretamente, sem upload.

Tratar novas tentativas e saldo baixo

Faça a minha integração com a SpicyAPI lidar com falhas: tentar de novo quando a rede estourar o tempo sem pagar duas vezes, mostrar uma mensagem clara quando o saldo da minha conta estiver baixo e diminuir o ritmo quando eu atingir o limite de requisições.

  • Depois de um tempo esgotado, ele tenta de novo com a mesma chave de idempotência, então uma nova tentativa não consegue criar uma segunda tarefa paga.
  • Ele não repete "saldo insuficiente" (código 40201); o seu usuário vê uma mensagem clara e você adiciona saldo no console.
  • Ele espera o tempo que o Retry-After indicar antes de tentar de novo.
  • Se a cotação tiver expirado ou o preço tiver mudado (código 40901), ele pede uma cotação nova e pergunta a você de novo, em vez de abrir mão da conferência de preço.
  • Ele sabe que repetir uma tarefa que falhou cria uma tarefa nova que pode ser cobrada de novo, então só faz isso quando você quer uma nova tentativa.

Gerar um lote

Gere com a SpicyAPI fotos de produto para os 20 itens de products.csv, no máximo 3 de cada vez, e registre o ID de cada tarefa.

  • A SpicyAPI não tem endpoint de lote, então ele roda um número limitado de requisições por vez.
  • Cada item recebe a sua própria chave de idempotência e o seu próprio preço.
  • Ele registra o ID de cada tarefa assim que ela é aceita.
  • Se um item estourar o tempo, ele recupera só esse item e nunca reenvia o lote inteiro.

Com o servidor MCP instalado também

Você também pode pedir ao assistente que trabalhe diretamente na sua conta, por exemplo: "Usando a SpicyAPI, liste os modelos de imagem que eu posso chamar e quanto custa cada um. Não crie nenhuma tarefa." Listar modelos e preços não custa nada. Veja Servidor MCP.

O que tem dentro

A pasta instalada fica assim:

spicyapi/
├── SKILL.md
├── references/
│   ├── api-workflows.md
│   └── safety.md
└── agents/
    └── openai.yaml
ArquivoPara que serve
SKILL.mdA página principal. O cabeçalho traz o nome do Skill (spicyapi) e a descrição de um parágrafo que o assistente lê para decidir quando o Skill é relevante. O corpo lista o comportamento obrigatório: schemas atuais, cotações e confirmação, chaves de idempotência, uploads, links de resultado, retenção, cuidado com as chaves e o que relatar no final.
references/api-workflows.mdO passo a passo detalhado, lido antes de o assistente montar etapas de API, CLI ou MCP: variáveis de ambiente, uma tabela que associa cada tarefa ao comando da CLI, à ferramenta MCP e à rota da API correspondentes, a sequência de geração, lotes, retenção e destruição de conteúdo, upload de arquivos locais, novas tentativas depois de uma resposta incerta, um roteiro do SDK, verificação de assinatura de webhooks e recuperação do histórico de tarefas. Os exemplos de comando escrevem o ID do modelo como o marcador MODEL_ID_FROM_CATALOG e passam a entrada com --input-json, para que o assistente pegue o ID real no catálogo atual em vez de copiar um do exemplo.
references/safety.mdAs regras lidas antes de chamadas pagas, testes reais, tratamento de webhooks ou qualquer coisa que envolva chaves: manter privadas as chaves e o conteúdo dos clientes, o checklist de confirmação para chamadas pagas, como rodar um teste de integração real, uma limpeza honesta, os limites do servidor MCP local e quais ações da conta ficam no console. Sobre limpeza, ele diz o mesmo que o api-workflows.md: a destruição de conteúdo remove a mídia gerada, o resultado armazenado, o prompt e os demais textos de entrada de uma tarefa concluída, enquanto o registro de cobrança continua, e não existe API para cancelar uma tarefa nem para apagar o registro dela.
agents/openai.yamlO nome de exibição, a descrição curta e o prompt padrão para assistentes que leem este arquivo, como o Codex. allow_implicit_invocation: true deixa o assistente usar o Skill sem que você o cite pelo nome.

O assistente só abre os dois arquivos de referência quando uma tarefa precisa deles, o que deixa a memória de trabalho dele livre para o seu projeto. Para ler os arquivos antes de instalar, rode npx @spicyapi/skill path: ele mostra a pasta em que o pacote os guarda.

O Skill orienta o assistente a configurar o seu código e as suas ferramentas com estas variáveis de ambiente. O Skill em si não lê nenhuma delas.

Propriedade

Tipo

Atualizar e remover

Atualizar

O Skill muda quando o fluxo de trabalho recomendado pela SpicyAPI muda, e as cópias instaladas não se atualizam sozinhas. A pasta instalada não traz número de versão, então reinstalar é o jeito mais simples de ter certeza de que você está com a versão atual.

  • Instalado com npx skills add: rode o mesmo comando de novo, com o mesmo escopo e os mesmos assistentes. Ele substitui os arquivos instalados pelo que o repositório tem naquele momento, então uma atualização chega assim que é publicada — não há o que esperar.

  • Instalado com o instalador do pacote: rode-o de novo com --force e o mesmo --target. Acrescentar @latest faz o npx buscar o pacote mais novo em vez de reaproveitar um que está em cache:

    npx @spicyapi/skill@latest install --target ~/.claude/skills/spicyapi --force

--force substitui a pasta inteira

Tudo o que você acrescentou ou alterou dentro da pasta spicyapi é apagado. Guarde as suas próprias anotações em outro lugar.

Remover

Remover o Skill não afeta a sua conta na SpicyAPI, as suas chaves de API nem nenhum código que o assistente já escreveu.

  • Instalado com npx skills add: rode isto na mesma pasta de projeto, acrescentando -g se a instalação foi global. Depois confira se a pasta spicyapi sumiu.

    npx skills remove spicyapi
  • Instalado com o instalador do pacote: apague a pasta spicyapi. Pelo Finder, pelo Explorador de Arquivos ou por um terminal:

    # macOS e Linux: use a pasta em que você instalou
    rm -rf ~/.agents/skills/spicyapi
    # Windows PowerShell
    Remove-Item -Recurse -Force "$HOME\.agents\skills\spicyapi"

    Confira o caminho duas vezes antes de apertar Enter: ele precisa terminar em spicyapi.

Depois, abra uma sessão nova para que o assistente pare de usar o Skill.

Solução de problemas

Código-fonte

O pacote tem licença MIT e é desenvolvido abertamente em github.com/spicyapi-ai/spicy-skill. É lá que você lê as instruções que o Skill realmente instala, relata um comportamento diferente do descrito aqui ou propõe uma mudança.

Próximos passos

Nesta página