Flask + Python + IA: Crie uma API que gera texto e imagens com OpenAI
✨ Introdução
A inteligência artificial generativa está revolucionando a forma como interagimos com tecnologia. Com modelos como ChatGPT e DALL·E, é possível criar textos, imagens e até código com simples comandos. Neste artigo, você vai aprender como construir uma API com Flask que se conecta a esses modelos de IA, permitindo que qualquer aplicação consuma inteligência artificial de forma simples e escalável.
🧰 Pré-requisitos
Antes de começar, você precisa ter:
- Python 3.8+
- Flask instalado (
pip install flask
) - Chave de API da OpenAI (ou outro provedor de IA generativa)
- Biblioteca
openai
instalada (pip install openai
)
🏗️ Estrutura do Projeto
Código
flask_ai_api/
├── app.py
├── config.py
└── requirements.txt
⚙️ Configuração Inicial
config.py
python
import os
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "sua-chave-aqui")
requirements.txt
Código
flask
openai
python-dotenv
🚀 Criando a API com Flask
app.py
python
from flask import Flask, request, jsonify
import openai
from config import OPENAI_API_KEY
app = Flask(__name__)
openai.api_key = OPENAI_API_KEY
@app.route('/generate-text', methods=['POST'])
def generate_text():
data = request.get_json()
prompt = data.get('prompt', '')
try:
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}]
)
result = response['choices'][0]['message']['content']
return jsonify({'response': result})
except Exception as e:
return jsonify({'error': str(e)}), 500
@app.route('/generate-image', methods=['POST'])
def generate_image():
data = request.get_json()
prompt = data.get('prompt', '')
try:
response = openai.Image.create(
prompt=prompt,
n=1,
size="512x512"
)
image_url = response['data'][0]['url']
return jsonify({'image_url': image_url})
except Exception as e:
return jsonify({'error': str(e)}), 500
if __name__ == '__main__':
app.run(debug=True)
🔐 Segurança e Boas Práticas
- Nunca exponha sua chave de API. Use variáveis de ambiente.
- Rate limiting: Implemente limites de requisição para evitar abusos.
- Logs e monitoramento: Use ferramentas como Sentry ou Prometheus.
🧪 Testando com Postman ou cURL
Gerar texto
bash
curl -X POST http://localhost:5000/generate-text \
-H "Content-Type: application/json" \
-d '{"prompt": "Explique o que é Flask em Python"}'
Gerar imagem
bash
curl -X POST http://localhost:5000/generate-image \
-H "Content-Type: application/json" \
-d '{"prompt": "Um robô programando em Python"}'
📦 Deploy com Docker (opcional)
dockerfile
# Dockerfile
FROM python:3.10
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
🧠 Expansões Futuras
- Salvar histórico de interações em banco de dados.
- Criar autenticação com JWT.
- Interface web com React ou Vue.
- Integração com outras IAs (Hugging Face, Stability AI).
🎯 Conclusão
Você acabou de criar uma API poderosa com Flask que se conecta a modelos de IA generativa. Essa arquitetura pode ser usada para criar chatbots, assistentes virtuais, geradores de conteúdo e muito mais. Com criatividade e boas práticas, você pode transformar essa base em um produto inovador.