Skip to main content

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):

FieldTypeDefaultMeaning
source_urlstring—Video link (http/https). Exactly one of source_url/source_asset_id is required
source_asset_idstring—Video from the media library (id from GET /assets)
uniquifysoft/strong/custom—Required. soft — invisible tweaks; strong — same + mirrored frame (text inside becomes mirrored); custom — your own set
uniquify_optsobject—Required with custom: mirror/speed/pitch/zoom/hue/grain (bool)
variantsint 1–51How many different versions to return
resolutionstringnull720x1280/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​