Início Rápido
Comece com Qwen Image Edit em minutos
Configuração Inicial
1. Criar Conta e Obter API Key
- Registre-se em qwen.com
- Acesse o painel após confirmar seu email
- Navegue até "API Keys" no menu lateral
- Clique em "Gerar Nova Chave"
- Copie e salve sua chave API com segurança
2. Instalação
JavaScript/TypeScript
npm install qwen-image-edit
# ou
yarn add qwen-image-edit
Python
pip install qwen-image-edit
Outras Linguagens
- PHP:
composer require qwen/image-edit
- Java: Disponível no Maven Central
- Go:
go get github.com/qwen/image-edit-go
- Ruby:
gem install qwen-image-edit
3. Configuração Básica
JavaScript/TypeScript
import { QwenImageEdit } from 'qwen-image-edit';
const editor = new QwenImageEdit({
apiKey: 'sua-chave-api-aqui',
region: 'us-east-1' // opcional
});
Python
from qwen_image_edit import QwenImageEdit
editor = QwenImageEdit(
api_key='sua-chave-api-aqui',
region='us-east-1' # opcional
)
Variáveis de Ambiente
# .env
QWEN_API_KEY=sua-chave-api-aqui
QWEN_REGION=us-east-1
// Usando variáveis de ambiente
const editor = new QwenImageEdit({
apiKey: process.env.QWEN_API_KEY,
region: process.env.QWEN_REGION
});
Primeira Edição
Edição de Texto Simples
// Editar texto existente
const resultado = await editor.editText({
imagem: './minha-imagem.jpg',
prompt: 'Mudar "Olá" para "Oi"'
});
console.log('Imagem editada:', resultado.imagemUrl);
console.log('Imagem original:', resultado.imagemOriginal);
Adicionar Novo Texto
// Adicionar texto em posição específica
const resultado = await editor.editText({
imagem: './foto.jpg',
prompt: 'Adicionar "NOVO" em vermelho no canto superior direito',
posicao: {
x: 800,
y: 50,
alinhamento: 'direita'
},
cor: '#ff0000',
tamanho: 'grande'
});
Edição de Elementos
// Adicionar objeto à imagem
const resultado = await editor.editElement({
imagem: './paisagem.jpg',
prompt: 'Adicionar um pássaro voando no céu azul',
acao: 'adicionar',
estilo: 'fotorrealista'
});
// Remover objeto da imagem
const resultado = await editor.editElement({
imagem: './foto-com-objeto.jpg',
prompt: 'Remover a pessoa da foto',
acao: 'remover'
});
Recursos Principais
1. Edição de Texto
Edição Contextual
const resultado = await editor.editText({
imagem: 'banner.jpg',
prompt: 'Mudar "SALE" para "OFERTA" mantendo o mesmo estilo',
preservarEstilo: true
});
Controle de Estilo
const resultado = await editor.editText({
imagem: 'poster.jpg',
prompt: 'Adicionar "NOVO PRODUTO"',
fonte: 'Arial Bold',
tamanho: 48,
cor: '#ffffff',
posicao: {
x: 400,
y: 200,
alinhamento: 'centro'
},
opacidade: 0.9
});
2. Manipulação de Elementos
Adicionar Elementos
const resultado = await editor.editElement({
imagem: 'quarto.jpg',
prompt: 'Adicionar uma planta verde no canto',
acao: 'adicionar',
estilo: 'realista',
fusao: 'natural'
});
Modificar Elementos
const resultado = await editor.editElement({
imagem: 'carro.jpg',
prompt: 'Mudar a cor do carro para azul',
acao: 'modificar',
intensidade: 0.8
});
3. Transferência de Estilo
Estilos Predefinidos
const resultado = await editor.transferStyle({
imagem: 'retrato.jpg',
estilo: 'aquarela',
intensidade: 0.7,
preservarDetalhes: true
});
Estilo Personalizado
const resultado = await editor.transferStyle({
imagem: 'paisagem.jpg',
estilo: 'Transformar em pintura impressionista com cores vibrantes',
intensidade: 0.6,
paleta: ['#ff6b6b', '#4ecdc4', '#45b7d1', '#96ceb4']
});
Melhores Práticas
1. Prompts Eficazes
✅ Bons Prompts
// Específico e claro
'Mudar "SALE" para "OFERTA" mantendo a fonte vermelha e negrita'
// Descreve a ação desejada
'Adicionar um logo da empresa no canto superior esquerdo'
// Inclui detalhes de estilo
'Remover o fundo e deixar apenas a pessoa'
❌ Prompts Problemáticos
// Muito vago
'Melhorar a imagem'
// Muito complexo
'Mudar tudo para ficar mais bonito e moderno com cores diferentes'
// Contraditório
'Adicionar texto grande mas discreto'
2. Otimização de Performance
Redimensionar Imagens Grandes
// Para imagens muito grandes, redimensione primeiro
const imagemRedimensionada = await editor.resizeImage({
imagem: 'imagem-4k.jpg',
dimensoes: {
largura: 1920,
altura: 1080
},
manterAspecto: true
});
// Depois edite a imagem redimensionada
const resultado = await editor.editText({
imagem: imagemRedimensionada.imagemUrl,
prompt: 'Adicionar título'
});
Usar Cache para Operações Repetidas
const editor = new QwenImageEdit({
apiKey: process.env.QWEN_API_KEY,
cache: true,
cacheConfig: {
ttl: 3600, // 1 hora
maxSize: 100
}
});
3. Tratamento de Erros
try {
const resultado = await editor.editText({
imagem: 'minha-imagem.jpg',
prompt: 'Editar texto'
});
console.log('Sucesso:', resultado.imagemUrl);
} catch (error) {
switch (error.codigo) {
case 'AUTH_INVALID':
console.error('Chave API inválida');
break;
case 'IMAGE_TOO_LARGE':
console.error('Imagem muito grande, redimensione primeiro');
break;
case 'QUOTA_EXCEEDED':
console.error('Cota excedida, atualize seu plano');
break;
default:
console.error('Erro:', error.mensagem);
}
}
Exemplos Práticos
1. Localização de Marketing
// Traduzir texto em banner promocional
const bannerLocalizado = await editor.editText({
imagem: 'banner-en.jpg',
prompt: 'Mudar "SALE" para "PROMOÇÃO" e "50% OFF" para "50% DE DESCONTO"',
preservarEstilo: true
});
2. E-commerce
// Remover fundo de produto
const produtoSemFundo = await editor.editElement({
imagem: 'produto-com-fundo.jpg',
prompt: 'Remover o fundo, deixar apenas o produto',
acao: 'remover'
});
// Adicionar selo promocional
const produtoComSelo = await editor.editText({
imagem: produtoSemFundo.imagemUrl,
prompt: 'Adicionar selo "NOVO" em vermelho no canto superior direito',
cor: '#ff0000',
tamanho: 'medio'
});
3. Criação de Conteúdo
// Criar thumbnail para vídeo
const thumbnail = await editor.editText({
imagem: 'frame-video.jpg',
prompt: 'Adicionar título "COMO FAZER" em letras grandes e chamativas',
fonte: 'Impact',
tamanho: 'grande',
cor: '#ffffff',
contorno: '#000000'
});
// Aplicar estilo dramático
const thumbnailEstilizada = await editor.transferStyle({
imagem: thumbnail.imagemUrl,
estilo: 'cinematográfico com alto contraste',
intensidade: 0.5
});
Análise de Imagem
Detectar Conteúdo
// Analisar o que há na imagem
const analise = await editor.analyzeImage({
imagem: 'foto-complexa.jpg',
detectar: ['texto', 'objetos', 'cores']
});
console.log('Texto encontrado:', analise.texto);
console.log('Objetos detectados:', analise.objetos);
console.log('Cores dominantes:', analise.cores.dominantes);
Usar Análise para Edição Inteligente
// Primeiro analisar
const analise = await editor.analyzeImage({
imagem: 'documento.jpg',
detectar: ['texto']
});
// Depois editar baseado na análise
if (analise.texto.length > 0) {
const textoOriginal = analise.texto[0].conteudo;
const resultado = await editor.editText({
imagem: 'documento.jpg',
prompt: `Mudar "${textoOriginal}" para "TEXTO ATUALIZADO"`
});
}
Processamento em Lote
// Processar múltiplas imagens
const imagens = ['img1.jpg', 'img2.jpg', 'img3.jpg'];
const resultados = await Promise.all(
imagens.map(imagem =>
editor.editText({
imagem,
prompt: 'Adicionar marca d\'água "CONFIDENCIAL"'
})
)
);
console.log('Todas as imagens processadas:', resultados.length);
Próximos Passos
📚 Aprofunde seus Conhecimentos
- Exemplos Avançados - Casos de uso complexos
- Referência da API - Documentação completa
- Configuração - Otimizações e configurações
- Solução de Problemas - Resolva problemas comuns
🛠️ Ferramentas e Recursos
- Playground Online: Teste a API no navegador
- Postman Collection: Coleção pronta para testes
- Exemplos no GitHub: Código fonte completo
- Discord da Comunidade: Tire dúvidas e compartilhe experiências
💡 Dicas Avançadas
- Use webhooks para processamento assíncrono
- Implemente cache para melhor performance
- Configure monitoramento para aplicações em produção
- Explore a transferência de estilo para efeitos criativos
Parabéns! 🎉 Você está pronto para começar a editar imagens com IA. Experimente diferentes prompts e descubra o poder do Qwen Image Edit.