Create a summary
Starts an async summary job for a YouTube video, a web page, or pasted text, selected by the source field. Usually responds 202 with a Location header and a job_id you can poll at GET /v1/jobs/{id} (send an Idempotency-Key header to make retries safe). If the exact source was already summarized in the requested language it responds 200 already_complete with the article_id and no job to poll.
Authorization
BearerApiKey A Shorty API key, sent as Authorization: Bearer <key>. An OAuth 2.1 access token issued to a connected app is also accepted on the same header.
In: header
Header Parameters
Optional client-generated key (1–255 visible ASCII chars) that makes this POST replay-safe: a retry with the SAME key and body returns the original response (with Idempotency-Replayed: true) instead of creating a duplicate. Reusing a key with a different body is rejected (422).
1 <= length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/summaries" \ -H "Content-Type: application/json" \ -d '{ "source": "youtube", "url": "http://example.com" }'{ "status": "already_complete", "article_id": "string"}