Files
print_forge/site/social_ai/views.py
T
ai_ml_operations 8a97e3fbe2 Initial commit
2026-09-06 04:27:41 -07:00

28 lines
902 B
Python

import json
from django.contrib.auth.decorators import login_required
from django.http import JsonResponse
from django.views.decorators.http import require_POST
from social_ai.ollama import OllamaError, generate_social_post
@login_required
@require_POST
def api_generate(request):
"""JSON endpoint to draft posts via Ollama. POST JSON: prompt, platform."""
try:
payload = json.loads(request.body.decode() or "{}")
except json.JSONDecodeError:
payload = request.POST.dict()
prompt = (payload.get("prompt") or "").strip()
if not prompt:
return JsonResponse({"error": "prompt required"}, status=400)
try:
text = generate_social_post(
prompt, platform=(payload.get("platform") or "").strip()
)
except OllamaError as exc:
return JsonResponse({"error": str(exc)}, status=502)
return JsonResponse({"text": text})