The apimart-zoe API gives you APIMart's multimodal video generation model: 4–30 second clips at 480p, 720p, 1080p, 2k or 4k from a text prompt, first and last frames, or up to 30 reference images, 10 reference videos and 10 reference audio clips, with optional audio generated together with the video. It can also edit an existing video, and a two-step workflow turns a low-cost 480p draft into a 1080p final, all through one model ID.
Service Highlights
Generate a low-cost 480p draft first, then turn it into a 1080p final video within 24 hours. The draft and the final video are billed separately.
Required for text to video. You can leave it empty when you only provide images, videos or audio.
Up to 30 images, 10 videos and 10 audio clips, 50 files in total. (0/50)
Auto lets the model decide from your media and prompt. Reference to video and video edit can only be used with reference images, videos or audio.
Needs at least one reference image or video. WAV/MP3, 2–15 s each, up to 15 MB, 30 s in total (±0.2 s allowed).
Upload reference audio
WAV, MP3 (max 15MB, up to 10 audios, duration ≤ 30.2s)
Video link valid for 72 hours
Transparent pricing with no hidden fees. Pay only for what you use.
| Variant | Tier | GoldCurrent price | Platinum | Diamond | Official | Your savings |
|---|---|---|---|---|---|---|
apimart-zoe | 480P-input | 0.544Credits(~$0.0544)/secWith reference video: (billed duration + max(reference total rounded down, ⌈billed duration × 2/3⌉)) × current price | 0.5168Credits(~$0.0517)/sec | 0.4896Credits(~$0.049)/sec | 0.64Credits(~$0.064)/sec | 15% |
| 480P | 0.952Credits(~$0.0952)/sec | 0.9044Credits(~$0.0904)/sec | 0.8568Credits(~$0.0857)/sec | 1.12Credits(~$0.112)/sec | 15% | |
| 720P-input | 1.088Credits(~$0.1088)/secWith reference video: (billed duration + max(reference total rounded down, ⌈billed duration × 2/3⌉)) × current price | 1.0336Credits(~$0.1034)/sec | 0.9792Credits(~$0.0979)/sec | 1.28Credits(~$0.128)/sec | 15% | |
| 720P | 1.836Credits(~$0.1836)/sec | 1.7442Credits(~$0.1744)/sec | 1.6524Credits(~$0.1652)/sec | 2.16Credits(~$0.216)/sec | 15% | |
| 1080P-input | 2.72Credits(~$0.272)/secWith reference video: (billed duration + max(reference total rounded down, ⌈billed duration × 2/3⌉)) × current price | 2.584Credits(~$0.2584)/sec | 2.448Credits(~$0.2448)/sec | 3.2Credits(~$0.32)/sec | 15% | |
| 1080P | 4.556Credits(~$0.4556)/sec | 4.3282Credits(~$0.4328)/sec | 4.1004Credits(~$0.41)/sec | 5.36Credits(~$0.536)/sec | 15% | |
| 2K-input | 6.596Credits(~$0.6596)/secWith reference video: (billed duration + max(reference total rounded down, ⌈billed duration × 2/3⌉)) × current price | 6.2662Credits(~$0.6266)/sec | 5.9364Credits(~$0.5936)/sec | 7.76Credits(~$0.776)/sec | 15% | |
| 4K-input | 7.276Credits(~$0.7276)/secWith reference video: (billed duration + max(reference total rounded down, ⌈billed duration × 2/3⌉)) × current price | 6.9122Credits(~$0.6912)/sec | 6.5484Credits(~$0.6548)/sec | 8.56Credits(~$0.856)/sec | 15% | |
| 2K | 11.22Credits(~$1.122)/sec | 10.659Credits(~$1.0659)/sec | 10.098Credits(~$1.0098)/sec | 13.2Credits(~$1.32)/sec | 15% | |
| 4K | 12.308Credits(~$1.2308)/sec | 11.6926Credits(~$1.1693)/sec | 11.0772Credits(~$1.1077)/sec | 14.48Credits(~$1.448)/sec | 15% |
* Actual costs are subject to final output.
* Billed duration is the requested duration (default 5 s), not adjusted to the output length. Without a reference video: billed duration × output rate. With a reference video: (billed duration + max(total reference video duration rounded down to whole seconds, ⌈billed duration × 2/3⌉)) × input rate.
* Auto duration (-1) and video edit reserve 30 seconds, then are settled on the actual output duration rounded to the nearest second; video edit always uses the input rate. Drafts and final videos are billed separately; final videos are billed at 1080p, reuse the draft's duration (the draft's actual duration if it used Auto) and include the reference video duration if the draft used one.
Generate 4–30 second clips at up to 4K, with optional audio, from text, first and last frames, or image, video and audio references, and preview each shot as a 480p draft before rendering the 1080p final, all through the apimart-zoe API on APIMart.
50K+
Active Users
99.9%
Uptime
2x
Faster
—
Cost Savings
Call apimart-zoe on APIMart with one POST request. Generation is asynchronous: submit a task, then poll the task endpoint to get the video URL, usually within 1–3 minutes.
Save the key you created above in the APIMART_API_KEY environment variable and send it as Authorization: Bearer <key> on every apimart-zoe API request.
POST /v1/videos/generations with model apimart-zoe, your prompt, resolution, aspect_ratio, duration and, optionally, audio. Add image_with_roles for first and last frames, or image_urls, video_urls and audio_urls for references. The response returns a task_id.
Poll GET /v1/tasks/{task_id} every 5–10 seconds; data.status is pending, processing, completed or failed. When it is completed (usually in 1–3 minutes), read the video URL from data.result.videos[0].url[0] and download it within 72 hours, when the URL expires. If the task fails, data.error.message gives the reason and the charge is refunded automatically.
See the apimart-zoe API reference for every parameter, task type limit and response field.
curl -X POST https://api.apimart.ai/v1/videos/generations \
-H "Authorization: Bearer $APIMART_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "apimart-zoe",
"prompt": "An orange kitten sits on a sunlit windowsill and looks into the camera as side light streams in and the camera slowly pushes in",
"resolution": "1080p",
"aspect_ratio": "16:9",
"duration": 8,
"audio": true
}'import os
import time
import requests
API_BASE = "https://api.apimart.ai"
headers = {"Authorization": f"Bearer {os.environ['APIMART_API_KEY']}"}
# 1. Submit the generation task
payload = {
"model": "apimart-zoe",
"prompt": "An orange kitten sits on a sunlit windowsill and looks into the camera as side light streams in and the camera slowly pushes in",
"resolution": "1080p",
"aspect_ratio": "16:9",
"duration": 8,
"audio": True
}
resp = requests.post(f"{API_BASE}/v1/videos/generations", headers=headers, json=payload, timeout=60)
resp.raise_for_status()
task_id = resp.json()["data"][0]["task_id"]
# 2. Poll the task until it finishes
for _ in range(200):
task_resp = requests.get(f"{API_BASE}/v1/tasks/{task_id}", headers=headers, timeout=30)
task_resp.raise_for_status()
task = task_resp.json()["data"]
if task["status"] == "completed":
print(task["result"]["videos"][0]["url"][0])
break
if task["status"] == "failed":
raise RuntimeError(task.get("error", {}).get("message", "generation failed"))
time.sleep(10)
else:
raise TimeoutError(f"task {task_id} did not finish in time; continue GET polling with this task ID")curl -X POST https://api.apimart.ai/v1/videos/generations \
-H "Authorization: Bearer $APIMART_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "apimart-zoe",
"prompt": "The character from the reference image walks down a rainy neon-lit street at night while the camera tracks alongside at shoulder height",
"image_urls": [
"https://example.com/character.jpg"
],
"aspect_ratio": "16:9",
"duration": 5
}'TASK_ID="task_xxx" # replace with the task_id returned by the POST request
curl "https://api.apimart.ai/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $APIMART_API_KEY"| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Required | Default: apimart-zoe | Fixed value for the apimart-zoe API: apimart-zoe. |
prompt | string | Optional | Default: — | Video description, up to 204,800 characters. Required for text to video; optional when you only send media. Do not send it with draft_task_id. |
resolution | string | Optional | Default: 720p | 480p, 720p, 1080p, 2k or 4k, case-insensitive. Drafts are 480p and finals 1080p. |
aspect_ratio | string | Optional | Default: adaptive | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 or adaptive, where the model or your media decides. Also accepted as size. For a video edit, leave it out or send adaptive. |
duration | integer | Optional | Default: 5 | 4–30 seconds, billed as requested; or -1 to let the model decide (precharged as 30 seconds, then settled on the actual length rounded to the nearest second). Also accepted as seconds. For a video edit, leave it out or send -1. |
audio | boolean | Optional | Default: — | Whether to generate audio together with the video. Also accepted as generate_audio; if you send both, the values must match. If omitted, the model decides (usually with sound). |
seed | integer | Optional | Default: — | Random seed (integer). |
image_with_roles | array | Optional | Default: — | Images with a role, such as [{"url": "...", "role": "first_frame"}]; role is first_frame, last_frame or reference_image. Frames cannot be combined with reference media. |
image_urls | array | Optional | Default: — | Reference images, up to 30; also accepted as image, images or image_url. Cannot be sent together with image_with_roles (returns 400). jpeg, png, webp, bmp, tiff, gif, heic or heif; 300–6000 px per side, aspect ratio 0.4–2.5, under 30 MB, checked during generation (a mismatch fails the task and is refunded). Public http(s) URL or asset://. |
first_frame_image | string | Optional | Default: — | First frame; same as role first_frame in image_with_roles. One image. |
last_frame_image | string | Optional | Default: — | Last frame; requires a first frame. Same as role last_frame. One image. |
video_urls | array | Optional | Default: — | Reference videos, up to 10: mp4 or mov (H.264/H.265, AAC or MP3 audio), 2–15 s each (1.8–15.2 s accepted; 4–30 s for the source video of an edit) and up to 200 MB; width and height 300–6000 px, width × height 409,600–8,295,044 (about 640×640 to 3840×2160), aspect ratio 0.4–2.5, 24–60 fps after rounding (23.976 and 59.94 pass). http(s) or asset://. Length, dimensions, aspect ratio and frame rate are checked at submission: a mismatch returns 400 invalid_request_error with the measured values, without charge. Each length is measured at submission; the total is rounded down to whole seconds for billing. |
audio_urls | array | Optional | Default: — | Reference audio clips, up to 10: wav or mp3, 2–15 s each (1.8–15.2 s accepted) and up to 15 MB, 30 s in total (up to 30.2 s), length checked at submission; requires a reference image or video. http(s) or asset://. All media total at most 50. |
draft | boolean | Optional | Default: — | true generates a low-cost 480p draft. Cannot be combined with omni_reference_task_type: edit. |
draft_task_id | string | Optional | Default: — | task_id of a successful draft, used within 24 hours. Besides model and draft_task_id, only resolution (1080p) and common fields such as nsfw_check or webhook are allowed; any other field, including prompt, media, duration, aspect_ratio, seed, audio, omni_reference_task_type, return_last_frame, output_format and enhance_prompt, returns 400 even when empty. |
omni_reference_task_type | string | Optional | Default: auto | Task type: auto (same as leaving it out; the model decides from your media and prompt), reference (reference to video) or edit (video editing). reference and edit only work with reference media. edit needs at least one reference video of 4–30 s; leave out duration and aspect_ratio (or send -1 and adaptive), and do not combine it with draft: true. extend (video extension) is not available yet and returns 400. |
return_last_frame | boolean | Optional | Default: false | true also returns the last frame of the video as a png image in data.result.last_frame_url. |
output_format | string | Optional | Default: mp4 | mp4 or mov (QuickTime). Also accepted as response_format; if both are sent, output_format is used. Other values return 400. |
enhance_prompt | boolean | Optional | Default: false | true lets the model optimize the prompt before generation; by default the prompt is used as written. |
nsfw_check | boolean | Optional | Default: false | APIMart platform field: before submission, moderates the prompt, image_urls, image_with_roles, first and last frames and asset:// images; reference video and audio are not checked. If the moderation service is temporarily unavailable, the request is not blocked. A final has no prompt or media, so moderation happens when the draft is created. A hit returns 400 nsfw_content_detected with the matched categories in message, creates no task and is not charged. |
Both models are available on APIMart through the same video generation endpoint. The per-second rates below are read from the APIMart pricing API when this page is generated, so the comparison follows current prices; the capability table lists each model's current API parameters and billing rules.
| Resolution and billing tier | apimart-zoe | Seedance 2.5 | apimart-zoe vs Seedance 2.5 |
|---|---|---|---|
| 480p, no reference video | $0.0952 / s | $0.0961 / s | 1% lower |
| 480p, with reference video (input rate) | $0.0544 / s | $0.0576 / s | 6% lower |
| 720p, no reference video | $0.1836 / s | $0.216 / s | 15% lower |
| 720p, with reference video (input rate) | $0.1088 / s | $0.1296 / s | 16% lower |
| 1080p, no reference video | $0.4556 / s | $0.5346 / s | 15% lower |
| 1080p, with reference video (input rate) | $0.272 / s | $0.3192 / s | 15% lower |
| 2k, no reference video | $1.122 / s | Not supported | — |
| 2k, with reference video (input rate) | $0.6596 / s | Not supported | — |
| 4k, no reference video | $1.2308 / s | Not supported | — |
| 4k, with reference video (input rate) | $0.7276 / s | Not supported | — |
Gold member rates in USD per output second. Without a reference video, both models bill the output seconds. With a reference video, apimart-zoe bills (output seconds + max(total reference video seconds rounded down, ⌈output seconds × 2/3⌉)) × its input rate, and Seedance 2.5 bills (reference video seconds + output seconds) × its input rate. For apimart-zoe, output seconds are the requested duration; with Auto or a video edit they are the actual duration rounded to the nearest second. Your rate depends on your membership tier; the pricing table on each model page shows the rate for your account. — means the rate is not published yet.
| Feature | apimart-zoe | Seedance 2.5 |
|---|---|---|
| Model ID | apimart-zoe | seedance-2.5 |
| Endpoint | POST /v1/videos/generations, then GET /v1/tasks/{task_id} | POST /v1/videos/generations, then GET /v1/tasks/{task_id} |
| Clip length | 4–30 seconds (default 5), or -1 for Auto | 4–30 seconds (default 5), or -1 for Auto |
| Resolution | 480p, 720p (default), 1080p, 2k, 4k | 480p, 720p (default), 1080p |
| Aspect ratio | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptive (default) | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptive (default) |
| First and last frame | first_frame / last_frame; cannot be combined with reference images, videos or audio | first_frame / last_frame; with video or audio references, frames are used as reference images |
| References per request | Up to 30 images, 10 videos (2–15 s each; 4–30 s for edit) and 10 audio clips (2–15 s each, 30 s in total), 50 files in total; reference audio needs a reference image or video | Up to 30 images, 10 videos (30 s in total) and 10 audio clips (30 s in total) |
| Media sources | http(s) URLs or asset:// IDs for all media, registered automatically on submission | http(s) URLs or asset:// IDs |
| 480p draft, then 1080p final | Supported; create the final within 24 hours of the draft | Supported (draft / draft_task_id) |
| Audio generation | audio (alias generate_audio); the model decides when omitted, usually with sound | generate_audio, on by default |
| Video edit and extend | omni_reference_task_type: edit (source video 4–30 s); extend is not available yet | omni_reference_task_type: edit, extend |
| Other options | seed, return_last_frame, output_format (mp4 / mov) and enhance_prompt are supported; negative_prompt and camera_fixed are not | generate_audio, seed, return_last_frame, watermark, output_format, web search |
| Billing with a reference video | (output + max(reference total rounded down to whole seconds, ⌈output × 2/3⌉)) seconds × input rate | (reference + output) seconds × input rate |
| Auto duration | Reserves 30 seconds, then settled on the actual duration rounded to the nearest second; video edit is billed the same way | Reserves 30 seconds, settled on actual token usage |
What you can control in each apimart-zoe task on APIMart
Production scenarios for AI video generation on APIMart
Go from sign-up to your first AI video in three steps
Register on APIMart and create a key on the API Keys page. The same key works for the apimart-zoe API and the other models on the platform.
Try prompts, frames, references, duration and resolution in the playground above before you call the apimart-zoe API from code.
Follow the API documentation to submit apimart-zoe API tasks from your backend and poll for the finished video.
Answers about apimart-zoe features, parameters, pricing and access
apimart-zoe is a multimodal video generation model from APIMart, called with the model ID apimart-zoe. The apimart-zoe API supports text to video, first/last-frame video, reference to video with images, videos and audio, editing of an existing video, optional audio generated together with the video, and a two-step 480p draft to 1080p final workflow. Clips run 4–30 seconds at 480p, 720p, 1080p, 2k or 4k.
Send POST /v1/videos/generations with model apimart-zoe and your prompt, using Authorization: Bearer <API key>. The response returns a task_id. Generation usually takes 1–3 minutes: poll GET /v1/tasks/{task_id} every 5–10 seconds until data.status is completed, then read the video URL from data.result.videos[0].url[0]. The example on this page has cURL and Python code, and the full apimart-zoe API reference is in the APIMart docs.
model (apimart-zoe) is required. prompt is required for text to video, optional when you only send media, and can be up to 204,800 characters. Optional parameters are resolution (480p, 720p, 1080p, 2k or 4k), aspect_ratio or size (21:9, 16:9, 4:3, 1:1, 3:4, 9:16 or adaptive), duration or seconds (4–30 or -1), audio or generate_audio, seed, image_with_roles, image_urls (aliases image, images, image_url), first_frame_image, last_frame_image, video_urls, audio_urls, draft, draft_task_id, omni_reference_task_type (auto, reference or edit), return_last_frame, output_format or response_format (mp4 or mov) and enhance_prompt, plus the APIMart field nsfw_check. negative_prompt, camera_fixed (including camerafixed), extend_from_task_id, mask_url, video_list, element_list, multi_shot and tools are not supported: if the field appears in the request at all, even empty, false or null, it returns 400. n can only be omitted or set to 1. The parameter table on this page lists defaults and limits.
Set duration (or seconds) to a whole number from 4 to 30; the default is 5, and -1 lets the model decide. resolution is 480p, 720p (default), 1080p, 2k or 4k and is case-insensitive. aspect_ratio, also accepted as size, is 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 or adaptive (default), where the model or your media sets the frame. For a video edit, leave out duration and aspect_ratio (or send -1 and adaptive) and the clip follows the source video's length and frame. Drafts are always 480p and finals 1080p.
Yes. Send image_with_roles with first_frame and last_frame, or use first_frame_image and last_frame_image. Each frame takes one image, and a last frame needs a first frame. A first/last-frame request cannot also include reference images, videos or audio; such a request returns 400 and is not charged. Use the prompt to describe how the shot moves from one frame to the other.
Up to 30 reference images, 10 reference videos and 10 reference audio clips, 50 files in total; reference audio must come with a reference image or video. Images can be jpeg, png, webp, bmp, tiff, gif, heic or heif, 300–6000 pixels per side, aspect ratio 0.4–2.5 and under 30 MB. Videos are mp4 or mov (H.264/H.265, with an AAC or MP3 audio track), 2–15 seconds each (1.8–15.2 s is accepted) and up to 200 MB, 300–6000 pixels in width and height with width × height between 409,600 and 8,295,044 (about 640×640 to 3840×2160), aspect ratio 0.4–2.5 and 24–60 fps after rounding (23.976 and 59.94 are accepted); the source video of a video edit can be 4–30 seconds (at least 3.8 s and under 30.2 s), and without a task type, videos longer than 15 seconds need edit. Audio is wav or mp3, 2–15 seconds (1.8–15.2 s) and up to 15 MB each, 30 seconds in total (up to 30.2 s). Reference video length, dimensions, aspect ratio and frame rate, and reference audio length, are checked at submission: a file that does not fit returns 400 invalid_request_error and is not charged. Image dimensions, file size and encoding are checked during generation: a file that does not fit fails the task and the charge is refunded automatically, so check your files before calling. All media must be public http(s) URLs or asset:// IDs; data: URIs are not accepted, so upload files to a public address first. On submission APIMart registers each file automatically, and the same file reused within 7 days is not registered again. When you only send media, prompt can be left out.
Submit a request with draft: true to get a low-cost 480p preview; drafts can only be 480p and cannot be combined with a video edit. When the draft succeeds, submit a second request with model and draft_task_id set to the draft's task_id. The final is rendered at 1080p and reuses the draft's prompt, media, duration, aspect ratio, seed and audio settings. Apart from model, draft_task_id, resolution and common fields such as nsfw_check or webhook, no field may be sent: prompt, media, duration, aspect_ratio, seed, audio, omni_reference_task_type, return_last_frame, output_format or enhance_prompt returns 400, even when empty. Create the final within 24 hours of the draft: a draft_task_id that does not exist, is not a draft, is unfinished or is older than 24 hours returns 400. The draft and the final are each billed as a generation; the final is billed at 1080p for the draft's duration, or for the draft's actual length if the draft used -1.
Submission errors return an error object with message, type, param and code, and are not charged. 400 invalid_request_error covers invalid values, media counts and combinations (such as first/last frames with reference media, or image_urls with image_with_roles), reference video length, dimensions, aspect ratio or frame rate and reference audio length out of range, task type and video edit rules, output_format values, draft and final rules, and unsupported parameters such as negative_prompt or camera_fixed. 400 input_video_probe_failed means a reference video cannot be reached or its length cannot be read. 402 payment_required means the balance is too low; with duration -1 or a video edit, 30 seconds are reserved. 400 nsfw_content_detected means nsfw_check flagged the prompt or images; message lists the matched categories. 503 draft_channel_unavailable or draft_task_unavailable means drafts are temporarily unavailable; retry later or create a new draft.
A clip usually takes 1–3 minutes, so poll every 5–10 seconds. data.status is pending, processing, completed or failed, and data.progress runs from 0 to 100. The video URL in data.result.videos[0].url is stored on APIMart and expires 72 hours after completion, so download it in time. With return_last_frame: true, data.result.last_frame_url also returns the last frame as a png image. If a task fails, including when media registration does not pass or the image dimension, file size or encoding check fails during generation, data.error.message gives the reason, data.error.code is task_failed, and data.cost is 0 because the reserved amount is refunded automatically.
The apimart-zoe API is priced per output second, with rates for 480p, 720p, 1080p, 2k and 4k and a separate rate for requests with a reference video. If you set duration (4–30) or leave it at the default 5, you are billed for the requested seconds, without adjustment to the finished clip. With duration -1 or a video edit (omni_reference_task_type: edit), 30 seconds are precharged and, after completion, settled on the clip's actual length rounded to the nearest second; a video edit uses the rate for requests with a reference video. With a reference video, billed seconds = video duration + max(total reference video length, ⌈video duration × 2/3⌉); the reference length is measured per video at submission, summed, rounded down to whole seconds and not adjusted later. A final made from a draft is billed at 1080p for the draft's duration (the draft's actual length if the draft used -1) and, if the draft used a reference video, also counts the reference video length. Your charge reflects your membership or account group discount; see the live pricing table on this page.
On APIMart both models use POST /v1/videos/generations and GET /v1/tasks/{task_id}, create 4–30 second clips in aspect ratios from 21:9 to 9:16, accept up to 30 reference images, 10 videos and 10 audio clips per request, support seed, audio generation, return_last_frame, output_format and video edit (omni_reference_task_type: edit), and offer a 480p draft to 1080p final workflow. The differences: apimart-zoe (model ID apimart-zoe) also outputs 2k and 4k, does not allow first/last frames together with reference media, needs a reference image or video whenever you send reference audio, and lets the model decide on audio when audio is omitted, while Seedance 2.5 (seedance-2.5) turns generate_audio on by default and also supports extend, which apimart-zoe has not opened yet. With a reference video, the two models also count billed seconds differently. The comparison tables on this page list each difference and the current per-second prices.
It depends on the resolution and on whether you send a reference video. The price comparison on this page shows both models' current per-second rates with and without a reference video, the difference in percent, and cost examples for common clip lengths. With a reference video, apimart-zoe adds max(total reference video seconds rounded down, ⌈output seconds × 2/3⌉) to the output seconds, while Seedance 2.5 adds the reference video seconds, so compare the example that matches your clip. apimart-zoe also has 2k and 4k tiers that Seedance 2.5 does not offer. Rates are read from the APIMart pricing API and depend on your membership tier.
No. It is pay-as-you-go and billed per output second, and a draft and its final are each charged as a generation. Submission errors are not charged, a request returns 402 if your balance is too low, and failed tasks are refunded automatically, with data.cost showing 0. Your price depends on your membership tier or account group; the live pricing table on this page shows the current rate for each resolution.
Sign up for APIMart, open the API Keys page in your dashboard and create a key, then send it as Authorization: Bearer <key>. The same key calls the apimart-zoe API and the other models on APIMart, with pay-as-you-go billing and no subscription.
Explore more models in the same category.

Kling V4 Flash
Kling 4.0 Flash brings your creative vision to life in motion. From cinematic moments to imaginative visual stories, turn your ideas into videos that capture attention, set the mood, and give every scene a story to tell.

Gemini Omni 1.2 Flash
Gemini Omni 1.2 Flash puts your ideas in motion. From everyday questions to creative exploration, bring fresh perspectives to your work, find inspiration, and keep your next project moving forward.

Muse Video Ext
Muse Video brings ideas to life through the power of visual storytelling. From everyday inspiration to bold creative concepts, it helps turn your vision into videos that connect, engage, and leave a lasting impression. With creativity at its heart, Muse Video makes every story worth sharing.

Pixverse V6 Max
PixVerse V6 Max is an advanced AI video generation model that transforms text and images into cinematic videos up to 15 seconds long at 1080p. With realistic visuals, expressive characters, and optional synchronized audio, it offers precise creative control for multi-shot storytelling, advertising, and music videos.