RatioReady
Automation Guide

Automate Etsy listings with Make.com and Ratio Ready

Drop a design file in Google Drive → Make.com triggers → Ratio Ready API produces print-ready files, mockups, and a listing video → Etsy draft listing created with all assets attached. Zero manual steps.

MA By Mac · 8 min read · · Updated

Free blueprint available — skip the build

Ratio Ready ships two pre-built Make.com blueprints: one for digital downloads (clipart + wall art → Etsy draft) and one for physical posters (with POD shipping-profile step). Download the free blueprint → If you want to understand how it works or customize it, read on.

Manual image prep for every Etsy listing — resize, crop to five ratios, generate mockups, export video — adds up to several hours a week per product. This guide wires Ratio Ready's batch API into a Make.com scenario so that work runs automatically the moment a new design lands in your watched folder.

What this automation does

The finished scenario handles the entire listing-asset pipeline without any manual work:

  1. Trigger: A new file appears in a watched Google Drive (or Dropbox) folder. Make.com detects it immediately.
  2. Submit to Ratio Ready: Make.com sends the file to the Ratio Ready batch API — either POST /v1/batch/wallart for wall art (produces five print-ready ratio crops + mockups + listing video) or POST /v1/batch/clipart for clipart (produces print-ready PNG/JPG at 300 DPI + listing preview). The response returns a batchId immediately.
  3. Poll for completion: Make.com polls GET /v1/batch/:id every 30–60 seconds until status is completed (or completed_partial). The response includes presigned R2 download URLs for every output file — print files, mockups, listing video, and the Etsy listing PDF.
  4. Create the Etsy draft: Make.com calls the Etsy v3 API to create a draft listing, uploading the mockup images as listing photos and the print-ready ZIP (or individual files) as digital download assets.
  5. Optional notify: Post a Slack/email message with the Etsy draft URL so you can review and publish.

For wall art, one source image in → five ratio crops (2:3, 3:4, 4:5, 11:14, ISO A1) at 300 DPI, up to five mockup composites, and a listing video out. Bundled in a single API call at 40 credits.

Related guides: Etsy mockup generator, wall art converter, pricing.

What you need before you start

Before building the scenario, make sure you have:

  • Ratio Ready API key — available on all paid plans. Find it under Account → Integrations → API in the app. It starts with pk_.
  • Make.com account — the free tier supports this scenario (one trigger + five modules). A Core plan removes the 15-minute polling interval cap.
  • Etsy developer account and OAuth token — register an app at etsy.com/developers, complete OAuth, and store the access token as a Make.com custom connection or in a data store.
  • Google Drive folder (or Dropbox equivalent) — one folder per product type (e.g. /rr-wallart-queue/) that Make.com watches for new files.

Credit note: wall art costs 40 credits/image; clipart JPG costs 10 credits for 1–5 images. Check your balance at Account → Credits before running large batches.

Build the Make.com scenario step by step

Create a new scenario in Make.com and add these modules in order:

Step 1 — Trigger: Watch Files (Google Drive)

Add a Google Drive → Watch Files module. Point it at your queue folder (e.g. /rr-wallart-queue/). Set the watch interval to 15 minutes on free, or 1–5 minutes on a paid Make.com plan. Enable Download a file so the module outputs the binary file data.

Step 2 — Submit to Ratio Ready API

Add an HTTP → Make a request module with these settings:

  • URL: https://api.ratioready.com/v1/batch/wallart (or /v1/batch/clipart)
  • Method: POST
  • Headers: Authorization: Bearer YOUR_PK_KEY
  • Body type: Multipart/form-data
  • Fields:
    • images → map the file data from Step 1 (batch endpoints use the plural field name, even for a single image)
    • payload → JSON string: {"generateListing": true, "generateVideo": true}

The response is a JSON object containing batchId and initial status: "processing". Parse and store batchId.

Step 3 — Wait for completion (polling loop)

Add a Repeater module set to repeat up to 20 times with a 60-second interval. Inside the loop, add an HTTP → Make a request module:

  • URL: https://api.ratioready.com/v1/batch/{{batchId}}
  • Method: GET
  • Headers: Authorization: Bearer YOUR_PK_KEY

After the GET, add a Router with two paths:

  • Path A (done): filter status = completed OR completed_partial → break the repeater loop and continue to Step 4.
  • Path B (still running): filter status = processing OR assembling → do nothing, let the repeater iterate.

The response object includes children[].results[].downloadUrl (presigned R2 URLs for each output file) and downloadUrl (master ZIP). For wall art, children[0].mockups[] contains the mockup image URLs.

Step 4 — Create Etsy draft listing

Add an HTTP → Make a request module to call the Etsy v3 API:

  • URL: https://openapi.etsy.com/v3/application/shops/YOUR_SHOP_ID/listings
  • Method: POST
  • Headers: x-api-key: YOUR_ETSY_API_KEY, Authorization: Bearer YOUR_ETSY_OAUTH_TOKEN
  • Body: JSON with title, description, price, quantity, type: "download", state: "draft"

After creating the listing, use the returned listing_id to upload listing images via POST /v3/application/shops/:shop_id/listings/:listing_id/images — loop over the mockup URLs from Step 3 and upload each one.

Step 5 — Upload digital files to Etsy

For each print file URL from the Ratio Ready response, download the file and upload it to the Etsy listing via POST /v3/application/shops/:shop_id/listings/:listing_id/files. Etsy accepts up to 5 files (max 20MB each) per listing.

Key Ratio Ready API endpoints

All requests require Authorization: Bearer YOUR_PK_KEY. Base URL: https://api.ratioready.com.

POST /v1/batch/wallart

Accepts a single image (multipart images field — batch endpoints always use the plural field name) and an optional JSON payload field. Triggers: AI upscale → 5 ratio crops at 300 DPI → optional mockups → optional listing video → optional Etsy listing PDF. Returns { batchId, status: "processing" } immediately (async). Cost: 40 credits/image.

Payload options: generateListing (boolean), generateVideo (boolean), userSetId (mockup set ID), skuPrefix (string).

POST /v1/batch/clipart

Accepts 1–50 images (multipart images field). Produces print-ready JPG or transparent PNG at 300 DPI per image, optional listing preview, optional listing video per batch. Returns { batchId, status: "processing" }. Cost: 10–100 credits (bin pricing by image count; JPG base 10 + 10/5 images).

Payload options: printSize (2048 or 4096), format ("jpg" or "png"), generatePreview, generateListing, skuPrefix, collectionName.

GET /v1/batch/:id

Poll for batch progress. Returns:

  • status: processing | assembling | completed | completed_partial | failed
  • progress: { completed, total }
  • downloadUrl: presigned R2 URL for master ZIP (set when status is completed or completed_partial)
  • children[]: per-image results with results[].url (individual file presigned URLs) and mockups[]

Presigned URLs are valid for up to 24 hours from batch completion.

GET /v1/batch/:id/download

Redirects (302) to the presigned R2 URL for the master ZIP. Use when you want to pass a single download link rather than individual file URLs. The ZIP contains all print files, mockups, listing video, and listing PDF (if generated) organized by image.

GET /v1/pricing/costs

Public endpoint (no auth required). Returns current credit costs for all operations as a JSON object. Use this to display credit cost estimates in your own UI or to validate your credit balance before submitting a batch.

Tips for reliable automation

Error handling

Always add a Make.com error handler on the HTTP modules. A 402 response from Ratio Ready means insufficient credits — trigger a Slack alert rather than silently dropping the job. A 429 means rate limit; add a 5-second sleep and retry once.

Polling interval

Wall art processing (AI upscale + 5 crops + mockups + video) typically completes in 60–120 seconds for a standard image. Start polling at 45 seconds after submission, then every 30 seconds. Don't poll faster than every 15 seconds — it wastes Make.com operations and adds no benefit.

Batch timeout guard

Cap the repeater at 20 iterations (20 minutes). If a batch hasn't completed by then, log the batchId and alert yourself. Ratio Ready's job monitor auto-fails jobs stuck beyond 3 minutes of inactivity, so a failed status should appear well before 20 minutes.

Credit monitoring

Call GET /v1/me (authenticated) at the start of each scenario run to check credits. If the balance is below a threshold (e.g. 200 credits), pause the scenario and send a low-credits alert. This prevents a mid-batch failure that would require manual refund investigation.

Idempotency — avoid double submissions

Use a Make.com data store keyed on the Google Drive file ID. Before submitting to Ratio Ready, check whether this file ID already has a batchId. If it does, skip submission and go straight to polling (in case the previous run failed mid-scenario). This prevents duplicate Etsy listings from a scenario re-run.

Naming and SKU prefix

Pass skuPrefix in the batch payload. Ratio Ready uses it as the ZIP root folder name and in the listing PDF title. Match it to your Etsy store's naming convention so the downloaded ZIP is immediately recognizable (e.g. WA-BOTANICALS-001).

Frequently asked questions

Related guides

Start free — 75 Creative Credits on signup

No credit card required. Enough credits to process your first few listings and test the full API workflow.