One Click Videos · Developers
API examples
Copy practical requests for generation, styles, credits and status.
Text to video
curl --fail-with-body https://app.jemsu.ai/api/v1/videos \
-H "Authorization: Bearer $JEMSU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_idea": "A small paper boat drifts across a sunlit pond. Gentle ripples, a low camera angle and a peaceful ending.",
"video_length_sec": 10,
"speech": "no",
"music": "no",
"aspectratio": "9:16"
}'
Discover a style
curl --fail-with-body "https://app.jemsu.ai/api/v1/styles?sort=popular&limit=10" \
-H "Authorization: Bearer $JEMSU_API_KEY"
Take a returned styleId, inspect GET /styles/{styleId} and use it as preset_style in a create request with your own video idea. The chosen style may require your product or vehicle URL.
Use a saved style
curl --fail-with-body "https://app.jemsu.ai/api/v1/my-styles?limit=10" \
-H "Authorization: Bearer $JEMSU_API_KEY"
Use a returned styleId as my_style. Do not copy protected prompt text from a third-party style; referencing its ID applies it server-side.
Read credits and status
curl --fail-with-body https://app.jemsu.ai/api/v1/credits \
-H "Authorization: Bearer $JEMSU_API_KEY"
curl --fail-with-body "https://app.jemsu.ai/api/v1/videos/$JEMSU_JOB_ID" \
-H "Authorization: Bearer $JEMSU_API_KEY"
More examples
- Image-to-video brief
- URL-to-video brief
- Complete JavaScript example
- Complete Python example
- Download the Postman collection
Generate with a Preset Style
Discover a real style ID first, then replace the example URL with your own product or vehicle page. A matching requiredPageType is checked before credits are charged. The chosen style supplies the duration in this example.
curl --fail-with-body -X POST https://app.jemsu.ai/api/v1/videos \
-H "Authorization: Bearer $JEMSU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"preset_style": "STYLE_ID_FROM_GET_STYLES",
"url": "https://YOUR-BUSINESS-SITE/inventory/2026-gx-550",
"video_idea": "A night-time walkaround of this GX 550 for our dealership, ending on our logo."
}'
Generate with My Styles
Use an ID returned by GET /my-styles. Ensure the saved style supplies a valid duration, or send video_length_sec explicitly. Saved media must remain reachable.
curl --fail-with-body -X POST https://app.jemsu.ai/api/v1/videos \
-H "Authorization: Bearer $JEMSU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"my_style": "SAVED_STYLE_ID_FROM_GET_MY_STYLES",
"video_idea": "The same look for our spring sale: tulips, the clerk and the sale sign."
}'
Override a style’s output format
Explicit values override style defaults unless the style hard-locks those fields. The response reports ignored overrides in warnings.
curl --fail-with-body -X POST https://app.jemsu.ai/api/v1/videos \
-H "Authorization: Bearer $JEMSU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"preset_style": "STYLE_ID_FROM_GET_STYLES",
"url": "https://YOUR-BUSINESS-SITE/inventory/2026-gx-550",
"video_idea": "A night-time walkaround of this GX 550 for our dealership, ending on our logo.",
"aspectratio": "16:9",
"captions": "yes"
}'
Narration, music and captions
curl --fail-with-body -X POST https://app.jemsu.ai/api/v1/videos \
-H "Authorization: Bearer $JEMSU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_idea": "A 20-second promo for a neighborhood bakery: warm morning light, sourdough out of the oven, a close-up of the crust, end on the shop sign.",
"video_length_sec": 20,
"speech": "yes",
"audio_source": "voiceover",
"voice_gender": "female",
"voice_style": "warm and friendly",
"voice_script_mode": "planner",
"music": "yes",
"music_notes": "upbeat acoustic",
"captions": "yes",
"aspectratio": "9:16",
"notes": "Never show prices. The sign reads BAKED DAILY."
}'