compare_analyses
ChatGPTCompare two completed analyses the user owns. Returns both briefs plus deterministic score and pillar deltas and side-by-side strengths, issues, and actions. Does not invent narrative differences. Returns insufficient_data if either analysis is missing, unfinished, or not owned by the user.
get_analysis_brief
ChatGPTReturn one bounded overview of a completed analysis: title, diagnostic score and confidence, verdict, headline strengths and issues, priority actions, and chapter summaries with section keys. Prefer this after list_analyses. Use get_analysis_chapter or get_analysis_section to drill into evidence. Diagnostic only.
get_analysis_chapter
ChatGPTReturn one report chapter (for example storycraft, market, character) as ordered section objects. Paginated with the same 24000-character default and 60000 hard cap as get_analysis_section. Pass chapter key from get_analysis_brief or get_analysis_manifest. Follow next_cursor for the rest.
get_analysis_manifest
ChatGPTReturn the section index for one analysis: chapters, section keys, human labels, and approximate token sizes. Does NOT return section bodies — use get_analysis_section. Returns status insufficient_data if the analysis is missing, unfinished, or not owned by the user.
get_analysis_report_url
ChatGPTReturn a short-lived URL (about five minutes) for the owner's private full-analysis PDF. Use only when the user asks for the complete formatted report. Not a public share link. Returns insufficient_data if the analysis is missing or the PDF cannot be produced.
get_analysis_section
ChatGPTReturn ONE section of an analysis, paginated. Pass the section key from get_analysis_manifest. Default max_chars is 24000 (~6k tokens); hard cap 60000. Follow next_cursor for the rest. Returns insufficient_data if the section is missing. Diagnostic only — never invent missing content.
get_market_intelligence
ChatGPTReturn comparable films (title with year) and/or the IP market analysis blob. Pass include as 'comparables', 'ip', or 'comparables,ip' (default both). Diagnostic only — comparables are not a box-office forecast.
get_quilty_score
ChatGPTReturn the QuiltyScoreV5 for one analysis: score, confidence_low, confidence_high, model_agreement, pillar_breakdown, and basis. This is a DIAGNOSTIC assessment, never a prediction of commercial outcome. Returns insufficient_data if no score exists. Always surface the disclaimer field to the user.
get_screenplay_metadata
ChatGPTReturn title (with year), page count, genre, content type, and released-film match state for one screenplay. Does not return analysis section bodies.
get_talent_package
ChatGPTReturn the nested talent_summary plus user-budget and modeled-budget talent sections for one analysis, unchanged from stored JSONB. Returns insufficient_data if none of those sections exist.
list_analyses
ChatGPTList the authenticated user's completed Quilty analyses. Returns analysis_id, screenplay_id, title with year, content_type, score, and completed_at. Diagnostic metadata only — use get_analysis_brief next for a bounded overview. Paginate with cursor.
search_analysis
ChatGPTCase-insensitive keyword or phrase search across the completed analysis report (not the screenplay text). Returns section keys, labels, match counts, and short snippets. Use search_screenplay to search scene text. Diagnostic only — do not invent matches.
search_screenplay
ChatGPTSemantic search over the SCREENPLAY TEXT (scenes), not the analysis report. Returns ranked scene snippets with heading and similarity. Prefer many small targeted searches. Returns insufficient_data if the screenplay has no extractable scenes.
get_analysis_manifest
Claudeget_analysis_section
Claudeget_quilty_score
Claudeget_screenplay_metadata
Claudelist_analyses
Claudesearch_screenplay
Claude