Pré-requisitos
Instale e carregue estas skills antes de gerar (pule se já estiverem no contexto via @pruna):
| Skill | Descrição | Instalação |
|---|---|---|
generation-diversity | Use ao escrever qualquer prompt generativo — semente ritual, estrutura explícita, eixos de cenário e portões de qualidade antes de chamadas de API pagas. | npx skills add PrunaAI/pruna-skills@generation-diversity -y |
image-prompting | Use ao criar prompts de imagem estática para qualquer modelo generativo — composição, fichas de identidade, edições, provadores e personas fotorrealistas. | npx skills add PrunaAI/pruna-skills@image-prompting -y |
pruna-api | Use antes de qualquer chamada HTTP para Pruna ou Replicate — credenciais, upload/poll/download, lotes paralelos e segurança do agente. | npx skills add PrunaAI/pruna-skills@pruna-api -y |
Ou instale a suíte completa de uma vez: npx skills add PrunaAI/pruna-skills@pruna -y
Siga as seções Antes de gerar / de criação de cada skill — não reafirme o conteúdo do guia aqui.
Hábito do agente
Na primeira resposta, nomeie `p-image-try-on` entre crases, confirme PRUNA_API_KEY, então pergunte por person_image + garment_images. Abra a coleta → coleta de esclarecimento generation-diversity quando silencioso. Quando as referências precisarem de desambiguação, elabore com Criação de prompt (dinâmico + fiel) — não cole exemplos da skill. Redirecione trabalhos de apenas fundo/sem roupa para p-image-edit.
Criação de prompt (dinâmico + fiel)
Identidade e roupas vêm de person_image + garment_images[]. O opcional prompt apenas desambigua referências — não inventa uma nova pessoa ou roupa.
| Faça | Não faça |
|---|---|
Trave a URL de person_image e de cada garment_images[] primeiro; omita prompt em fotos de roupa planas e limpas | Descreva uma nova cena, modelo ou roupa que o usuário não forneceu |
Quando as referências forem ambíguas: a camiseta verde da imagem 1 e as calças da imagem 2 (criação de provador image-prompting) | Prompts apenas de clima (vibração editorial de moda) ou copie o exemplo estendido desta skill quando as referências diferirem |
| Semente ritual antes de redigir a redação de desambiguação; varie a redação quando houver múltiplos mapeamentos válidos | Use prompt para trocas de fundo — redirecione para p-image-edit |
Mostre prompt (se necessário) antes do POST quando as referências forem ambíguas | Provador silencioso que mude pose, rosto ou roupas além do solicitado |
Verificação de fidelidade (antes de pagar): a saída ainda deve ser a pessoa do usuário na(s) roupa(s) do usuário. Se prompt puder se aplicar a um conjunto diferente de referências, reescreva a desambiguação.
Quando NÃO usar
Use uma skill diferente:
| Skill | Descrição | Instalação |
|---|---|---|
p-image | Use quando alguém quiser explicitamente a geração de fotos mais rápida e barata — mood boards, painéis em massa ou iterações rápidas — não quando for necessário fotorrealismo controlado ou texto na imagem. | npx skills add PrunaAI/pruna-skills@p-image -y |
p-image-edit | Use quando alguém quiser editar uma foto existente — trocar roupas ou fundos, compor a partir de imagens de referência ou aplicar edições orientadas por prompt. | npx skills add PrunaAI/pruna-skills@p-image-edit -y |
Preços
Por geração (o mesmo para modo normal e turbo):
- $0,015 para a primeira roupa
- $0,008 para cada roupa adicional
Exemplo: 3 roupas → $0,015 + 2 × $0,008 = $0,031.
Formato da requisição
Um person_image, uma entrada garment_images[] por peça (até 11), opcional reference_pose. O modelo classifica automaticamente cada roupa — a ordem do array não importa. Categorias mistas pertencem a uma chamada.
prompt— apenas quando uma referência mostra múltiplas roupas ou está sendo usada em um manequim; fotos planas e limpas não precisam de prompt.preserve_input_size: true(padrão) — as dimensões de saída seguem a imagem da pessoa.
Mapa de campos Runware: person → person_image, garment → garment_images[], pose → reference_pose, positivePrompt → prompt, settings.turbo → turbo.
HTTP (curl)
Upload de imagens
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: ${PRUNA_API_KEY}" \
-F "content=@/caminho/para/pessoa.jpg"
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: ${PRUNA_API_KEY}" \
-F "content=@/caminho/para/roupa.png"
Use o urls.get de cada resposta em input.person_image e input.garment_images[]. Opcional: reference_pose.
Criar (assíncrono — recomendado)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-image-try-on' \
-d '{
"input": {
"person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
"garment_images": ["https://api.pruna.ai/v1/files/GARMENT_FILE_ID"]
}
}'
Faça polling e download: siga pruna-api.
Complete o ritual de semente aleatória de generation-diversity antes de escrever prompts — não passe a string do ritual como seed da API.
Criar (síncrono — apenas teste rápido)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-image-try-on' \
-H 'Try-Sync: true' \
-d '{
"input": {
"person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
"garment_images": ["https://api.pruna.ai/v1/files/GARMENT_FILE_ID"]
}
}'
Entrada estendida (turbo + pose + prompt)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-image-try-on' \
-d '{
"input": {
"person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
"garment_images": [
"https://api.pruna.ai/v1/files/MULTI_GARMENT_SHOT_ID",
"https://api.pruna.ai/v1/files/BOTTOM_ID"
],
"reference_pose": "https://api.pruna.ai/v1/files/POSE_REF_ID",
"prompt": "the green t-shirt from image 1 and the trousers from image 2",
"turbo": true,
"output_format": "jpg",
"output_quality": 95,
"preserve_input_size": true
}
}'
Antes de gerar
- Complete a ordem de leitura dos Pré-requisitos (
generation-diversity→ criação de provadorimage-prompting). - Semente ritual → elabore
promptopcional de desambiguação dinâmica + fiel (seção acima) → confirmeperson_image,garment_images(≤6 para finais; 7–8 geralmente funcionam; 9–11 podem descartar os últimos itens) e opcionaisturbo/reference_pose/prompt. - Notas Pruna: um item por parte do corpo (meias + sapatos → geralmente sapatos vencem).
turbo(~2,5–3,5 s) está desligado por padrão — não recomendado acima de ~4 roupas para finais. Recortes de corpo inteiro ou três quartos funcionam melhor. Omita luvas, mitenes, adereços de mão, lenços de bolso, suspensórios, broches degarment_images[].
Entrada necessária
person_image(URL de string)garment_images(array de URLs de strings, até 11)
Campos opcionais comuns
seed,output_format(webp/jpg/png, padrãojpg),output_quality(0–100, padrão 95)preserve_input_size(booleano, padrãotrue)turbo(booleano, padrãofalse)reference_pose(URL da imagem da pessoa)prompt(EXPERIMENTAL — desambigua referências de não-plano / multi-roupa)
Próximos passos típicos
Acompanhamentos comuns após esta skill:
| Skill | Descrição | Instalação |
|---|---|---|
p-image-upscale | Use quando alguém quiser aumentar a escala ou nitidez de uma imagem existente para impressão, grandes recortes ou entrega de maior qualidade. | npx skills add PrunaAI/pruna-skills@p-image-upscale -y |
p-video-2-pro | Use quando alguém quiser um clipe cinematográfico a partir de texto ou quadros inicial/final — anúncios de produto, tomadas documentais ou diálogo com áudio gerado. Não para 1080p, faixas de áudio importadas ou apresentadores apenas com fala. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video-2 | Use quando alguém quiser um clipe curto e polido a partir de texto, imagens ou áudio importado — B-roll em 1080p, animação de quadro inicial/final ou uma tomada em movimento com faixa mista. Não para clipes cinematográficos com áudio gerado ou apresentadores apenas com fala. | npx skills add PrunaAI/pruna-skills@p-video-2 -y |
p-video | Use quando alguém quiser um clipe curto e simples a partir de texto ou imagens — B-roll rápido, rascunhos ou animação de quadro inicial/final. Não quando o briefing precisar de geração cinematográfica, máxima qualidade, sincronia labial precisa ou áudio importado em 1080p. | npx skills add PrunaAI/pruna-skills@p-video -y |
p-video-avatar | Use quando alguém quiser uma pessoa na câmera falando um script — apresentador com sincronia labial, porta-voz ou avatar narrado a partir de uma foto de retrato. | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |