{"openapi":"3.1.0","info":{"title":"Shortform Kit API","description":"Free API behind shortformkit.com: read public Instagram, YouTube, TikTok, X, Facebook, Pinterest and Threads posts, download video/audio/images or a frame, transcribe with Whisper, find YouTube channel IDs, weekly thumbnail trends. No key, fair-use rate limit per IP. Downloads are kept 15 minutes. For AI assistants there is also an MCP server at https://shortformkit.com/mcp.","version":"1.0.0"},"servers":[{"url":"https://shortformkit.com"}],"paths":{"/api/info":{"post":{"summary":"Api Info","operationId":"api_info_api_info_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/download":{"post":{"summary":"Api Download","operationId":"api_download_api_download_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/job/{job_id}":{"get":{"summary":"Api Job","operationId":"api_job_api_job__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/file/{job_id}":{"head":{"summary":"Api File","operationId":"api_file_api_file__job_id__head","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Api File","operationId":"api_file_api_file__job_id__head","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/thumb":{"get":{"summary":"Api Thumb","description":"Proxy a thumbnail (CDNs reject hotlinks). Only https, only image/*, max 5 MB.","operationId":"api_thumb_api_thumb_get","parameters":[{"name":"u","in":"query","required":true,"schema":{"type":"string","title":"U"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/trends":{"get":{"summary":"Api Trends","operationId":"api_trends_api_trends_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/thumbcheck":{"post":{"summary":"Api Thumbcheck","operationId":"api_thumbcheck_api_thumbcheck_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/channel":{"post":{"summary":"Api Channel","operationId":"api_channel_api_channel_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/health/youtube":{"get":{"summary":"Health Youtube","description":"For Uptime Kuma: 200 while YouTube delivers formats, 503 when we are blocked. Checks at most every 30 min.","operationId":"health_youtube_api_health_youtube_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/health":{"get":{"summary":"Health","operationId":"health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Api Health Get"}}}}}}}},"components":{"schemas":{"ChannelIn":{"properties":{"q":{"type":"string","title":"Q"}},"type":"object","required":["q"],"title":"ChannelIn"},"DownloadIn":{"properties":{"url":{"type":"string","title":"Url"},"kind":{"type":"string","title":"Kind","default":"video"},"quality":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quality"},"start":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"title":"Start"},"end":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"title":"End"},"at":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"title":"At"},"translate":{"type":"boolean","title":"Translate","default":false},"h264":{"type":"boolean","title":"H264","default":false},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"}},"type":"object","required":["url"],"title":"DownloadIn"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"UrlIn":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"UrlIn"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}