{"service":"Shorts Generation Service","version":"0.1.0","docs":"/docs","endpoints":{"create_job":"POST /internal/jobs","enhance_prompt":"POST /prompt/enhance","generate_brief":"POST /brief/generate","get_brief":"GET /brief/{brief_id}","update_brief":"PUT /brief/{brief_id} (Review Script; hashtags + title/script)","render_from_brief":"POST /brief/{brief_id}/render → job_id; brief-first flow","advanced_settings":"GET /advanced-settings?subscription_type=base|pro|elite&user_id= (tier sets duration slider max)","subscription_tiers":"GET /subscription/tiers?user_id=&subscription_type= (hardcoded tier catalog; subscription_type optional)","save_user_preset":"POST /user/presets","list_jobs":"GET /jobs?user_id=...","get_status":"GET /jobs/{job_id}","get_metadata":"GET /metadata/jobs/{job_id}","patch_metadata":"PATCH /metadata/jobs/{job_id} (Post Video overrides; works without metadata hook)","script_review_save":"PATCH /jobs/{job_id}/script-review","start_video_after_script_review":"POST /jobs/{job_id}/start-video-generation","hashtag_suggest":"GET /hashtags/suggest?q=&limit=20","cancel_job":"POST /jobs/{job_id}/cancel","transcribe":"POST /transcribe","upload_image":"POST /upload/image","upload_audio":"POST /upload/audio"}}