Overview
seeneo's developer docs have two parts, each with a clearly separate purpose.
- Exports mp4
MCP editing
Your agent (Codex or Claude Code) edits your footage and audio into a single mp4 file.
- Read-only
Modes API
Lists the modes, their engine, live per-second credits and availability. Read-only: no prompts and no quotes. It doesn't generate video or join a queue.
MCP editing
You bring your own footage and spoken voice (Thai first; English and Chinese supported). The agent asks what style you want, then sequences shots and adds subtitles, effects and overlays. This part is editing only; it doesn't generate new images or audio.
Connect
The server address is https://seeneo.ai/mcp. Sign in with your seeneo.ai account using OAuth 2.1 in the authorization window that opens. There's no API key to store.
claude mcp add --transport http seeneo https://seeneo.ai/mcpcodex mcp add seeneo --url https://seeneo.ai/mcphermes mcp add seeneo --url https://seeneo.ai/mcp --auth oauthYou can view and revoke connected agents on the account page.
Workflow
Have the agent begin with start_workflow using edit_video, then follow this order. Importing, editing and previewing are free. Jobs that cost credits need a quote.
- Create a project with
create_project, then request upload links withcreate_uploads. - Upload clips, images and audio, then confirm with
confirm_uploads. Check the files withget_project. - Propose a shot order for you to accept, then set it with
set_sequence,set_audioandset_look. - Add subtitles (
transcribein script or import mode,edit_subtitles) and a style (set_style,get_style_kit). - Add overlays with
add_overlayoradd_html_overlay, then check at least 4 points withpreview_frame. - Request a quote with
quotefor you to approve, then callrender. Track it withget_joband fetch the file withget_download_url.
Tools
| Group | Tools |
|---|---|
| Account and options | whoami list_options get_style_kit start_workflow |
| Projects and files | create_project create_uploads confirm_uploads list_projects get_project get_download_url delete_project |
| Editing | set_sequence set_audio set_look set_clips reframe add_overlay add_html_overlay remove_overlay preview_frame |
| Subtitles | transcribe get_subtitles edit_subtitles set_style |
| Pricing and rendering | quote render get_job cancel_job |
Automatic transcription (auto) is free in Thai, English and Chinese. You can also import an SRT or VTT file, or send a script to be timed. A job can be cancelled only while it is still queued.
HTML overlays
You can send a single HTML page (up to 256 KiB) that uses anime.js or WebGL. The renderer doesn't open external network connections and calls seek(ms) one frame at a time.
<!-- add_html_overlay: a single HTML page, up to 256 KiB -->
<script>
// The renderer calls seek(ms) frame by frame and captures each frame into the video
window.seeneo = {
duration_ms: 2000,
seek(ms) { /* draw the frame at time ms, e.g. timeline.seek(ms) */ },
};
</script>Quotes
Jobs that cost credits need a quote that you approve. A quote is valid for a limited time. Prices are in credits (1 credit = ฿1, about $0.03; you're charged in Thai baht). See plans and top-up packs on the pricing page.
Modes API
One endpoint for the video modes: public and read-only. It doesn't generate video, join a queue, call a GPU or charge credits. You can try the modes in the browser on the modes page.
GET /api/modes
Returns the modes with their group, live availability and credits per second. No sign-in needed.
{
"modes": [
{ "id": "chinese", "group": "film" },
{ "id": "western", "group": "film" },
{ "id": "animation", "group": "film" },
{ "id": "viral", "group": "shorts" },
{ "id": "product", "group": "shorts" },
{ "id": "news", "group": "shorts" },
{ "id": "football", "group": "shorts" }
],
"h3": {
"available": true,
"credits_per_second": { "768P": <credits>, "2K": <credits> },
"credits_per_extra_image": null,
"min_seconds": <seconds>,
"max_seconds": <seconds>
}
}| Field | Meaning |
|---|---|
| modes | Mode ids with their group: film or shorts |
| h3.available | true while video generation is open |
| h3.credits_per_second | Live credits per second for each resolution (768P, 2K). null when unavailable |
| h3.credits_per_extra_image | Credits per extra image. null unless image input is accepted |
| h3.min_seconds, h3.max_seconds | Clip length range in seconds |
Read prices from this response, since they can change. If live availability can't be read, every available is false and prices are null. Quotes and approval for paid work stay in the app.
Policy and labels
- We don't make content about the monarchy, elections and campaigning, medical claims, investment solicitation, crypto and gambling, sexual content, identifiable private individuals, or impersonation of real people.
- We don't pull, copy or store other people's news, live-broadcast or film footage. You attach clips you have the right to use. Copyright in attached clips stays with you.
- News needs a source you specify, and the source credit is shown on screen.
- Every video carries an AI-generated label and shows Powered by MiniMax H3.
- Results and earnings depend on your content and how you use it. We don't guarantee views or income.