Fix: API generate endpoint handling, remove use_autogen param

- Handle dict result properly in /generate endpoint
- Remove use_autogen from API (not supported in run_opus)
- API client now works: tested via CLI with local server
This commit is contained in:
2026-03-13 03:33:42 +00:00
parent 86dcb5e8f9
commit b89dc444ed
4 changed files with 60 additions and 3 deletions
+16 -2
View File
@@ -183,6 +183,7 @@ async def list_frameworks():
@app.post("/generate", response_model=GenerateResponse, tags=["generate"])
async def generate(request: GenerateRequest, background_tasks: BackgroundTasks):
"""Generate a manuscript from concept or GitHub repo."""
import traceback
try:
# Prepare seed concept
seed_concept = request.concept
@@ -207,10 +208,21 @@ async def generate(request: GenerateRequest, background_tasks: BackgroundTasks):
framework=request.framework,
genre=request.genre,
target_word_count=request.target_word_count,
use_autogen=request.use_autogen,
)
manuscript = result.get("manuscript", str(result))
# Extract manuscript - handle both dict and string results
if isinstance(result, dict):
manuscript = result.get("manuscript", "")
if not manuscript:
# Try to get chapters content
chapters = result.get("chapters", [])
if chapters:
manuscript = "\n\n---\n\n".join(str(c) for c in chapters)
else:
manuscript = str(result)
else:
manuscript = str(result)
word_count = len(manuscript.split())
return GenerateResponse(
@@ -223,6 +235,8 @@ async def generate(request: GenerateRequest, background_tasks: BackgroundTasks):
)
except Exception as e:
import logging
logging.error(f"Generate error: {traceback.format_exc()}")
raise HTTPException(status_code=500, detail=str(e))