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
Quickstart
Submit a first video request, then check the result.
Authentication
Create and manage a server-side API key.
Create video
Read the complete creative field reference.
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
- Choose preset_style or my_style, never both.
- Always supply your own video_idea. A style supplies the look and can supply duration defaults.
- For page-driven styles, send your own URL; the style’s demo page is never used as your page.
- Explicit brief fields override style defaults except hard-locked fields. Read warnings for ignored overrides.
- Community style creators receive credit automatically; no extra attribution parameter is needed.