story-ai / app.py
qdqd's picture
Update app.py
02735c0 verified
from flask import Flask, render_template, request, jsonify
from duckduckgo_search import DDGS
import os
app = Flask(__name__)
app.secret_key = os.getenv("API_KEY")
STORY_PROMPT = os.getenv("PROMPT")
@app.route('/')
def home():
return render_template('index.html')
@app.route('/generate', methods=['POST'])
def generate_story():
topic = request.json.get('topic', '')
previous_chapter = request.json.get('previous_chapter', '')
chapter_number = request.json.get('chapter_number', 1)
if not topic:
return jsonify({'error': 'Topic is required'}), 400
try:
prompt = STORY_PROMPT.replace('{$TOPIC}', topic)
prompt = prompt.replace('{$PREVIOUS_CHAPTER}', previous_chapter if previous_chapter else '')
with DDGS() as ddgs:
response = ddgs.chat(prompt, model='claude-3-haiku')
return jsonify({
'story': response,
'chapter_number': chapter_number
})
except Exception as e:
return jsonify({'error': str(e)}), 500
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860)