STUDIO

Home / Developers / API reference

Meo Studio API reference

Every endpoint of the REST API at https://www.mymeo.app/v1. Send your key as Authorization: Bearer meo_live_…. Calls spend your plan's credits; failed work is refunded.

Get an API keyGuide and examples

Endpoints

GET /accountGET /modelsGET /models/{id}POST /estimateGET /templatesGET /generationsPOST /generationsGET /generations/{id}POST /generations/{id}/cancelPOST /adsPOST /dubsPOST /faith-videosPOST /postersGET /tasksGET /tasks/{id}POST /tasks/{id}/approvePOST /tasks/{id}/linesPOST /tasks/{id}/cancelGET /tasks/{id}/subtitles/{lang}.srtGET /pricesGET /languagesGET /connectionPOST /uploads

GET/v1/account

Plan and credits

Responses: 200 OK · 401 Error

GET/v1/models

List models

Parameters
kind query"video" | "image"

Responses: 200 OK

GET/v1/models/{id}

Get a model

Parameters
id path requiredstring

Responses: 200 OK · 404 Error

POST/v1/estimate

Estimate credits

Body (JSON)
model requiredstring
paramsobject
video_secondsnumber

Responses: 200 OK

GET/v1/templates

List templates

Parameters
kind query"motion" | "clip"
search querystring

Responses: 200 OK

GET/v1/generations

List generations

Parameters
limit queryinteger
starting_after querystring

Responses: 200 OK

POST/v1/generations

Create a generation

Parameters
Idempotency-Key headerstring
Body (JSON)
modelstring
promptstring
mode"t2v" | "i2v" | "v2v" | "t2i" | "i2i"
paramsobject
image_urlstring
image_urlsstring[]
video_urlstring
video_secondsnumber
template_idstring
webhook_urlstring
wait_secondsinteger

Responses: 200 Finished (when wait_seconds was set) · 202 Accepted, still running · 400 Error · 402 Error · 429 Error

GET/v1/generations/{id}

Get a generation

Parameters
id path requiredstring
wait queryinteger
Long-poll up to this many seconds

Responses: 200 OK · 404 Error

POST/v1/generations/{id}/cancel

Cancel and refund

Parameters
id path requiredstring

Responses: 200 OK · 409 Error

POST/v1/ads

Make an ad (a task: script and shot plan, then approval with an exact quote, then the finished ad)

Body (JSON)
product requiredstring
story requiredstring
brandstring
audiencestring
offerstring
ctastring
stylestring
ratio"9:16" | "16:9" | "1:1" | "4:5"
secondsinteger
languagestring
quality"draft" | "720p" | "1080p"
voice"auto" | "none"
product_image_urlsstring[]
rights_confirmedboolean
max_creditsnumber
webhook_urlstring

Responses: 202 Accepted · 400 Error · 402 Error · 403 Error

POST/v1/dubs

Dub a finished video into other languages (a task; Meo Enterprise; a person approves the voice)

Body (JSON)
video_urlstring
from_taskstring
from_generationstring
languages requiredstring[]
titlestring
rights_confirmed requiredboolean
max_creditsnumber
webhook_urlstring

Responses: 202 Accepted · 400 Error · 402 Error · 403 Error · 428 Error

POST/v1/faith-videos

Make a faith video for a church (a task; Faith Studio, faith-based only; waits for approval before the video is made)

Body (JSON)
template requiredstring
passagestring
passage_textstring
notesstring
titlestring
stylestring
ratiostring
secondsnumber
languagestring
max_creditsnumber
webhook_urlstring

Responses: 202 Accepted · 400 Error · 402 Error · 403 Error

POST/v1/posters

Make a church poster in one or more sizes (a task; Faith Studio)

Body (JSON)
purposestring
headline requiredstring
textstring
refstring
detailsstring[]
sizesstring[]
stylestring
notesstring
max_creditsnumber
webhook_urlstring

Responses: 202 Accepted · 400 Error · 402 Error · 403 Error

GET/v1/tasks

List tasks

Parameters
limit queryinteger

Responses: 200 OK

GET/v1/tasks/{id}

Get a task

Parameters
id path requiredstring
wait queryinteger
Wait up to this many seconds for the status to change

Responses: 200 OK · 404 Error

POST/v1/tasks/{id}/approve

Approve an ad's quote and make it (keys allowed to approve)

Parameters
id path requiredstring
Body (JSON)
max_creditsnumber
quality"draft" | "720p" | "1080p"

Responses: 200 OK · 402 Error · 403 Error · 409 Error

POST/v1/tasks/{id}/lines

Edit a dub's translated lines while it waits for approval

Parameters
id path requiredstring
Body (JSON)
language requiredstring
lines requiredobject[]

Responses: 200 OK · 409 Error

POST/v1/tasks/{id}/cancel

Stop a task

Parameters
id path requiredstring

Responses: 200 OK · 409 Error

GET/v1/tasks/{id}/subtitles/{lang}.srt

Subtitles (SRT) of a dubbed language

Parameters
id path requiredstring
lang path requiredstring

Responses: 200 SRT file · 404 Error

GET/v1/prices

Credits per finished job

Responses: 200 OK

GET/v1/languages

Languages for dubbing and voiceovers

Responses: 200 OK

GET/v1/connection

This key's limits, spend this month and recent activity

Responses: 200 OK

POST/v1/uploads

Upload an image or video (raw body). Requires header X-Upload-Consent: yes, confirming you own the file or have every necessary right and consent, including from each person shown (see the Terms). Returns a URL to use as image_url / video_url. Uploads are screened for resemblance to well-known people; flagged uploads can't be used via the API.

Responses: 200 OK

Building with a tool that reads OpenAPI (ChatGPT actions, client generators)? Point it at https://www.mymeo.app/openapi.json.