{"openapi":"3.1.0","info":{"title":"Promptcelerator API","version":"1.0.0","description":"Free, open library of AI video prompts. Prompts and videos belong to their creators: keep the credit and the source link when reusing them.","license":{"name":"MIT","identifier":"MIT"}},"servers":[{"url":"https://promptcelerator.com"}],"paths":{"/api/v1/prompts":{"get":{"summary":"Search and list published prompts","parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"model","in":"query","schema":{"type":"string"}},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"technique","in":"query","schema":{"type":"string"}},{"name":"author","in":"query","schema":{"type":"string"}},{"name":"format","in":"query","schema":{"type":"string","enum":["landscape","portrait","square"]}},{"name":"sound","in":"query","schema":{"type":"string","enum":["1"]}},{"name":"sort","in":"query","schema":{"type":"string","enum":["new","copied","liked"]}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Prompts","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"page":{"type":"integer"},"has_more":{"type":"boolean"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Prompt"}}}}}}}}}},"/api/v1/prompts/{slug}":{"get":{"summary":"Read one prompt","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Prompt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Prompt"}}}},"404":{"description":"Not found"}}}},"/api/v1/taxonomy":{"get":{"summary":"Categories, models and techniques","responses":{"200":{"description":"Taxonomy"}}}},"/api/v1/export.json":{"get":{"summary":"The whole library","responses":{"200":{"description":"Every published prompt"}}}},"/api/v1/ingest":{"post":{"summary":"Send posts from X to the review queue (scouts)","description":"Only the post link is mandatory. Author, text and video are fetched and verified from X. Nothing is published without a review, and duplicates are ignored.","security":[{"scoutToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","minItems":1,"maxItems":100,"items":{"$ref":"#/components/schemas/IngestItem"}}}}}}},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"tweet_url":{"type":"string"},"status":{"type":"string","enum":["queued","duplicate","invalid"]},"id":{"type":"string"},"current_status":{"type":"string"},"error":{"type":"string"}}}}}}}}},"401":{"description":"Missing or wrong token"}}}},"/api/v1/ingest/check":{"post":{"summary":"Check which posts are already known (scouts)","security":[{"scoutToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tweet_urls"],"properties":{"tweet_urls":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Results"}}}}},"components":{"securitySchemes":{"scoutToken":{"type":"http","scheme":"bearer"}},"schemas":{"IngestItem":{"type":"object","required":["tweet_url"],"properties":{"tweet_url":{"type":"string","description":"Link to the post on X, for example https://x.com/someone/status/1234567890123456789"},"prompt":{"type":"string","maxLength":20000,"description":"The exact prompt, word for word. Required when it is not in the post text (reply, thread, ALT text, image). Never rewrite or invent it."},"negative_prompt":{"type":"string","maxLength":4000,"description":"The negative prompt, if the creator shared one."},"model":{"type":"string","maxLength":60,"description":"The video model named by the creator, for example \"Veo 3.1\" or \"Kling 3\". Leave empty when it is not stated."},"category":{"type":"string","description":"Optional category slug, see list_models or GET /api/v1/taxonomy."},"title":{"type":"string","maxLength":140,"description":"Optional short title describing the video."},"note":{"type":"string","maxLength":2000,"description":"Optional note for the editor, for example where the prompt was found."}}},"Prompt":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"summary":{"type":["string","null"]},"prompt":{"type":"string"},"negative_prompt":{"type":["string","null"]},"model":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"version":{"type":["string","null"]}}},"category":{"type":"string"},"video":{"type":"object","properties":{"url":{"type":"string"},"preview_url":{"type":"string"},"poster_url":{"type":["string","null"]},"width":{"type":["integer","null"]},"height":{"type":["integer","null"]},"duration_s":{"type":["number","null"]},"has_audio":{"type":["boolean","null"]}}},"author":{"type":"object","properties":{"name":{"type":"string"},"handle":{"type":["string","null"]},"profile_url":{"type":["string","null"]},"page_url":{"type":"string"}}},"source":{"type":"object","properties":{"url":{"type":["string","null"]},"posted_at":{"type":["string","null"]},"likes":{"type":["integer","null"]}}},"copies":{"type":"integer"},"published_at":{"type":"string"}}}}}}