Veja como usar umas das melhores IA para remoção de fundo de imagem!
See the codeUma API REST poderosa para remoção automática de fundos de imagens usando inteligência artificial.
git clone https://github.com/lusrodri/canva-copy-api.git
cd canva-copy-api
# Criar ambiente virtual
python -m venv env
# Ativar ambiente virtual (Windows)
.\env\Scripts\activate
# Para Linux/Mac
source env/bin/activate
pip install -r requirements.txt
fastapi run main.py
A API estará disponível em: http://localhost:8000
docker build -t canva-copy-api .
docker run -p 8000:8000 canva-copy-api
ZhengPeng7/BiRefNet-matting (carregado automaticamente do Hugging Face)GET /pingHealth check - Verifica se a API está funcionando
Resposta:
{
"status": "ok",
"message": "I Hate Background API is running"
}
POST /remove-backgroundRemove o fundo de uma imagem enviada
Parâmetros:
file: Arquivo de imagem (multipart/form-data)Resposta:
Exemplo com curl:
curl -X POST "http://localhost:8000/remove-background" \
-H "accept: image/png" \
-H "Content-Type: multipart/form-data" \
-F "file=@sua_imagem.jpg" \
--output resultado.png
Exemplo com Python:
import requests
url = "http://localhost:8000/remove-background"
files = {"file": open("sua_imagem.jpg", "rb")}
response = requests.post(url, files=files)
if response.status_code == 200:
with open("resultado.png", "wb") as f:
f.write(response.content)
print("Fundo removido com sucesso!")
Para testar a funcionalidade:
python test_bg_remover.py
O BackgroundRemover utiliza o modelo BiRefNet-matting e segue este fluxo:
📥 Pré-processamento:
🧠 Predição:
📤 Pós-processamento:
🎯 Otimizações:
❌ Erro de CUDA/GPU:
RuntimeError: CUDA out of memory
✅ Solução: A API automaticamente usa CPU como fallback
❌ Erro de autenticação HF:
HTTPError: 401 Client Error: Unauthorized
✅ Solução: O modelo BiRefNet não requer autenticação. Verifique se o modelo está sendo baixado corretamente.
❌ Erro de dependências:
ModuleNotFoundError: No module named 'torch'
✅ Solução: Reinstale as dependências: pip install -r requirements.txt
❌ Erro de memória:
RuntimeError: [enforce fail at alloc_cpu.cpp]
✅ Solução: Reduza o tamanho da imagem ou use uma máquina com mais RAM
❌ Erro de modelo não encontrado:
OSError: ZhengPeng7/BiRefNet-matting does not appear to be a repository
✅ Solução: Verifique sua conexão com a internet. O modelo será baixado automaticamente na primeira execução.
O projeto não requer variáveis de ambiente específicas, mas você pode configurar:
# Opcional: forçar uso de CPU
export CUDA_VISIBLE_DEVICES=""
# Opcional: definir cache do Hugging Face
export HF_HOME=/path/to/cache
# Build
docker build -t canva-copy-api .
# Run em produção
docker run -d -p 8000:8000 --name bg-remover canva-copy-api
Execute os testes unitários:
python test_bg_remover.py
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Se você encontrar algum problema ou tiver sugestões:
⭐ Se este projeto foi útil para você, considere dar uma estrela no repositório!
Veja como usar umas das melhores IA para remoção de fundo de imagem!
See the codeUma API REST poderosa para remoção automática de fundos de imagens usando inteligência artificial.
git clone https://github.com/lusrodri/canva-copy-api.git
cd canva-copy-api
# Criar ambiente virtual
python -m venv env
# Ativar ambiente virtual (Windows)
.\env\Scripts\activate
# Para Linux/Mac
source env/bin/activate
pip install -r requirements.txt
fastapi run main.py
A API estará disponível em: http://localhost:8000
docker build -t canva-copy-api .
docker run -p 8000:8000 canva-copy-api
ZhengPeng7/BiRefNet-matting (carregado automaticamente do Hugging Face)GET /pingHealth check - Verifica se a API está funcionando
Resposta:
{
"status": "ok",
"message": "I Hate Background API is running"
}
POST /remove-backgroundRemove o fundo de uma imagem enviada
Parâmetros:
file: Arquivo de imagem (multipart/form-data)Resposta:
Exemplo com curl:
curl -X POST "http://localhost:8000/remove-background" \
-H "accept: image/png" \
-H "Content-Type: multipart/form-data" \
-F "file=@sua_imagem.jpg" \
--output resultado.png
Exemplo com Python:
import requests
url = "http://localhost:8000/remove-background"
files = {"file": open("sua_imagem.jpg", "rb")}
response = requests.post(url, files=files)
if response.status_code == 200:
with open("resultado.png", "wb") as f:
f.write(response.content)
print("Fundo removido com sucesso!")
Para testar a funcionalidade:
python test_bg_remover.py
O BackgroundRemover utiliza o modelo BiRefNet-matting e segue este fluxo:
📥 Pré-processamento:
🧠 Predição:
📤 Pós-processamento:
🎯 Otimizações:
❌ Erro de CUDA/GPU:
RuntimeError: CUDA out of memory
✅ Solução: A API automaticamente usa CPU como fallback
❌ Erro de autenticação HF:
HTTPError: 401 Client Error: Unauthorized
✅ Solução: O modelo BiRefNet não requer autenticação. Verifique se o modelo está sendo baixado corretamente.
❌ Erro de dependências:
ModuleNotFoundError: No module named 'torch'
✅ Solução: Reinstale as dependências: pip install -r requirements.txt
❌ Erro de memória:
RuntimeError: [enforce fail at alloc_cpu.cpp]
✅ Solução: Reduza o tamanho da imagem ou use uma máquina com mais RAM
❌ Erro de modelo não encontrado:
OSError: ZhengPeng7/BiRefNet-matting does not appear to be a repository
✅ Solução: Verifique sua conexão com a internet. O modelo será baixado automaticamente na primeira execução.
O projeto não requer variáveis de ambiente específicas, mas você pode configurar:
# Opcional: forçar uso de CPU
export CUDA_VISIBLE_DEVICES=""
# Opcional: definir cache do Hugging Face
export HF_HOME=/path/to/cache
# Build
docker build -t canva-copy-api .
# Run em produção
docker run -d -p 8000:8000 --name bg-remover canva-copy-api
Execute os testes unitários:
python test_bg_remover.py
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Se você encontrar algum problema ou tiver sugestões:
⭐ Se este projeto foi útil para você, considere dar uma estrela no repositório!