Video uniquifying (unique)
A standalone anti-shadowban scenario: send a finished video (link or a media-library file) — get back its uniquified version. No clipping, captions or banners: only eye-invisible frame and audio tweaks (speed, voice pitch, zoom, hue, grain, optional mirror) plus scrubbed metadata and a randomized encode profile — platforms don't merge reposts into duplicates and don't shadowban them.
Price: 5 🪙 per source minute, minimum 30 🪙, source up to 60 minutes;
each extra version +10 🪙. Failures refund in full. All calls take
X-API-Key: pp_..., except file downloads (the signed link is
self-sufficient).
Base URL: https://api.piratepress.fun/public/v1.
Step 1. Order — POST /unique
The Idempotency-Key header is required (a retry with your key
returns the original order without charging twice).
curl -X POST https://api.piratepress.fun/public/v1/unique \
-H "X-API-Key: pp_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: unique-0001" \
-d '{
"source_url": "https://youtube.com/watch?v=...",
"uniquify": "soft",
"variants": 2
}'
Body (PublicUniqueOrderCreate):
| Field | Type | Default | Meaning |
|---|---|---|---|
source_url | string | — | Video link (http/https). Exactly one of source_url/source_asset_id is required |
source_asset_id | string | — | Video from the media library (id from GET /assets) |
uniquify | soft/strong/custom | — | Required. soft — invisible tweaks; strong — same + mirrored frame (text inside becomes mirrored); custom — your own set |
uniquify_opts | object | — | Required with custom: mirror/speed/pitch/zoom/hue/grain (bool) |
variants | int 1–5 | 1 | How many different versions to return |
resolution | string | null | 720x1280/1080x1920 to reframe; null keeps the source geometry |
Response 201:
{ "id": "uq_a1b2c3", "status": "queued", "cost": 40, "eta_seconds": 300 }
A source longer than 60 minutes gets 422 invalid_params. The order
shares the 10 active tasks per key quota (see Error codes).
Step 2. Collect — GET /unique/{id}
curl https://api.piratepress.fun/public/v1/unique/uq_a1b2c3 \
-H "X-API-Key: pp_..."
When status: "done":
{
"id": "uq_a1b2c3",
"status": "done",
"files": [
{ "name": "unique_01.mp4", "variant": 1,
"url": "https://api.piratepress.fun/public/v1/unique/files/eyJ..." },
{ "name": "unique_01_v2.mp4", "variant": 2,
"url": "https://api.piratepress.fun/public/v1/unique/files/eyJ..." }
],
"duration_seconds": 300.0,
"cost": 40
}
Statuses: queued|running|done|error|refunded. On error/refunded
the charge is returned to the balance. Links are signed (HMAC, 7-day TTL).
What's next
- Clipping (clips) — same thing plus clip cutting, captions, banners;
- Error codes — the
{error: {code, message}}envelope.