Skip to main content

FAQ

What are doubloons?​

The PiratePress currency: 1 🪙 = 1 ₽. Prices match the bot: a base video is 100 🪙 plus the extras you pick (placement, AI visuals, song, etc.). What was actually charged is in the cost field of the creation response. Top-ups happen in the bot: /balance (card/SBP via Platega or Telegram Stars).

What are the limits?​

Per key: 10 active tasks (queued + running; videos and clips share this quota — a clip order consumes it too) and 30 POST per minute; beyond that — 429 with Retry-After (see Error codes). API tasks run in a separate queue with lower priority than bot users: the ETA in eta_seconds is honest, but it can drift at peak hours — design for polling/webhooks, not a fixed duration.

Are clips and channels available through the API?​

Yes. Cutting long videos into clips is the /clips domain (price probe, order with a mandatory Idempotency-Key, clips with signed URLs and a zip pack, AI banner): see Clips. Channels are the /channels domain (preset + niche, LLM concepts, an instant video from a channel, autopilot schedule): see Channels. Clips and channel videos fire clip.done/clip.error and video.done/video.error webhooks respectively.

Does the trial work through the API?​

Yes. Newcomer free videos (the starter pack from /start in the bot) are applied automatically until exhausted — including orders placed through the API. Trial videos carry the mandatory piratepress.fun watermark, same as in the bot. Once the trial is spent, orders cost doubloons; an empty balance means 402 insufficient_funds.

What is director mode?​

director_mode: true in POST /videos — generation pauses after the script: the order moves to awaiting_review (a video.awaiting_review webhook arrives). Your decision goes to POST /videos/{id}/review:

  • {"action": "approve"} — script is fine, keep generating;
  • {"action": "edit", "text": "…"} — generate from your edited text;
  • {"action": "regen", "note": "…"} — rewrite the script with a wish.

A 409 not_awaiting_review response means the order isn't waiting for a review right now.

Where is the full reference?​

Interactive (Scalar): https://api.piratepress.fun/public/v1/docs. Raw schema: https://api.piratepress.fun/public/v1/openapi.json — SDK types are generated from it. The /public/v1 contract is frozen: changes are additive only; breaking ones go to /public/v2.

My key leaked — what now?​

/apikey in the bot → revoke. A revoked key starts getting 401 immediately. Note: /stop in the bot deletes the whole account — the key dies with it, and orders and files are erased for good.

How long do results live?​

Order files (mp4, covers, posting pack) are stored for 30 days, then deleted — download right away. The signed result_url lives 7 days: if it expired, just re-request GET /videos/{id} for a fresh one.

Are there SDKs?​

Python (piratepress, PyPI) and JS (@piratepress/sdk, npm): thin clients over this very contract — retries, Retry-After, automatic Idempotency-Key, and a webhook-signature helper out of the box. If you write your own client, treat the OpenAPI schema as the source of truth.

Still curious — @piratepress_support.