Quick start
Install the CLI with npm (Node 20 or newer), sign in, and check who you are.
npm install -g recycleslop
recycleslop login recycleslop whoami
login prints a code and opens your browser on recycleslop.com/cli/login. Approve it there while signed in; the CLI receives a token and stores it in ~/.config/recycleslop/config.json, readable only by you.
For agents
Agents read the plain-text guide at /llms.txt: what RecycleSlop is, every command, the label vocabulary and the rules about money. Paste this to your agent:
Read https://recycleslop.com/llms.txt and install the recycleslop CLI (npm install -g recycleslop). Before generating any video, search RecycleSlop with the prompt and show me matches that cost less than regenerating. Ask me before buying anything.
- · Add --json to any command for machine-readable output; failures print { error, message }.
- · Without a terminal attached the CLI never waits for input: it fails with exit code 2 and names the flag to pass (--yes, --labels, --vendor, env keys).
- · Exit codes: 0 ok, 1 error, 2 needs input or bad usage, 3 not signed in.
- · Buying needs --yes, which an agent should only pass after you approved the price; --max-price caps it.
Buying
Search with the prompt you were about to run. Results rank by how many words (or Chinese character pairs) they share with it and show the regeneration cost next to the price.
recycleslop search "a ballerina spins on a wooden stage, cinematic light" recycleslop show <id> recycleslop buy <id> --license commercial --max-price 2 --download -o ./refs
buy shows the price first and sends exactly that price back; if the quote changed in between, nothing is charged. Purchases come from your balance; top up in the browser with recycleslop topup. Each license allows a few downloads (more for members), each a one-minute link checked against the original's sha256.
Selling
Three ways in, all proving the file came from the vendor: a folder of local files matched against your vendor account, the vendor's own output links, or an import of your finished tasks.
export ARK_API_KEY=… # used once, never stored recycleslop upload ./renders --vendor seedance --region cn recycleslop add --from links.txt recycleslop import kling --region intl recycleslop label <id> recycleslop publish <id>
After adding, the CLI walks you through labels for each item. Label by hand: say what went wrong and where ("0:03 her legs merge with the floor"), and paste the prompt you used. Labels raise the price by up to 80%, and buyers find listings by their prompt. publish asks you to confirm your vendor plan allows commercial use and resale.
Label files
To label a batch without prompts, pass --labels with a JSON object keyed by file name, a JSON array, JSONL, or CSV with a file (or url) column. Fields: title, prompt, notes, defects, content, sell_reason.
{"file":"clip_003.mp4","title":"Dancer melts into the stage","defects":["physics_break","morphing"],"notes":"0:03 her legs merge with the floor","prompt":"A ballerina spins on a wooden stage, cinematic light","sell_reason":"generation_failed","content":["person","interior"]}file,title,defects,notes,prompt clip_003.mp4,Dancer melts,"physics_break,morphing",0:03 legs merge with floor,A ballerina spins…
Or put a sidecar next to each file: clip_003.json with the same fields, or clip_003.txt holding just the prompt. Keys must come from the catalog (recycleslop catalog):
- defects
- physics_break · character_drift · anatomy · morphing · flicker · garbled_text · off_prompt · camera_glitch · artifacts · clean
- content
- person · animal · product · vehicle · landscape · city · interior · food · anime · abstract
- sell_reason
- generation_failed · unused_variant · project_cancelled · surplus
Proof of origin
RecycleSlop only lists files the generator itself vouches for:
- · An output link on Seedance's or Kling's own storage (host and path rules), copied at submission.
- · A local file whose size and sha256 match an output your vendor account still serves (Seedance keeps videos 24 hours, Kling 30 days). Only the fingerprint leaves your machine; the stored copy comes from the vendor.
- · A task from your vendor account's own task list, read with your key.
Visible watermarks are optional and easy to add or remove, the AIGC metadata labels required in China are unsigned, and no vendor offers a public verification API, so none of them count as proof on their own. Re-encoded or edited files can't be matched.
Security
- · The CLI never sees your password. Its token is random, stored hashed on our side and only on your machine on yours.
- · Every CLI sign-in is listed on your account page; revoking one signs that machine out immediately (recycleslop logout revokes its own).
- · Vendor keys (ARK_API_KEY, KLING_ACCESS_KEY, KLING_SECRET_KEY) are sent for one request and never stored or logged.
- · Credits move only after an explicit confirmation of the exact price; the server recomputes every price.
Command reference
| recycleslop login · whoami · logout | Sign in through the browser, show the account, sign out (revokes the token). |
| recycleslop search "<prompt>" [--source --defect --limit] | Listings ranked by shared prompt words, with price and regeneration cost. |
| recycleslop show <id> | One listing: labels, prompt teaser, price per license, preview link. |
| recycleslop buy <id> -l <license> [--yes --max-price --download] | Buy a license from your balance after confirming the price. |
| recycleslop download <id> [-o dir] | Save the original and verify its sha256 (spends one download). |
| recycleslop library · wallet · topup | Your purchases, balance and history; open the top-up page. |
| recycleslop upload <folder|files> [--vendor --region -r --labels --publish] | Verify local files against your vendor account and add them. |
| recycleslop add <url…> [--from file | -] | Add vendor output links in bulk. |
| recycleslop import seedance|kling [--all] | Pick finished tasks from your vendor account. |
| recycleslop label <id> [--labels file] | Label one listing by hand, or from a label file. |
| recycleslop publish <id…> [--yes] · unlist <id…> | Put drafts on sale, or take listings down. |
| recycleslop listings · sales · catalog | Your listings, your sales, and the label vocabulary. |
Every command: --json, --api <url> (or RECYCLESLOP_API), --help. RECYCLESLOP_TOKEN replaces login in CI.
HTTP API
The CLI is a thin client of this JSON API. Send Authorization: Bearer <token>; errors are { error: code }.
POST /api/cli/login → device_code, user_code, verification_uri
POST /api/cli/login/token → { status } | { status: approved, token }
GET /api/v1/me · /wallet · /library
GET /api/v1/catalog (public)
GET /api/v1/search?q=&source=&defect= (public)
GET /api/v1/listings/:id (public for listed items)
POST /api/v1/listings/:id/purchase { license, price_credits }
POST /api/v1/listings/:id/download → 60-second link + sha256
GET /api/v1/sell/listings · POST { url, labels }
GET|PATCH|DELETE /api/v1/sell/listings/:id
POST /api/v1/sell/listings/:id/publish { attest_rights: true } · /unlist
POST /api/v1/sell/files/match { vendor, region, keys, files: [{ name, size_bytes, sha256 }] }
POST /api/v1/sell/import { vendor, region, keys, task_ids? }
GET /api/v1/sell/sales
DELETE /api/v1/tokens/current (logout)