GitHub Hot Board

GitHub Hot Board · Arquivo do repositório

Anionex/banana-slides

一站式原生AI PPT生成应用,几分钟内生成一套幻灯片; 支持上传任意模板图片,上传任意素材&智能解析,一句话/大纲/页面描述自动生成PPT,口头修改指定区域、一键导出可编辑ppt、视频等 - An AI-native slides generator based on nano banana/gpt-image (Esta descrição vem do próprio repositório.)

Dados de October 27Anionex

Melhor colocação

#438

Histórico · TypeScript por idioma

16K

Total de estrelas

1.8K

Total de forks

0

Dias nos rankings (30 d)

Estado do projetoLicença: AGPL-3.0Último push: October 27Issues abertos (PR incl.): 71

Coletado desde 2026-10-25; desconhecido = ainda não coletado

Coloque o emblema no seu README · Anionex/banana-slides[![Coloque o emblema no seu README](https://git.vaiox.xyz/api/badge/Anionex/banana-slides.svg)](https://git.vaiox.xyz/pt/repo/Anionex/banana-slides)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/pt/repo/Anionex/banana-slides"><img src="https://git.vaiox.xyz/api/badge/Anionex/banana-slides.svg" alt="Coloque o emblema no seu README" height="20"></a>

Documentação do projeto

Banana Slides — Vibe your way to great slides.Banana Slides — Vibe your way to great slides.

Um app de apresentações nativo de IA, baseado em modelos de geração de imagens, transforma ideias em slides em minutos.
Sem formatação trabalhosa: edite com linguagem natural e experimente o verdadeiro Vibe PPT.

简体中文简体中文EnglishEnglishPortuguêsPortuguês日本語日本語한국어한국어

Demo online   DocumentaçãoDocumentação   Desktop RC7Desktop RC7   ImplantaçãoImplantação

anion_exanion_ex   Grupo WeChatGrupo WeChat

GitHub StarsGitHub Stars        GitHub ForksGitHub Forks        GitHub WatchersGitHub Watchers

Anionex%2Fbanana-slides | TrendshiftAnionex%2Fbanana-slides | Trendshift   Featured|HelloGitHubFeatured|HelloGitHub

v0.9.0-rc.7v0.9.0-rc.7   AGPL-3.0AGPL-3.0   Docker BuildDocker Build   Ask DeepWikiAsk DeepWiki

Se este projeto for útil para você, deixe umSe este projeto for útil para você, deixe um StarStar && ForkFork

❤️ Patrocinadores

Clique para recolher

AIHubMix

Agradecemos à AIHubMix por patrocinar este projeto! AIHubMix é uma plataforma agregadora de APIs de grandes modelos de IA estável e de alta concorrência; com apenas uma chave de API, você pode acessar modelos populares como Claude, GPT, Gemini, DeepSeek, entre outros, sendo compatível com diversos protocolos.

Ao se registrar, usuários no exterior devem usar o acesso AIHubMix, e usuários na China continental devem usar o acesso Inferera.

火山引擎

Agradecemos à 火山引擎 por patrocinar este projeto! Em comparação com as APIs oficiais internacionais populares, os preços são mais baixos e o custo-benefício é maior, com resultados de geração semelhantes; conexão direta na China, sem necessidade de ambiente de rede especial. Após a assinatura, também pode ser usado para uso diário e outras ferramentas compatíveis, não se limitando ao Banana Slides.

Ver ofertas e assinar →

Quer patrocinar este projeto? Por favor, envie um e-mail para davidyang042@gmail.com.

🔥 Últimas Novidades

Clique para recolher
  • [2026-09-05]:Lançamento da versão candidata 0.9.0 RC7, corrigindo o problema onde o Codex (OpenAI OAuth) estava conectado, mas a geração de imagens retornava 400: a chamada interna do modelo principal foi atualizada de gpt-5.4 para gpt-5.6-terra, o modelo de imagem permanece gpt-image-2, sem necessidade de alterar o modelo de imagem para modelo de texto. Esta versão também inclui descrições de estilo orientadas por conteúdo pós-RC6 e suporte para geração de imagens SenseNova U1; ver instruções de download e instalação
  • [2026-08-30]:Lançamento da versão candidata 0.9.0 RC6, adicionando verificação de atualização na inicialização do desktop (opcional), cartões de atualização com resumo e links para logs completos, além de progresso de download, tentativa em caso de falha e reinicialização para instalação; também corrige tarefas de imagem assíncronas APIMart compatíveis com OpenAI, requisições sem streaming e passagem de resolução 1K/2K/4K; ver instruções de download e instalação
  • [2026-08-29]:Lançamento da versão candidata 0.9.0 RC5, adicionando player de slides online imersivo e predefinição de Provedor APIMart compatível com OpenAI; a verificação de atualização da versão desktop agora segue corretamente o canal RC; melhoria nas mensagens de erro de credenciais MinerU para reformulação de PPT, correção de risco SSRF em imagens remotas de documentos de referência e definição do modo de seleção como padrão na edição de imagens; ver instruções de download e instalação
  • [2026-08-20]:Lançamento da versão candidata 0.9.0 RC4, com foco na correção de provedores online LazyLLM indisponíveis (qwen, etc.) na versão desktop empacotada e ausência de dependência de proxy SOCKS; restauração do botão "Voltar" na página de visualização para retornar à edição de descrição; correção de sobreposição da janela de tarefas de exportação e interação da gaveta de propriedades no desktop; download e instalação com um clique
  • [2026-08-20]:O botão "Voltar" foi restaurado na página de visualização, permitindo retornar da visualização de slides para a página de edição de descrição com um clique para continuar as modificações
  • [2026-08-20]:Correção do problema onde a janela flutuante de tarefas de exportação era bloqueada pela gaveta de propriedades da página; a gaveta de propriedades da página no desktop agora expande por padrão e se adapta automaticamente à largura da janela
  • [2026-07-31]:A versão desktop empacotada registrou totalmente 11 provedores online LazyLLM (qwen / doubao / deepseek / glm / kimi / minimax / sensenova / siliconflow / ppio / aiping / openai), corrigindo o erro Unsupported source: qwen na versão empacotada
  • [2026-08-06]:Lançamento da versão candidata 0.9.0 RC3, com foco na correção da configuração e recuperação de credenciais do Volcengine Agent Plans, além de trazer isolamento de fluxo de tópicos, edição de slides no local, contrato de campos v2, correspondência de modelos e melhorias na exportação de PPTX editável; download e instalação com um clique
  • [2026-07-15]:Predefinições personalizadas de requisitos de tópicos/descrição agora corrigem automaticamente o cache corrompido do navegador, mantendo as predefinições válidas e evitando que caches anômalos bloqueiem a página de edição
  • [2026-07-11]:Lançamento da versão candidata 0.9.0 RC2, contendo todos os recursos do RC1 e corrigindo a inconsistência de diretório MinerU para PPTX editável no Windows desktop e erro de caminho FFprobe em vídeos explicativos; download e instalação com um clique
  • [2026-06-23]:Lançamento de modelos página por página — suporte aos modos de modelo unificado ou modelo independente por página; permite upload de imagens ou PDF para construir uma biblioteca de modelos de projeto; a IA analisa automaticamente o estilo do modelo e faz a correspondência inteligente para cada página, ou permite vinculação manual página por página; troca bidirecional entre os dois modos a qualquer momento (documentação)
  • [2026-04-25]:Lançamento da Caixa de Ferramentas de Materiais — novos modos de edição de imagem completa, edição por seleção (sobrepor/substituir) e apagamento inteligente adicionados à geração de materiais original, com entrada unificada e operação em um só lugar
  • [2026-04-25]:Suporte para login e vinculação de conta via OAuth oficial da OpenAI; após a vinculação, o Codex pode ser usado diretamente como provedor de geração de texto/imagem sem preenchimento manual de API Key; contas Plus podem gerar mais de 100 imagens 2k em cinco horas (tutorial) (baseado no fluxo de autorização OAuth PKCE oficial da OpenAI, não é engenharia reversa)
  • [2026-04-25]:Suporte para salvar modelos personalizados de estilo de texto, permitindo nomear, colorir e reutilizar de forma persistente, sem necessidade de redigitar todas as vezes
  • [2026-04-23]:Suporte ao modelo gpt-image-2; o efeito de exportação de fundos editáveis também foi aprimorado devido à atualização das capacidades do modelo (em Configurações - Opções de Exportação - Obtenção de Fundo, selecione Obtenção Generativa)
  • [2026-04-11]:Suporte para operações via CLI e adição de agent skills

Origem do Projeto

Você já se viu nesta situação: a apresentação é amanhã, mas o PPT ainda está em branco; sua mente está cheia de ideias brilhantes, mas todo o seu entusiasmo é consumido pela formatação e pelo design tediosos?

Eu (nós) desejo(amos) criar rapidamente apresentações que sejam profissionais e tenham um bom design. Os aplicativos tradicionais de geração de PPT por IA, embora atendam amplamente à demanda por "rapidez", ainda apresentam os seguintes problemas:

  • 1️⃣ Só permitem escolher modelos predefinidos, sem flexibilidade para ajustar o estilo
  • 2️⃣ Baixo nível de liberdade, dificultando a realização de múltiplas rodadas de alterações
  • 3️⃣ O visual dos produtos finais é muito semelhante, com uma homogeneização severa
  • 4️⃣ A qualidade dos materiais é baixa e falta especificidade
  • 5️⃣ A diagramação de texto e imagem é fragmentada, com pouco senso de design

Essas deficiências tornam difícil para os geradores de PPT por IA tradicionais satisfazerem simultaneamente nossas duas grandes necessidades na criação de PPTs: "rapidez" e "beleza". Mesmo aqueles que se autodenominam Vibe PPT, aos meus olhos, ainda não são "Vibe" o suficiente.

No entanto, o surgimento do modelo nano banana🍌 mudou tudo. Tentei usar o 🍌pro para gerar páginas de PPT e descobri que os resultados foram excelentes em termos de qualidade, estética e consistência, sendo capaz de renderizar com precisão quase todo o texto solicitado pelo prompt e seguir o estilo da imagem de referência. Então, por que não criar um aplicativo "Vibe PPT" nativo baseado no 🍌pro?

👨‍💻 Cenários de Uso

  1. Iniciantes: Geração rápida de PPTs estéticos com barreira zero, sem necessidade de experiência em design, reduzindo a preocupação com a escolha de modelos
  2. Profissionais de PPT: Referência de layouts e combinações de elementos gráficos e textuais gerados por IA, obtendo inspiração de design rapidamente
  3. Educadores: Conversão rápida de conteúdos de ensino em PPTs de planos de aula ilustrados, melhorando o efeito em sala de aula
  4. Estudantes: Conclusão rápida de apresentações de trabalhos, focando a energia no conteúdo em vez da formatação e estética
  5. Profissionais: Visualização rápida de propostas comerciais e apresentações de produtos, com adaptação rápida a múltiplos cenários

🎯Objetivo: Reduzir a barreira de criação de PPTs, permitindo que todos possam criar apresentações estéticas e profissionais rapidamente

Exemplos de Resultados

案例3 案例2
Melhores práticas de desenvolvimento de software Demonstração técnica do DeepSeek-V3.2
案例4 案例1
P&D e industrialização de equipamentos para linhas de produção inteligentes de pratos prontos A evolução do dinheiro: a jornada das conchas às notas de papel

Veja mais em Casos de uso

🎯 Funcionalidades

1. Caminhos de criação flexíveis e variados

Suporta três formas de começar: ideias, esboços e descrições de página, atendendo a diferentes hábitos de criação.

  • Geração com uma única frase: Insira um tema e a IA gera automaticamente um esboço com estrutura clara e descrições de conteúdo página por página.
  • Edição em linguagem natural: Suporta a modificação verbal de esboços ou descrições via Vibe (ex: "altere a terceira página para um estudo de caso"), com a IA respondendo aos ajustes em tempo real.
  • Modo Esboço/Descrição: Permite tanto a geração em lote com um clique quanto o ajuste manual de detalhes.
image

2. Poderosa capacidade de análise de materiais

  • Suporte a múltiplos formatos: Carregue arquivos PDF/Docx/MD/Txt e o sistema analisará o conteúdo automaticamente em segundo plano.
  • Extração inteligente: Identifica automaticamente pontos-chave, links de imagens e informações de gráficos no texto, fornecendo materiais ricos para a geração.
  • Armazenamento automático de imagens: As imagens extraídas dos documentos entrarão automaticamente na biblioteca de materiais do projeto após o arquivo de referência ser associado ao projeto, podendo ser reutilizadas diretamente no futuro.
  • Referência de estilo: Suporte para upload de imagens de referência ou modelos para personalizar o estilo do PPT.
文件解析与素材处理

3. Edição em linguagem natural estilo "Vibe"

Não se limite mais a botões de menu complexos; dê comandos de edição diretamente através de linguagem natural.

  • Redesenho parcial: faça modificações verbais em áreas insatisfatórias (ex: "troque este gráfico por um gráfico de pizza").
  • Otimização de página inteira: gere páginas em alta definição e com estilo unificado baseadas no nano banana pro🍌.
image

4. Exportação de formatos pronta para uso

  • Suporte a múltiplos formatos: exportação em um clique de arquivos PPTX ou PDF padrão.
  • Configurações de reprodução: antes de exportar para PPTX, é possível ativar animações de transição de página, com suporte a efeitos clássicos como esmaecimento.
  • Adaptação perfeita: proporção padrão 16:9, sem necessidade de ajustes secundários de layout, pronto para apresentação direta.
image PPT与PDF导出

5. Exportação de pptx livremente editável (em iteração Beta)

  • Exportar imagens como páginas de PPT de alta fidelidade, com fundo limpo e imagens e textos livremente editáveis
  • Para atualizações relacionadas, consulte #121
image

6. Exportar vídeos explicativos com um clique

  • Converta slides em vídeos explicativos (MP4) com narração de voz por IA e legendas com um clique
  • A IA gera automaticamente narrações coloquiais com base na descrição e no conteúdo da página
  • Suporta a configuração de vários estilos de expressão, vários idiomas e diversos timbres

🌟 Comparação de funcionalidades com o notebooklm slide deck

Funcionalidade notebooklm Este projeto
Limite de páginas 15 páginas Sem limite
Edição secundária Modificação por prompts Edição por seleção + edição verbal
Adição de materiais Não é possível adicionar após a geração Adição livre após a geração
Formatos de exportação Suporta exportação para PDF, pptx (imagens não editáveis) Exportação para PDF, pptx (imagem ou editável), vídeo explicativo
Marca d'água Versão gratuita tem marca d'água Sem marca d'água, liberdade para adicionar/remover elementos

Nota: Com a adição de novas funcionalidades, a comparação pode ficar desatualizada

🗺️ Plano de Desenvolvimento

Status Marco
✅ Concluído Adicionar mais materiais a uma única página de PPT
✅ Concluído Edição verbal Vibe de áreas selecionadas em uma única página de PPT
✅ Concluído Módulo de materiais: geração de materiais, upload, etc.
✅ Concluído Suporte para upload e análise de múltiplos tipos de arquivos
✅ Concluído Suporte para ajuste verbal Vibe de tópicos e descrições
✅ Concluído Suporte inicial para exportação de arquivos pptx editáveis
🔄 Em andamento Suporte para exportação de pptx editável com múltiplas camadas e recorte preciso
🔄 Em andamento Pesquisa na web
🔄 Em andamento Modo Agent
✅ Concluído Exportação de vídeo de explicação com TTS (múltiplas vozes em chinês/inglês/japonês, legendas)

📦 Como usar

(Novo) Implantação em um clique usando modelos de aplicativo

Esta é a maneira mais simples, sem necessidade de instalar o Docker ou baixar o projeto; você pode acessar o aplicativo diretamente após a criação.

  1. Implante e inicie este aplicativo com um clique via RainYun (Alta largura de banda, ideal para geração e download de imagens em alta definição. Novos usuários têm teste gratuito)

Implantação em um clique via RainYun

  1. Em breve

Usando Docker Compose🐳

Inicie rapidamente os serviços de front-end e back-end via Docker Compose.

📒 Instruções para usuários de Windows/Mac

Se você estiver usando Windows ou macOS, primeiro instale o Docker Desktop e certifique-se de que o Docker esteja em execução (no Windows, verifique o ícone na bandeja do sistema; no macOS, verifique o ícone na barra de menus) e siga as mesmas etapas do documento.

Dica: Se encontrar problemas, usuários de Windows devem habilitar o back-end WSL 2 nas configurações do Docker Desktop (recomendado); certifique-se também de que as portas 3011 e 5011 não estejam ocupadas.

  1. Clonar o repositório de código
git clone https://github.com/Anionex/banana-slides
cd banana-slides
  1. Configurar variáveis de ambiente

Crie o arquivo .env (consulte .env.example):

cp .env.example .env

(Opcional, também pode ser configurado na interface do usuário após a inicialização, clique aqui para o tutorial) Edite o arquivo .env e configure as variáveis de ambiente necessárias:

Clique para expandir os detalhes

As interfaces de modelos de linguagem de grande porte (LLM) no projeto seguem o padrão da plataforma AIHubMix. Recomenda-se usar o AIHubMix (clique aqui para acessar) para obter chaves de API e reduzir custos de migração
Dica amigável: As interfaces dos modelos Google nano banana pro têm custos elevados, atente-se aos custos de chamada

# AI Provider格式配置 (gemini / openai / volcengine / vertex)
AI_PROVIDER_FORMAT=gemini

# Gemini 格式配置(当 AI_PROVIDER_FORMAT=gemini 时使用)
GOOGLE_API_KEY=your-api-key-here
GOOGLE_API_BASE=https://generativelanguage.googleapis.com
# 代理示例: https://api.inferera.com/gemini

# OpenAI 格式配置(当 AI_PROVIDER_FORMAT=openai 时使用)
OPENAI_API_KEY=your-api-key-here
OPENAI_API_BASE=https://api.openai.com/v1
# 代理示例: https://api.inferera.com/v1

# 商汤日日新 U1 图片模型(保留旧 Provider,图片走 OpenAI 兼容路径)
# 推荐:文本继续用 Gemini,只让图片走商汤
# IMAGE_MODEL_SOURCE=openai
# IMAGE_API_KEY=your-sensenova-api-key
# IMAGE_API_BASE=https://token.sensenova.cn/v1
# IMAGE_MODEL=sensenova-u1.5-lite

# 火山方舟 Agent Plans 配置(当 AI_PROVIDER_FORMAT=volcengine 时使用)
# 注意: Agent Plan 需使用专属 API Key 与模型名 (doubao-seed-2.1-turbo / doubao-seedream-5.0-lite)
VOLCENGINE_API_KEY=your-volcengine-api-key-here
VOLCENGINE_API_BASE=https://ark.cn-beijing.volces.com/api/plan/v3

# Vertex AI 配置(AI_PROVIDER_FORMAT=vertex)
# 需要 GCP 项目和服务账户密钥
# VERTEX_PROJECT_ID=your-gcp-project-id
# VERTEX_LOCATION=global
# GOOGLE_APPLICATION_CREDENTIALS=./gcp-service-account.json

# Lazyllm 格式配置(当 AI_PROVIDER_FORMAT=lazyllm 时使用)
# 选择文本生成和图片生成使用的厂商
TEXT_MODEL_SOURCE=deepseek        # 文本生成模型厂商
IMAGE_MODEL_SOURCE=doubao         # 图片编辑模型厂商
IMAGE_CAPTION_MODEL_SOURCE=qwen   # 图片描述模型厂商

# 各厂商 API Key(只需配置你要使用的厂商)
DOUBAO_API_KEY=your-doubao-api-key            # 火山引擎/豆包
DEEPSEEK_API_KEY=your-deepseek-api-key        # DeepSeek
QWEN_API_KEY=your-qwen-api-key                # 阿里云/通义千问
GLM_API_KEY=your-glm-api-key                  # 智谱 GLM
SILICONFLOW_API_KEY=your-siliconflow-api-key  # 硅基流动
SENSENOVA_API_KEY=your-sensenova-api-key      # 商汤日日新
# U1 生图请优先使用上面的 IMAGE_MODEL_SOURCE=openai 配置;此 Key 用于旧 LazyLLM 路径
MINIMAX_API_KEY=your-minimax-api-key          # MiniMax
KIMI_API_KEY=your-kimi-api-key                # 月之暗面 Kimi
PPIO_API_KEY=your-ppio-api-key                # PPIO 派欧云
AIPING_API_KEY=your-aiping-api-key            # AIPing 爱拼
...

Banana Slides explicitly packages the LazyLLM online provider SDKs used by domestic vendors: volcengine-python-sdk[ark] for Doubao, dashscope for Qwen/Wanxiang, and zhipuai for GLM/Zhipu. LazyLLM also exposes lazyllm install online-advanced, but the PyPI wheel may not publish that group as a standard install extra, so Docker/prebuilt images rely on these explicit dependencies instead.

Desktop (PyInstaller) builds register every LazyLLM online vendor explicitly (qwen, doubao, deepseek, glm, kimi, minimax, sensenova, siliconflow, ppio, aiping, openai) so packaged backends never hit Unsupported source: ....

Use o novo método de configuração de exportação editável para obter melhores resultados de exportação editável: É necessário obter uma API KEY na Baidu Intelligent Cloud Platform (clique aqui para entrar) e preencher o campo BAIDU_API_KEY no arquivo .env (há uma cota de uso gratuito suficiente). Veja as instruções em #121

📒 Guia de Configuração do Vertex AI (para usuários do GCP)

O Google Cloud Vertex AI permite chamar modelos Gemini por meio de contas de serviço do GCP; novos usuários podem usar créditos de cortesia. Etapas de configuração:

  1. Vá para o GCP Console, crie uma conta de serviço e baixe o arquivo de chave no formato JSON
  2. Salve o arquivo de chave como gcp-service-account.json no diretório raiz do projeto
  3. Configure em .env:
    AI_PROVIDER_FORMAT=vertex
    VERTEX_PROJECT_ID=your-gcp-project-id
    VERTEX_LOCATION=global
  4. Se estiver usando implantação via Docker, você também precisará remover os comentários relevantes em docker-compose.yml, montar o arquivo de chave dentro do contêiner e configurar a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS.

Modelos da série gemini-3-* exigem VERTEX_LOCATION=global

  1. Iniciar os serviços

⚡ Usar imagens pré-construídas (recomendado)

O projeto fornece imagens de front-end e back-end construídas no Docker Hub (sincronizadas com a versão mais recente da ramificação principal), permitindo pular as etapas de construção local para uma implantação rápida:

# 使用预构建镜像启动(无需从头构建)
docker compose -f docker-compose.prod.yml up -d

Nomes das imagens:

  • anoinex/banana-slides-frontend:latest
  • anoinex/banana-slides-backend:latest

Após a inicialização, você pode ir em Configurações → Sobre → Verificar Atualizações dentro do aplicativo. O aplicativo determinará se há atualizações disponíveis com base no SHA da versão atual; ao executar a partir do código-fonte, o Git SHA atual também será usado para essa determinação.

Construir imagens do zero

docker compose up -d

Tip

Se encontrar problemas de rede, você pode remover o comentário da configuração da fonte de espelhamento no arquivo .env e executar o comando de inicialização novamente:

# 在 .env 文件中取消以下注释即可使用国内镜像源
DOCKER_REGISTRY=docker.1ms.run/
GHCR_REGISTRY=ghcr.nju.edu.cn/
APT_MIRROR=mirrors.aliyun.com
PYPI_INDEX_URL=https://mirrors.cloud.tencent.com/pypi/simple
NPM_REGISTRY=https://registry.npmmirror.com/
  1. Acessar o aplicativo
  1. Ver logs
# 查看后端日志(最后 200 行)
docker logs --tail 200 banana-slides-backend

# 实时查看后端日志(最后 100 行)
docker logs -f --tail 100 banana-slides-backend

# 查看前端日志(最后 100 行)
docker logs --tail 100 banana-slides-frontend
  1. Parar os serviços
docker compose down
  1. Atualizar o projeto

Usar imagens pré-construídas (docker-compose.prod.yml)

Você também pode ir primeiro em Configurações → Sobre → Verificar Atualizações no aplicativo para ver se há uma nova versão.

docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d

Usar construção local (docker-compose.yml)

Nota: Se você modificou o código manualmente, este método não se aplica; você precisa primeiro restaurar o código para a versão de quando foi baixado.

git pull 
docker compose down
docker compose build --no-cache
docker compose up -d

Nota: Agradecimentos ao excelente desenvolvedor @ShellMonster por fornecer o tutorial de implantação para iniciantes, projetado especificamente para novatos sem experiência em implantação de servidores. Clique no link para visualizar.

Implantação a partir do código-fonte

Requisitos do ambiente

  • Python 3.10 ou superior
  • uv - Gerenciador de pacotes Python
  • Node.js 16+ e npm
  • FFmpeg - Necessário para a exportação de vídeos explicativos, e deve incluir suporte aos filtros de legenda libass / ass
  • Uma chave de API válida do Google Gemini
  • (Opcional) LibreOffice - Necessário ao usar a função "Renovação de PPT" para upload de arquivos PPTX, utilizado para converter PPTX em PDF. Recomenda-se converter o PPTX para PDF localmente antes de fazer o upload, motivo: o LibreOffice pode causar erros de layout durante a renderização no servidor devido à falta de fontes (como Microsoft YaHei, Calibri, etc.) e não consegue restaurar completamente alguns efeitos especiais. O upload de arquivos PDF não requer o LibreOffice. Usuários de Docker que ainda precisarem de suporte para upload de PPTX dentro do contêiner podem executar:
    docker exec -it banana-slides-backend bash -c "apt-get update && apt-get install -y libreoffice-impress && rm -rf /var/lib/apt/lists/*"

    Observação: O LibreOffice instalado desta forma será perdido após a reconstrução do contêiner e precisará ser reinstalado.

Instalação do Backend

  1. Clonar o repositório de código
git clone https://github.com/Anionex/banana-slides
cd banana-slides
  1. Instalar o uv (se ainda não estiver instalado)
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Instalar dependências

Execute no diretório raiz do projeto:

# macOS(Homebrew)
brew install ffmpeg-full
brew unlink ffmpeg 2>/dev/null || true
brew link --overwrite --force ffmpeg-full

# Ubuntu / Debian
sudo apt-get update
sudo apt-get install -y ffmpeg libass9

# 然后安装 Python 依赖
uv sync

Isso instalará automaticamente todas as dependências de acordo com o pyproject.toml.

  1. Configurar variáveis de ambiente

Copie o modelo de variáveis de ambiente:

cp .env.example .env
# 然后按照前述方法,打开编辑 `.env` 文件,配置你的 API 密钥

Instalação do Front-end

  1. Acesse o diretório do front-end
cd frontend
  1. Instale as dependências
npm install
  1. Configure o endereço da API

O front-end se conectará automaticamente ao serviço de back-end especificado em BACKEND_PORT via Vite proxy (padrão http://localhost:5011). Se precisar modificar, configure BACKEND_PORT no arquivo .env na raiz do projeto.

Iniciar o serviço de back-end

(Opcional) Se houver dados locais importantes, recomenda-se fazer o backup do banco de dados antes da atualização:
cp backend/instance/database.db backend/instance/database.db.bak Observação: Na configuração padrão, modelos, materiais e produtos finais estão todos na pasta uploads/

cd backend
uv run alembic upgrade head && uv run python app.py

O serviço de back-end será iniciado em http://localhost:5011.

Acesse http://localhost:5011/health para verificar se o serviço está funcionando normalmente.

Iniciar o servidor de desenvolvimento front-end

cd frontend
npm run dev

O servidor de desenvolvimento front-end será iniciado em http://localhost:3011.

Abra o navegador e acesse para usar a aplicação.

Grupo de Comunicação

↑ Voltar ao topo

Sinta-se à vontade para sugerir novas funcionalidades ou dar feedback no grupo~

image

Siga o autor nas redes sociais, onde compartilharei informações sobre este projeto e sobre IA:

X (Twitter)

🔧 Perguntas Frequentes

Pode ser consultado na documentação oficial

Você também pode fazer perguntas diretamente no DeepWiki Ask DeepWiki

🤝 Guia de Contribuição

Contribuições para este projeto são bem-vindas através de Issue e Pull Request!

Importante: Antes de contribuir, leia o CONTRIBUTING.md

📄 Licença

Este projeto é de código aberto sob a GNU Affero General Public License v3.0 (AGPL-3.0), podendo ser utilizado livremente para fins não comerciais, como aprendizado pessoal, pesquisa, experimentação, educação ou atividades de pesquisa científica sem fins lucrativos; o uso comercial de código fechado requer autorização.

Para dúvidas, intenções de cooperação ou para obter a versão comercial multi-tenant, entre em contato com: davidyang042@gmail.com

Agradecimentos

  • Contribuidores do projeto:

Contribuidores

Apoio

Código aberto não é fácil 🙏 Se este projeto for valioso para você, sinta-se à vontade para pagar um café ao desenvolvedor ☕️

image

Agradecemos aos seguintes amigos pelo apoio e patrocínio voluntário ao projeto:

@雅俗共赏、@曹峥、@以年观日、@John、@胡yun星Ethan, @azazo1、@刘聪NLP、@🍟、@苍何、@万瑾、@biubiu、@law、@方源、@寒松Falcon、@刘星宇&小陀螺AIGC Se tiver dúvidas sobre a lista de patrocinadores, você pode entrar em contato com o autor

📈 Estatísticas do Projeto

Star History Chart
Versão em texto

Banana Slides

简体中文 · English · Português · 日本語 · 한국어

Demo online · Documentação · Desktop RC7 · Implantação · anion_ex · Grupo WeChat

Stars · Forks · Watchers · v0.9.0-rc.7 · AGPL-3.0 · Ask DeepWiki · Trendshift · HelloGitHub


AIHubMix

Agradecemos à AIHubMix por patrocinar este projeto! AIHubMix é uma plataforma agregadora de APIs de grandes modelos de IA estável e de alta concorrência; com apenas uma chave de API, você pode acessar modelos populares como Claude, GPT, Gemini, DeepSeek, entre outros, sendo compatível com diversos protocolos.

Ao se registrar, usuários no exterior devem usar o acesso AIHubMix, e usuários na China continental devem usar o acesso Inferera.

火山引擎

Agradecemos à 火山引擎 por patrocinar este projeto! Em comparação com as APIs oficiais internacionais populares, os preços são mais baixos e o custo-benefício é maior, com resultados de geração semelhantes; conexão direta na China, sem necessidade de ambiente de rede especial. Após a assinatura, também pode ser usado para uso diário e outras ferramentas compatíveis, não se limitando ao Banana Slides.

Ver ofertas e assinar →

Quer patrocinar este projeto? Por favor, envie um e-mail para davidyang042@gmail.com.

Colocações atuais

Evolução em 30 dias

Sem registros nos últimos 30 dias.

Projetos similares · temas compartilhados

← Voltar aos rankings

GitHub Hot BoardMáquina do tempoDiscover