Dashboard

Uploads API

Upload product images for video generation, brand logos for watermark overlay, and profile avatars. All files are stored in tenant-scoped storage and returned as public URLs.

Upload Limits

EndpointFormatsMax Size
Product Image
/uploads/product-image
JPEG, PNG, WebP, GIF10 MB
Brand Logo
/tenants/me/brand-kit/logo
PNG, SVG, WebP2 MB
Avatar
/tenants/me/avatar
PNG, JPEG, WebP2 MB
Custom Music
/music/custom
MP3, WAV, OGG, AAC, M4A20 MB

Upload Product Image

Upload a product image for use in video generation. The returned URL can be passed directly to the Create Job endpoint.

POST/api/v1/uploads/product-image

Returns HTTP 201 Created on success.

Each upload generates a unique UUID-based filename to prevent collisions.

Files are stored in tenant-scoped paths and accessible via public URL.

The returned url can be passed as product_image_url in the Create Job request.

Empty files and unsupported content types return a 400 validation error.

Form Data

ParameterType
fileREQ
file

Request Example

curl -X POST https://api.u-gen.ai/api/v1/uploads/product-image \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@/path/to/product.jpg"

Image Best Practices

For the best results, use high-resolution images (at least 1024×1024) with a clean background. PNG works well for products that need to be composited into scenes. The product image is used to generate keyframes and guide the AI pipeline.

Upload Profile Avatar

Upload a profile avatar image for your account.

POST/api/v1/tenants/me/avatar

Uploading a new avatar replaces the previous one.

The avatar URL is returned in your tenant profile (GET /tenants/me).

Form Data

ParameterType
fileREQ
file

Request Example

curl -X POST https://api.u-gen.ai/api/v1/tenants/me/avatar \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@/path/to/avatar.jpg"

Music Uploads

Custom music tracks are uploaded via the Music API at POST /api/v1/music/custom. Supported formats: MP3, WAV, OGG, AAC, M4A. Max 20 MB. See the Music API reference for details.

Content Validation

All uploads are validated server-side for content type and file size. Uploading a file with a mismatched extension and MIME type (e.g., renaming a .txt to .jpg) will be rejected. Empty files also return a 400 error.