POST /api/v1/prepare

Authentication

API Key (cookie: better-auth.session_token)

Request Body

application/json
project_id string REQUIRED
src string (uri) REQUIRED
motion string
Enum: subtle, medium, kinetic
dur_seconds integer
mode string
Enum: loop, animate-in, animate-on-hover
prompt_override string
seed integer

Responses

200 Asset state
application/json
asset_id string REQUIRED
status string REQUIRED
Enum: pending, ready, failed
eta_seconds number
mp4_url string
poster_url string
curl -X POST 'https://motioness.com/api/v1/prepare' \  -H 'Content-Type: application/json' \  -d '{  "project_id": "string",  "src": "https://example.com",  "motion": "subtle",  "dur_seconds": 2,  "mode": "loop",  "prompt_override": "string",  "seed": 0}'
const response = await fetch('https://motioness.com/api/v1/prepare', {  method: 'POST',  headers: {      "Content-Type": "application/json"  },  body: JSON.stringify({    "project_id": "string",    "src": "https://example.com",    "motion": "subtle",    "dur_seconds": 2,    "mode": "loop",    "prompt_override": "string",    "seed": 0  })});const data = await response.json();console.log(data);
import requestsresponse = requests.post('https://motioness.com/api/v1/prepare', json={  "project_id": "string",  "src": "https://example.com",  "motion": "subtle",  "dur_seconds": 2,  "mode": "loop",  "prompt_override": "string",  "seed": 0})print(response.json())
200 Response
{  "asset_id": "<string>",  "status": "pending",  "eta_seconds": 123,  "mp4_url": "<string>",  "poster_url": "<string>"}
Ask a question... ⌘I