Repackage
API

API reference

Every endpoint, every parameter.

Base URL: https://api.repackage.app

All endpoints accept either an organization-scoped Bearer key or a session cookie. See Authentication.

Endpoints

EndpointMethodPlanDescription
/transcriptGETFreeSingle video, structured JSON
/transcript/rawGETFreeSingle video, plain text
/transcripts/bulkPOSTProMany videos in one call
/playlists/:id/transcriptsGETProEvery video in a playlist
/channels/:id/transcriptsGETProRecent uploads from a channel

OpenAPI spec

The full spec is published at /openapi.yaml. Pipe it into any OpenAPI-aware codegen tool to scaffold a typed client.

curl https://repackage.app/openapi.yaml > openapi.yaml
npx openapi-typescript openapi.yaml -o repackage.d.ts

Conventions

  • All responses are application/json unless noted (/transcript/raw returns text/plain).
  • Errors use a single envelope — check error.code, not the message.
  • Successful transcripts are cached for 24 hours. Cached responses don't consume quota.
  • Times are ISO 8601 UTC.
  • Snake-case for query params, camelCase for response fields. Yes, it's mixed; we'll fix it in v2.

Rate limits

In addition to monthly quotas, every endpoint has a per-IP / per-key rate limit as a runaway-protection layer:

EndpointLimitWindow
/transcript, /transcript/raw20per hour, per IP
/transcripts/bulk10per hour, per key
/playlists/:id/transcripts, /channels/:id/transcripts10per hour, per key
/summary60per hour, per IP

Rate-limited responses return 429 rate_limited with a Retry-After header.

On this page