One Click Videos · Developers

API documentation

Everything you need to create videos with Ava, track results and integrate the current public API.

Base URL

https://app.jemsu.ai/api/v1

Use HTTPS and Bearer authentication for every endpoint. Create requests are asynchronous and bill against the API key owner’s credits.

Endpoint reference

Method Path Purpose
POST /videos Create a video from a director brief
GET /videos List the latest 25 videos
GET /videos/{jobId} Read status and the result URL
GET /credits Read your credit balance
GET /styles Discover public Preset Styles
GET /styles/{styleId} Read one public style
GET /my-styles List your saved styles
GET /my-styles/{itemId} Read one saved style

Start with a working request

Using styles

Pass either preset_style or my_style when creating a video. Discover IDs from the corresponding list endpoint; use the detail endpoint for settings. Explicit request fields override a style except for its hard-locked settings. Protected creator prompts remain applied on the server without being exposed.

Endpoint Query parameters
/styles sort=featured (default) or popular; industry; subcategory; limit=1–100 (default 50)
/my-styles limit=1–100 (default 50)
/videos No documented pagination; returns up to 25 recent jobs

Current boundaries

The public API covers video generation, status, styles and credits. There is no public API-key publishing endpoint, customer callback registration, hosted remote MCP service or A2A agent endpoint in this release. The relevant guides describe supported alternatives.

Download the machine-readable OpenAPI contract →

Preset Styles: discover, inspect, generate

Preset Styles are the curated and community-published looks in the app’s Styles Library. The list returns discovery metadata; the detail endpoint adds the settings payload. Settings use classic field names and are mapped to the director brief when you generate.

curl --fail-with-body "https://app.jemsu.ai/api/v1/styles?sort=popular&industry=dealership" \
  -H "Authorization: Bearer $JEMSU_API_KEY"

Illustrative list response; IDs and media URLs are placeholders.

{
  "styles": [
    {
      "styleId": "STYLE_ID",
      "title": "Night Lot Walkaround",
      "description": "Moody nighttime dealership walkaround.",
      "industries": [
        "dealership"
      ],
      "subcategories": [],
      "requiredPageType": "vdp",
      "videoUrl": "https://YOUR-PREVIEW-HOST/preview.mp4",
      "thumbnailUrl": "https://YOUR-PREVIEW-HOST/thumb.jpg",
      "lockedFields": [
        "videogenerationmodel",
        "visualinstructions_1"
      ],
      "customizableLockedFields": [
        "visualinstructions_1"
      ],
      "creatorType": "community",
      "appliedCount": 42,
      "createdAt": "2026-05-01T12:00:00.000Z",
      "updatedAt": "2026-06-10T09:30:00.000Z"
    }
  ]
}
Field Behavior
settings Included by the detail endpoint. Supplies the style’s fields and creative direction.
lockedFields Style values take precedence over explicit overrides, except keys listed in customizableLockedFields. Ignored overrides appear in warnings.
protectedFields Community creator prompts are hidden from reads but still applied privately by the director.
requiredPageType vdp means vehicle detail page; pdp means product detail page. A missing or mismatched URL returns 422 wrong_page_type before credits are charged.

My Styles: rerun a saved look

GET /my-styles lists only the key owner’s saved styles. List metadata can include sourceJobId and sourcePresetId; GET /my-styles/{itemId} adds the payload and protectedFields. Styles saved from director videos carry pipeline: v2 and the video brief. Older saved styles carry classic settings. Both run through my_style.

Saved styles reference their photos, logos, reference images and voice samples by URL. Those media must still exist when you generate again. A cloned voice is cloned again from its saved sample URL; there is no legacy voice ID to refresh.

Style generation rules

  1. Choose preset_style or my_style, never both.
  2. Always supply your own video_idea. A style supplies the look and can supply duration defaults.
  3. For page-driven styles, send your own URL; the style’s demo page is never used as your page.
  4. Explicit brief fields override style defaults except hard-locked fields. Read warnings for ignored overrides.
  5. Community style creators receive credit automatically; no extra attribution parameter is needed.

Copy complete style generation requests →