Resources
Manage products, avatars, and generations. Check credit balance.
Products
Products represent the items you want to advertise. You can create products manually via the API or through the dashboard. Once created, products can be referenced in image and video generation requests.
GET /products
List all products for your team. Supports pagination.
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit | number | No | 20 | Maximum number of products to return (1--100). |
offset | number | No | 0 | Number of products to skip for pagination. |
Response
{
"data": [
{
"id": "uuid",
"name": "Product Name",
"description": "Description",
"category": "Category",
"image_url": "https://...",
"price": 29.99,
"currency": "USD",
"link": "https://...",
"created_at": "2026-01-15T12:00:00Z"
}
],
"pagination": {
"total": 10,
"limit": 20,
"offset": 0
}
}Examples
curl https://www.adsumo.ai/api/v1/products?limit=10&offset=0 \
-H "Authorization: Bearer adsumo_sk_..."POST /products
Create a new product.
Request Body
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | -- | The product name. |
description | string | Yes | -- | A description of the product. |
category | string | Yes | -- | The product category (e.g. "Electronics", "Clothing"). |
image_url | string | Yes | -- | A publicly accessible image URL. Must be a valid image, max 10 MB. |
price | number | No | -- | The product price. |
currency | string | No | "USD" | ISO 4217 currency code. |
link | string | No | -- | A URL linking to the product page. |
Response
Returns 201 Created with the created product object.
{
"id": "uuid",
"name": "Product Name",
"description": "Description",
"category": "Category",
"image_path": "https://...",
"price": 29.99,
"currency": "USD",
"link": "https://...",
"created_at": "2026-01-15T12:00:00Z"
}GET /products/{id}
Get a single product by ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The product UUID. |
Response
Returns the product object. Returns 404 Not Found if the product does not exist or does not belong to your team.
DELETE /products/{id}
Delete a product.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The product UUID. |
Response
Returns 204 No Content on success. Returns 404 Not Found if the product does not exist. Returns 409 Conflict if the product has associated generations -- you must delete those generations first.
Avatars
Avatars are the AI-generated or custom faces used in talking-avatar video ads. There are two types: platform avatars (pre-made, available to all users) and custom avatars (uploaded by your team).
GET /avatars
List platform avatars. These are pre-made avatars available to all users.
Response
{
"data": [
{
"id": "uuid",
"name": "Avatar Name",
"thumbnail_url": "https://...",
"gender": "female",
"age_group": "adult",
"avatar_type": "platform"
}
]
}| Field | Type | Description |
|---|---|---|
id | string | The avatar UUID. Use this when creating video generations. |
name | string | Display name for the avatar. |
thumbnail_url | string | A preview image of the avatar. |
gender | string | "male" or "female". |
age_group | string | Age group of the avatar (e.g. "adult", "young_adult"). |
avatar_type | string | Always "platform" for this endpoint. |
GET /avatars/custom
List your team's custom avatars.
Response
Returns an array of custom avatar objects with the same fields as platform avatars, plus a description field. The avatar_type field will be "custom".
POST /avatars/custom
Create a custom avatar from an image.
Request Body
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | -- | A name for the avatar (max 50 characters). |
image_url | string | Yes | -- | A publicly accessible image URL. Must be a valid image of a face, max 10 MB. |
description | string | No | -- | An optional description of the avatar. |
Response
Returns 201 Created with the created avatar object.
{
"id": "uuid",
"name": "My Custom Avatar",
"thumbnail_url": "https://...",
"avatar_type": "custom",
"description": "A custom avatar for product demos",
"created_at": "2026-01-15T12:00:00Z"
}DELETE /avatars/custom/{id}
Delete a custom avatar.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The custom avatar UUID. |
Response
Returns 204 No Content on success. Returns 404 Not Found if the avatar does not exist or does not belong to your team. Returns 409 Conflict if the avatar is in use by one or more video generations.
Generations
Generations represent the output of any creation endpoint (video ads, image ads, etc). Use these endpoints to list, filter, and check the status of your generations.
GET /generations
List all generations with optional filters. Supports pagination.
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit | number | No | 20 | Maximum number of results to return (1--100). |
offset | number | No | 0 | Number of results to skip for pagination. |
type | string | No | -- | Filter by generation type: "talking-avatar", "ai-video", or "image". |
status | string | No | -- | Filter by status: "processing", "completed", or "failed". |
Response
{
"data": [
{
"id": "uuid",
"type": "ai-video",
"status": "completed",
"created_at": "2026-01-15T12:00:00Z",
"result_url": "https://..."
}
],
"pagination": {
"total": 50,
"limit": 20,
"offset": 0
}
}| Field | Type | Description |
|---|---|---|
id | string | The generation UUID. |
type | string | The generation type: "talking-avatar", "ai-video", or "image". |
status | string | Current status: "processing", "completed", or "failed". |
created_at | string | ISO 8601 timestamp of when the generation was created. |
result_url | string | null | The URL of the generated asset. null while still processing or if failed. Presigned URL, valid for 1 hour. |
GET /generations/{id}
Get the detailed status of a single generation. Use this endpoint to poll for completion after submitting a generation request.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The generation UUID. |
Response
Returns the generation object with an additional details object containing type-specific information.
Note:
result_urlis a temporary presigned URL that expires after 1 hour. Download and store the file if you need to access it later. You can always re-poll this endpoint to get a fresh URL.
{
"id": "uuid",
"type": "ai-video",
"status": "completed",
"created_at": "2026-01-15T12:00:00Z",
"result_url": "https://...",
"details": {
"prompt": "A 30-second product demo video",
"model": "sora-2",
"duration": 30,
"aspect_ratio": "9:16"
}
}The contents of the details object vary by generation type:
- talking-avatar:
avatar_id,script,voice_id,template,duration - ai-video:
prompt,model,duration,aspect_ratio - image:
prompt,model,aspect_ratio,resolution,quantity
Examples
curl https://www.adsumo.ai/api/v1/generations/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer adsumo_sk_..."Credits
GET /account/credits
Check your team's current credit balance.
Response
{
"credits_used": 150,
"credits_limit": 600,
"credits_remaining": 450
}| Field | Type | Description |
|---|---|---|
credits_used | number | Total credits consumed in the current billing period. |
credits_limit | number | Total credits available for your subscription tier. |
credits_remaining | number | Credits still available (credits_limit - credits_used). |
Credit limits depend on your subscription tier. See the Overview for tier details.