{"openapi":"3.1.0","info":{"title":"Suprsonic Unified Agent API","version":"1.0.0","description":"One API key. Every capability your AI agent needs. Search, scrape, enrich, generate, transcribe, message."},"paths":{"/v1/keys":{"get":{"tags":["Unified API Keys"],"summary":"List Keys","description":"List all active API keys for the authenticated user.","operationId":"list_keys_v1_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyListResponse"}}}}}},"post":{"tags":["Unified API Keys"],"summary":"Create Key","description":"Create a new API key. The raw key is returned ONLY in this response.","operationId":"create_key_v1_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys/{key_id}":{"delete":{"tags":["Unified API Keys"],"summary":"Delete Key","description":"Revoke (soft-delete) an API key.","operationId":"delete_key_v1_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyDeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/search":{"post":{"tags":["Unified APIs"],"summary":"Unified Search","description":"Unified web search.\n\n- **serp**: Raw Google SERP results via SerperDev (<1s, 1 credit)\n- **ai**: AI-synthesized answer via Perplexity (2-4s, 2 credits)\n- **deep**: Both SERP results AND AI synthesis merged (3-6s, 3 credits)","operationId":"unified_search_v1_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/scrape":{"post":{"tags":["Unified APIs"],"summary":"Unified Scrape","description":"Unified web scraping.\n\n- **fast**: Raw HTTP fetch, no JS rendering (<1s, 1 credit)\n- **standard**: Firecrawl with JS rendering (2-5s, 2 credits)\n- **thorough**: Firecrawl + browser automation fallback (10-30s, 5 credits)","operationId":"unified_scrape_v1_scrape_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScrapeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/calls/stats":{"get":{"tags":["Unified API Calls"],"summary":"Call Stats","description":"Aggregated API usage stats for charts (calls, credits, errors by day/endpoint).","operationId":"call_stats_v1_calls_stats_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"product","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/calls":{"get":{"tags":["Unified API Calls"],"summary":"List Calls","description":"List API call history for the authenticated user.","operationId":"list_calls_v1_calls_get","parameters":[{"name":"endpoint","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint"}},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"product","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/emails/find":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Email Find","description":"Unified email finder.\n\nProvide first name, last name, and domain to find a professional email address.\nWaterfalls across enrichment providers for maximum coverage.","operationId":"unified_email_find_v1_emails_find_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailFindRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/generate":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Image Generate","description":"Generate images from text prompts. Returns base64-encoded image bytes.\n\nResponse data contains b64_json (base64 string) and content_type (MIME type).\nUses Google GenAI with automatic fallback to OpenAI.","operationId":"unified_image_generate_v1_images_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Agent","description":"O-mega Unified Agent API: single endpoint for all capabilities.\n\nInstead of calling separate endpoints, agents call this one endpoint\nand specify which capability they need. The system routes internally.\n\nAvailable capabilities: search, scrape, profiles, emails, images.","operationId":"unified_agent_v1_agent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/speech/synthesize":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Tts","description":"Unified text-to-speech.\n\nConverts text to audio. Deepgram Aura is the primary provider with 105+ voice\nmodels across 7 languages. ElevenLabs is the fallback with premium pre-defined\nvoices. Returns base64-encoded audio.\n\nFor low-latency streaming, use a direct WebSocket connection to the provider.\nThis endpoint is for batch synthesis (generate audio from text, get result).","operationId":"unified_tts_v1_speech_synthesize_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SynthesizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/speech/transcribe":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Stt","description":"Unified speech-to-text (batch mode).\n\nTranscribes pre-recorded audio to text. Provide either a URL to the audio file\nor base64-encoded audio data. Returns transcript with confidence scores and\nword-level timing.\n\nFor real-time streaming transcription, use the WebSocket endpoint at\n/speech/ws/{session_id} (create session via POST /speech/start_session).","operationId":"unified_stt_v1_speech_transcribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__unified__speech__TranscribeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sounds/generate":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Sound Generate","description":"Generate sound effects or short music tracks from a text prompt.\n\nDistinct from text-to-speech (`/v1/speech/synthesize`): this endpoint does\nNOT produce spoken words. It synthesizes raw audio (SFX, ambient, foley,\ninstrumental music) from a natural language description.\n\nReturns base64-encoded audio bytes plus the format and duration.","operationId":"unified_sound_generate_v1_sounds_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoundGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/messages/send":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Send Message","description":"Unified messaging.\n\nSend a message via SMS or WhatsApp. Default channel is 'auto', which sends\nvia SMS. Set channel='whatsapp' to use WhatsApp explicitly.\n\n**WhatsApp opt-in requirement:** WhatsApp Business API only delivers\nfree-form messages to recipients who have messaged your Business number\nwithin the last 24 hours. Without prior opt-in, Meta accepts the API call\nand returns a message ID, but silently drops the message. SMS has no such\nrestriction and delivers reliably.","operationId":"unified_send_message_v1_messages_send_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__unified__messages__SendMessageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/documents/extract":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Document Extract","description":"Unified document extraction.\n\nExtracts structured data from a URL or raw content. Provide either:\n- A URL (we scrape it first, then extract)\n- Raw content (we extract directly)\n\nAnd either:\n- An extraction_prompt (natural language: \"Extract all product prices\")\n- A JSON schema (we extract data matching the schema)\n\nUses the proven O-mega pattern: Firecrawl scrape + Claude LLM extraction.","operationId":"unified_document_extract_v1_documents_extract_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentExtractRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/companies/find":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Company Find","description":"Unified company enrichment.\n\nProvide a company domain to get enriched company data including:\nname, industry, description, employee count, revenue, funding, headquarters,\nbrand colors, logo, social handles, and more.\n\nThree-provider waterfall with field-level merge:\n  1. Apollo.io  - firmographics (employees, revenue, funding, founded year)\n  2. BrandFetch - brand identity (logos, colors, Instagram, ticker symbols)\n  3. Website+LLM - qualitative (description, value proposition, ideal customers)","operationId":"unified_company_find_v1_companies_find_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyFindRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/emails/verify":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Email Verify","description":"Checks if an email address is deliverable, catch-all, or disposable.","operationId":"unified_email_verify_v1_emails_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/remove-background":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Bg Remove","description":"Removes background from any image. Returns base64-encoded transparent PNG.","operationId":"unified_bg_remove_v1_images_remove_background_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BgRemoveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/screenshots/capture":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Screenshot","description":"Captures a rendered screenshot of any webpage at specified viewport size.","operationId":"unified_screenshot_v1_screenshots_capture_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenshotRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/invoices/parse":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Invoice Parse","description":"Extracts structured line items, totals, dates, tax from invoice/receipt images or PDFs.","operationId":"unified_invoice_parse_v1_invoices_parse_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceParseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/subtitles/generate":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Subtitle","description":"Generates SRT or VTT subtitles from audio or video files.","operationId":"unified_subtitle_v1_subtitles_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubtitleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audio/transcribe":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Transcribe","description":"Transcribes audio/video with speaker diarization, timestamps, and chapters.","operationId":"unified_transcribe_v1_audio_transcribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__unified__transcription__TranscribeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/code/execute":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Code Execute","description":"Execute code in a secure, isolated sandbox and return stdout, stderr, exit code, and output files.","operationId":"unified_code_execute_v1_code_execute_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeExecuteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sites/intel":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Site Intel","description":"Site Intelligence: comprehensive domain analysis.\n\nModes:\n  - overview (2 credits): WHOIS + DNS + SSL + hosting + email security\n  - whois (1 credit): Full WHOIS/RDAP registration data\n  - dns (1 credit): All DNS records + SPF/DMARC/DKIM parsing\n  - tech-stack (2 credits): Technology fingerprinting from headers/HTML\n  - security (2 credits): SSL + email security + HTTP headers with scores\n  - subdomains (2 credits): Subdomain discovery via DNS brute force","operationId":"unified_site_intel_v1_sites_intel_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteIntelRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/research":{"post":{"tags":["Unified APIs"],"summary":"Unified Research","description":"Deep research: multi-step search, scrape, enrich, and synthesize.\n\nBudget-based execution: the orchestration LLM allocates resources\ndynamically based on query complexity within the mode's limits.\n\n- **standard**: Quick research (up to 5 SERP, 8 scrapes, 5 entities, 60s, 10 credits)\n- **deep**: Thorough research with refinement (up to 15 SERP, 20 scrapes, 15 entities, 3 min, 20 credits)\n- **comprehensive**: Exhaustive research (up to 30 SERP, 40 scrapes, 30 entities, 8 min, 35 credits)\n\nAdd-ons:\n- include_analysis=true: +5 credits (generates charts via code execution)\n- source_types=[\"academic\"]: +2 credits (adds Semantic Scholar)\n- enrich_entities=false: -3 credits (skips entity enrichment)\n- synthesis=false: -5 credits (raw mode, returns sources + entities without report)","operationId":"unified_research_v1_research_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/video/info":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Video Info","description":"Extract video metadata, available formats, and thumbnail from any URL.","operationId":"unified_video_info_v1_video_info_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoInfoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/video/download":{"post":{"tags":["Unified Agent APIs"],"summary":"Unified Video Download","description":"Download video from any URL and return a temporary pre-signed download link (1 hour).","operationId":"unified_video_download_v1_video_download_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoDownloadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/playground/chat":{"post":{"tags":["Unified Agent APIs"],"summary":"Playground Chat","description":"Natural language chat for the API playground.\nMatches user intent to an API endpoint and extracts parameters.\nProduct-aware: uses Suprsonic catalog by default, SuperBrowser catalog when product=suprbrowser.","operationId":"playground_chat_v1_playground_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaygroundChatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools":{"get":{"tags":["Unified Agent APIs"],"summary":"Get Tool Definitions","description":"Returns machine-readable tool definitions.\n\nUse ?product=suprbrowser for browser automation tools.\nDefault is Suprsonic (unified agent API).\n\nFormats:\n- openai: OpenAI function calling format\n- claude: Anthropic tool use format\n- mcp: MCP tool definition\n- raw: Full JSON with per-capability parameter schemas","operationId":"get_tool_definitions_v1_tools_get","parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"Tool definition format: openai, claude, mcp, raw","default":"openai","title":"Format"},"description":"Tool definition format: openai, claude, mcp, raw"},{"name":"product","in":"query","required":false,"schema":{"type":"string","description":"Product: suprsonic or suprbrowser","default":"suprsonic","title":"Product"},"description":"Product: suprsonic or suprbrowser"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/openapi.json":{"get":{"tags":["Unified Agent APIs"],"summary":"Get Filtered Openapi","description":"Filtered OpenAPI 3.1 spec.\n\nUse ?product=suprbrowser for browser automation endpoints only.\nDefault returns Suprsonic unified agent API endpoints.","operationId":"get_filtered_openapi_v1_openapi_json_get","parameters":[{"name":"product","in":"query","required":false,"schema":{"type":"string","description":"Product: suprsonic or suprbrowser","default":"suprsonic","title":"Product"},"description":"Product: suprsonic or suprbrowser"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AgentRequest":{"properties":{"capability":{"type":"string","title":"Capability"},"params":{"additionalProperties":true,"type":"object","title":"Params","default":{}}},"type":"object","required":["capability"],"title":"AgentRequest"},"ApiKeyCreateRequest":{"properties":{"name":{"type":"string","title":"Name","default":""},"rate_limit_per_minute":{"type":"integer","title":"Rate Limit Per Minute","default":60}},"type":"object","title":"ApiKeyCreateRequest"},"ApiKeyCreateResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"key":{"type":"string","title":"Key"},"key_prefix":{"type":"string","title":"Key Prefix"},"rate_limit_per_minute":{"type":"integer","title":"Rate Limit Per Minute"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","key","key_prefix","rate_limit_per_minute","created_at"],"title":"ApiKeyCreateResponse","description":"Returned only once at creation. Contains the raw key."},"ApiKeyDeleteResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"ApiKeyDeleteResponse"},"ApiKeyListResponse":{"properties":{"keys":{"items":{"$ref":"#/components/schemas/ApiKeyListItem"},"type":"array","title":"Keys"}},"type":"object","required":["keys"],"title":"ApiKeyListResponse"},"BgRemoveRequest":{"properties":{"image_url":{"type":"string","title":"Image Url"},"size":{"type":"string","title":"Size","default":"auto"},"format":{"type":"string","title":"Format","default":"png"}},"type":"object","required":["image_url"],"title":"BgRemoveRequest"},"CodeExecuteRequest":{"properties":{"code":{"type":"string","maxLength":1000000,"title":"Code","description":"The code to execute"},"language":{"type":"string","title":"Language","description":"Programming language: python, javascript, or shell","default":"python"},"timeout":{"type":"integer","maximum":300.0,"minimum":1.0,"title":"Timeout","description":"Maximum execution time in seconds (1-300)","default":30},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template","description":"Pre-configured environment: default, data-science, web-dev, video"},"input_files":{"items":{"$ref":"#/components/schemas/InputFile"},"type":"array","title":"Input Files","description":"Files to upload to the sandbox before execution"},"packages":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Packages","description":"Additional pip packages to install before execution"}},"type":"object","required":["code"],"title":"CodeExecuteRequest","description":"Execute code in an isolated sandbox."},"CompanyFindRequest":{"properties":{"domain":{"type":"string","title":"Domain"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"}},"type":"object","required":["domain"],"title":"CompanyFindRequest"},"DocumentExtractRequest":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"URL to scrape and extract from"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content","description":"Pre-scraped content to extract from (alternative to url)"},"extraction_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extraction Prompt","description":"REQUIRED unless schema is provided. Natural language description of what to extract, e.g. 'Extract all product prices and features'"},"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schema","description":"REQUIRED unless extraction_prompt is provided. JSON schema defining the structure of data to extract"}},"type":"object","title":"DocumentExtractRequest"},"EmailFindRequest":{"properties":{"first_name":{"type":"string","title":"First Name"},"last_name":{"type":"string","title":"Last Name"},"domain":{"type":"string","title":"Domain"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"}},"type":"object","required":["first_name","last_name","domain"],"title":"EmailFindRequest"},"EmailVerifyRequest":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"EmailVerifyRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImageGenerateRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"},"aspect_ratio":{"type":"string","title":"Aspect Ratio","default":"1:1"},"image_size":{"type":"string","title":"Image Size","default":"512px"},"reference_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Image Url"},"skip_default_style":{"type":"boolean","title":"Skip Default Style","default":false}},"type":"object","required":["prompt"],"title":"ImageGenerateRequest"},"InvoiceParseRequest":{"properties":{"document_url":{"type":"string","title":"Document Url"}},"type":"object","required":["document_url"],"title":"InvoiceParseRequest"},"PlaygroundChatRequest":{"properties":{"message":{"type":"string","title":"Message"},"conversation_history":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Conversation History","default":[]},"product":{"type":"string","title":"Product","default":"suprsonic"}},"type":"object","required":["message"],"title":"PlaygroundChatRequest"},"ResearchRequest":{"properties":{"query":{"type":"string","title":"Query"},"depth":{"type":"string","title":"Depth","default":"standard"},"enrich_entities":{"type":"boolean","title":"Enrich Entities","default":true},"include_analysis":{"type":"boolean","title":"Include Analysis","default":false},"synthesis":{"type":"boolean","title":"Synthesis","default":true},"output_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Output Schema"},"source_types":{"items":{"type":"string"},"type":"array","title":"Source Types","default":["web"]},"domain_whitelist":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Domain Whitelist"},"domain_blacklist":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Domain Blacklist"},"max_sources":{"type":"integer","title":"Max Sources","default":15},"freshness":{"type":"string","title":"Freshness","default":"any"}},"type":"object","required":["query"],"title":"ResearchRequest"},"ScrapeRequest":{"properties":{"url":{"type":"string","title":"Url"},"mode":{"type":"string","title":"Mode","default":"standard"},"output":{"type":"string","title":"Output","default":"markdown"},"wait_for":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wait For"},"timeout":{"type":"integer","title":"Timeout","default":30}},"type":"object","required":["url"],"title":"ScrapeRequest"},"ScreenshotRequest":{"properties":{"url":{"type":"string","title":"Url"},"width":{"type":"integer","title":"Width","default":1280},"height":{"type":"integer","title":"Height","default":720},"format":{"type":"string","title":"Format","default":"png"},"full_page":{"type":"boolean","title":"Full Page","default":false}},"type":"object","required":["url"],"title":"ScreenshotRequest"},"SearchRequest":{"properties":{"query":{"type":"string","title":"Query"},"mode":{"type":"string","title":"Mode","default":"ai"},"num_results":{"type":"integer","title":"Num Results","default":10},"country":{"type":"string","title":"Country","default":"us"},"freshness":{"type":"string","title":"Freshness","default":"any"}},"type":"object","required":["query"],"title":"SearchRequest"},"SiteIntelRequest":{"properties":{"domain":{"type":"string","title":"Domain"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode","default":"overview"}},"type":"object","required":["domain"],"title":"SiteIntelRequest"},"SoundGenerateRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"},"duration_seconds":{"type":"number","title":"Duration Seconds","default":5.0},"prompt_influence":{"type":"number","title":"Prompt Influence","default":0.3},"output_format":{"type":"string","title":"Output Format","default":"mp3_44100_128"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration"}},"type":"object","required":["prompt"],"title":"SoundGenerateRequest"},"SubtitleRequest":{"properties":{"audio_url":{"type":"string","title":"Audio Url"},"language":{"type":"string","title":"Language","default":"en"},"format":{"type":"string","title":"Format","default":"srt"}},"type":"object","required":["audio_url"],"title":"SubtitleRequest"},"SynthesizeRequest":{"properties":{"text":{"type":"string","title":"Text"},"voice_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Model"},"voice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Id"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"stability":{"type":"number","title":"Stability","default":0.5},"similarity_boost":{"type":"number","title":"Similarity Boost","default":0.75}},"type":"object","required":["text"],"title":"SynthesizeRequest"},"VideoDownloadRequest":{"properties":{"url":{"type":"string","title":"Url"},"quality":{"type":"string","title":"Quality","default":"720"},"format":{"type":"string","title":"Format","default":"mp4"}},"type":"object","required":["url"],"title":"VideoDownloadRequest"},"VideoInfoRequest":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"VideoInfoRequest"},"app__api__unified__messages__SendMessageRequest":{"properties":{"to":{"type":"string","title":"To"},"message":{"type":"string","title":"Message"},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel","default":"auto"},"from_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Number"}},"type":"object","required":["to","message"],"title":"SendMessageRequest"},"app__api__unified__speech__TranscribeRequest":{"properties":{"audio_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audio Url"},"audio_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audio Base64"},"language":{"type":"string","title":"Language","default":"en"}},"type":"object","title":"TranscribeRequest"},"app__api__unified__transcription__TranscribeRequest":{"properties":{"audio_url":{"type":"string","title":"Audio Url"},"language":{"type":"string","title":"Language","default":"en"},"speaker_labels":{"type":"boolean","title":"Speaker Labels","default":true}},"type":"object","required":["audio_url"],"title":"TranscribeRequest"}}}}