API Overview
The Zuops API lets you programmatically generate ads, copy ads, edit ads, create videos, manage brands, and save ads. Submit jobs, poll for results, or use webhooks.
Base URL
All API requests use the following base URL:
Authentication
Include your API key in the Authorization header. Keys use the zu- prefix.
Endpoints
Jobs (Generation)
POST
/v1/jobs— Submit a generation job
GET
/v1/jobs/:id— Get job status & results
GET
/v1/jobs— List recent jobs
Brands
GET
/v1/brands— List your brands
POST
/v1/brands— Create a new brand
PATCH
/v1/brands/:id— Update a brand
DELETE
/v1/brands/:id— Delete a brand
GET
/v1/brands/:id/ads— List saved ads for a brand
Saved Ads
POST
/v1/saved-ads— Save an ad to your library
DELETE
/v1/saved-ads/:id— Delete a saved ad
Available Actions (POST /v1/jobs)
copy-ad— Copy an existing ad imagegenerate-ad— Generate new ad imagesedit-ad— Edit an ad (swap text, logos, resize, enhance)generate-ad-copy— Generate ad copy text (FREE)nano-banana-2— AI image generationnano-banana-pro— AI image generation (Pro)sora-2— AI video generationsora-2-pro— Premium HD video generationkling-3-0— Kling 3.0 video generationJob Lifecycle
- 1
Submit — POST to
/v1/jobs. Returns queued. - 2
Processing — Job moves to processing automatically.
- 3
Complete — Status becomes completed or failed.
Credits
- Each image variation costs 1 image credit
- Video credit cost varies by duration and model
- Ad copy generation is FREE — no credits deducted
- Monthly credits used first, then purchased credits
- Maximum 10 variations per request
- Jobs expire after 30 minutes
Response Format
All responses follow a consistent envelope:
| Parameter | Type | Required | Description |
|---|---|---|---|
| success | boolean | Required | Whether the request succeeded |
| data | object | null | Required | Response payload on success |
| error | string | null | Required | Error message on failure |
HTTP Status Codes
| Code | Status | Description | |
|---|---|---|---|
| 202 | Accepted | Optional | Job created successfully |
| 200 | OK | Optional | Status/list returned |
| 201 | Created | Optional | Resource created (brands, saved ads) |
| 400 | Bad Request | Optional | Invalid parameters |
| 401 | Unauthorized | Optional | Invalid or missing API key |
| 402 | Payment Required | Optional | Insufficient credits |
| 404 | Not Found | Optional | Resource not found |
Base URL
https://api.zuops.com/functions/v1/api-gateway
Authentication
Authorization: Bearer zu-YOUR_API_KEY
Success Response
{"success": true,"data": {"job_id": "abc-123","status": "queued"},"error": null}
Error Response
{"success": false,"data": null,"error": "Invalid action. Supported: copy-ad, generate-ad, edit-ad, generate-ad-copy, nano-banana-2, nano-banana-pro, sora-2, sora-2-pro, kling-3-0"}