@thenavidm/creatomate-mcp-cli 0.0.0-stage → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/COMPARISON.md +25 -0
- package/CONTRIBUTING.md +30 -0
- package/INSTALL.md +321 -0
- package/LICENSE +17 -0
- package/README.md +1058 -2
- package/SECURITY.md +15 -0
- package/SKILL.md +121 -0
- package/THIRD_PARTY_NOTICES.md +3 -0
- package/dist/api/client.d.ts +21 -0
- package/dist/api/client.js +116 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/errors.d.ts +12 -0
- package/dist/api/errors.js +24 -0
- package/dist/api/errors.js.map +1 -0
- package/dist/cli.d.ts +81 -0
- package/dist/cli.js +487 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +16 -0
- package/dist/config.js +31 -0
- package/dist/config.js.map +1 -0
- package/dist/doctor.d.ts +1 -0
- package/dist/doctor.js +22 -0
- package/dist/doctor.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/safety.d.ts +36 -0
- package/dist/safety.js +82 -0
- package/dist/safety.js.map +1 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.js +56 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/index.d.ts +424 -0
- package/dist/tools/index.js +69 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/operations.json +505 -0
- package/licenses/AGPL-3.0.txt +661 -0
- package/package.json +96 -4
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import operationsData from './operations.json' with { type: 'json' };
|
|
2
|
+
import { Ajv2020 } from 'ajv/dist/2020.js';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
4
|
+
import { UsageError, CreatomateError } from '../api/errors.js';
|
|
5
|
+
import { selectAccount } from '../config.js';
|
|
6
|
+
export const OPERATIONS = operationsData;
|
|
7
|
+
const ajv = new Ajv2020({ strict: false, allErrors: true });
|
|
8
|
+
const validators = new Map();
|
|
9
|
+
const str = (description, maxLength = 4096) => ({ type: 'string', minLength: 1, maxLength, description });
|
|
10
|
+
const id = { type: 'string', minLength: 1, maxLength: 128, pattern: '^[A-Za-z0-9_-]+$', description: 'Exact project template/render/feed ID. No URL, slash, traversal or query string.' };
|
|
11
|
+
const account = { type: 'string', description: 'Exact private project profile label; no inherited/global key fallback.' };
|
|
12
|
+
const confirm = { type: 'boolean', description: 'Must be true for this exact user-requested mutation or paid render.' };
|
|
13
|
+
const obj = (properties, required = []) => ({ type: 'object', properties, required, additionalProperties: false });
|
|
14
|
+
export const RENDER_SCHEMA = { type: 'object', properties: { template_id: id, modifications: { type: 'object', description: 'Native modification names and JSON values; preserve names/dot paths exactly.' }, elements: { type: 'array', items: { type: 'object' }, description: 'Native raw top-level RenderScript elements. Complete property semantics are provider-validated via dry run.' }, output_format: { type: 'string', enum: ['mp4', 'gif', 'png', 'jpg'] }, width: { type: 'number', exclusiveMinimum: 0 }, height: { type: 'number', exclusiveMinimum: 0 }, frame_rate: { type: 'number', exclusiveMinimum: 0 }, render_scale: { type: 'number', minimum: 0.1, maximum: 10 }, max_width: { type: 'number', exclusiveMinimum: 0 }, max_height: { type: 'number', exclusiveMinimum: 0 }, metadata: { type: 'string' }, webhook_url: { type: 'string', pattern: '^https://[^\\s]+$' }, source: false, tags: false, transcripts: false, dry_run: false }, allOf: [{ anyOf: [{ required: ['template_id'] }, { required: ['elements'] }] }], additionalProperties: true, description: 'V2 render fields are at the top level. Pass template_id or raw elements. RenderScript properties beyond these basics remain opaque and require provider validation. dry_run is reserved for validate_render; v1 source/tags/transcripts belong to create_legacy_render.' };
|
|
15
|
+
const legacy = { ...RENDER_SCHEMA, properties: { ...RENDER_SCHEMA.properties, source: { type: 'object', description: 'Documented legacy SDK raw source object.' }, tags: { type: 'array', minItems: 1, uniqueItems: true, items: str('Template tag.', 256), description: 'Native v1 can render every matching template: count/credits are unbounded by this wrapper.' }, transcripts: { description: 'Native v1 caller-provided subtitle timings; opaque JSON, provider validation required.' } }, allOf: [{ anyOf: [{ required: ['template_id'] }, { required: ['elements'] }, { required: ['source'] }, { required: ['tags'] }] }] };
|
|
16
|
+
const renderValidator = ajv.compile(RENDER_SCHEMA);
|
|
17
|
+
const ALL = [];
|
|
18
|
+
function tool(name, title, description, group, risk, properties, required, handler) { ALL.push({ name, title, description, group, risk, inputSchema: obj(properties, required), handler }); }
|
|
19
|
+
function validatePayload(p) { if (!renderValidator(p))
|
|
20
|
+
throw new UsageError(ajv.errorsText(renderValidator.errors)); if (Buffer.byteLength(JSON.stringify(p)) > 1048576)
|
|
21
|
+
throw new UsageError('Render request exceeds 1 MiB JSON limit.'); }
|
|
22
|
+
const tags = { type: 'array', uniqueItems: true, items: { type: 'string', minLength: 1, maxLength: 256, pattern: '^[^,]+$' }, description: 'Exact tags; comma inside one tag is rejected because the native list query is comma-separated.' };
|
|
23
|
+
tool('list_templates', 'List project templates', 'One current v2 compact template list, optionally filtered by any supplied tags. No sources, guessed page/per_page parameters or automatic paging.', 'Templates', 'read', { tags, account }, [], (a, c) => c.request('GET', '/v2/templates', a.tags?.length ? [{ name: 'tags', value: a.tags.join(',') }] : [], undefined, a.account));
|
|
24
|
+
tool('get_template', 'Get a template source', 'One current v2 template read including native RenderScript source. Does not render or mutate.', 'Templates', 'read', { template_id: id, account }, ['template_id'], (a, c) => c.request('GET', '/v2/templates/' + a.template_id, [], undefined, a.account));
|
|
25
|
+
tool('create_template', 'Create a project template', 'Confirmed current v2 template creation. Preserves native source JSON and returns provider template metadata; not a render.', 'Templates', 'destructive', { name: str('Nonempty template name.'), source: { type: 'object', description: 'Native RenderScript object; consult the current guide. Not fully locally validated.' }, tags, account, confirm }, ['name', 'source'], (a, c) => c.request('POST', '/v2/templates', [], { name: a.name, source: a.source, ...(a.tags === undefined ? {} : { tags: a.tags }) }, a.account));
|
|
26
|
+
tool('update_template', 'Update a template', 'Confirmed PATCH changes only supplied name/source/tags. Source or tags replace those fields; requires at least one change. No automatic duplicate/archive/retry.', 'Templates', 'destructive', { template_id: id, name: str('Nonempty new template name.'), source: { type: 'object' }, tags, account, confirm }, ['template_id'], (a, c) => { const body = Object.fromEntries(['name', 'source', 'tags'].filter(k => a[k] !== undefined).map(k => [k, a[k]])); if (!Object.keys(body).length)
|
|
27
|
+
throw new UsageError('Template update needs name, source or tags.'); return c.request('PATCH', '/v2/templates/' + a.template_id, [], body, a.account); });
|
|
28
|
+
tool('delete_template', 'Delete a template', 'Explicitly confirmed v2 DELETE. Provider documents recoverable deletion for 30 days; existing renders remain unaffected. No wrapper restore operation is invented.', 'Templates', 'destructive', { template_id: id, account, confirm }, ['template_id'], (a, c) => c.request('DELETE', '/v2/templates/' + a.template_id, [], undefined, a.account));
|
|
29
|
+
tool('create_render', 'Submit one v2 render', 'Confirmed paid v2 submission from template or raw top-level RenderScript. Returns one object, not legacy array. Read advisory errors/warnings even after 202; never auto-poll, resubmit or download.', 'Rendering', 'destructive', { payload: RENDER_SCHEMA, account, confirm }, ['payload'], (a, c) => { validatePayload(a.payload); return c.request('POST', '/v2/renders', [], a.payload, a.account); });
|
|
30
|
+
tool('validate_render', 'Validate without rendering', 'One provider v2 dry run: dry_run is forced true after local schema checks. Provider documents zero credits and no queue. Returns effective source/errors/warnings; valid:true does not prove media reachability, provider credentials or appearance.', 'Rendering', 'read', { payload: RENDER_SCHEMA, account }, ['payload'], (a, c) => { validatePayload(a.payload); return c.request('POST', '/v2/renders', [], { ...a.payload, dry_run: true }, a.account); });
|
|
31
|
+
tool('get_render', 'Get a render status', 'One v2 status read. planned/waiting/transcribing/rendering are not finished. Use output only on succeeded; records, output and snapshots expire after 30 days. No download or polling loop.', 'Rendering', 'read', { render_id: id, account }, ['render_id'], (a, c) => c.request('GET', '/v2/renders/' + a.render_id, [], undefined, a.account));
|
|
32
|
+
tool('create_legacy_render', 'Submit a documented v1 render', 'Explicitly confirmed v1 submission for native tag batches or supplied transcript timings. Returns array; tags may match any number of templates and spend unknown credits. Ordinary v2 rendering is preferred. No automatic retry or polling.', 'Legacy compatibility', 'destructive', { payload: legacy, account, confirm }, ['payload'], (a, c) => c.request('POST', '/v1/renders', [], a.payload, a.account));
|
|
33
|
+
for (const spec of [{ name: 'list_feeds', title: 'List project feeds', path: '/v1/feeds', required: false }, { name: 'get_feed', title: 'Get a project feed', path: '/v1/feeds/', required: true }, { name: 'get_feed_sample', title: 'Get latest feed rows', path: '/v1/feeds/', required: true }])
|
|
34
|
+
tool(spec.name, spec.title, 'One documented v1 feed read. The sample returns last rows; not a full export, pagination claim or feed editor. Untrusted feed content is returned as data.', 'Feeds', 'read', { ...(spec.required ? { feed_id: id } : {}), account }, spec.required ? ['feed_id'] : [], (a, c) => c.request('GET', spec.path + (spec.required ? a.feed_id : '') + (spec.name === 'get_feed_sample' ? '/sample' : ''), [], undefined, a.account));
|
|
35
|
+
function canonical(v) { if (Array.isArray(v))
|
|
36
|
+
return v.map(canonical); if (v && typeof v === 'object')
|
|
37
|
+
return Object.fromEntries(Object.keys(v).sort().map(k => [k, canonical(v[k])])); return v; }
|
|
38
|
+
function reviewed(a, c) { a.renders.forEach(validatePayload); return { apiVersion: 'v2', profile: selectAccount(c.config, a.account).name, renders: a.renders }; }
|
|
39
|
+
function hash(v) { return createHash('sha256').update(JSON.stringify(canonical(v))).digest('hex'); }
|
|
40
|
+
const renders = { type: 'array', minItems: 1, maxItems: 10, items: RENDER_SCHEMA, description: 'Exactly one to ten ordered v2 requests; all validated before any provider request.' };
|
|
41
|
+
tool('preview_render_batch', 'Review an exact render batch', 'Local only: validate ordered payloads and bind them plus selected profile to SHA-256. Display proposed calls and hash; no key load, dry run, provider price or actual rendering. Review cannot prove the key owner, credit cost or external template changes.', 'Bounded workflows', 'read', { renders, account }, ['renders'], async (a, c) => { const review = reviewed(a, c); return { ...c.sanitize(review), reviewSha256: hash(review), calls: review.renders.length, localOnly: true, providerValidated: false, creditsCalculated: false, notice: 'This review binds profile label and exact payloads. It does not bind external template state or an API key changed since review.' }; });
|
|
42
|
+
tool('submit_render_batch', 'Submit the reviewed render batch', 'Confirmed one-to-ten exact ordered v2 submissions. Verify review hash/profile and prevalidate every payload before first request. Stop at first failure, return known prior submissions and unknown attempted outcome; no retry, polling, rollback or implicit final render.', 'Bounded workflows', 'destructive', { renders, review_sha256: { type: 'string', pattern: '^[a-f0-9]{64}$', description: 'Exact preview_render_batch hash for the same project profile and payloads.' }, account, confirm }, ['renders', 'review_sha256'], async (a, c) => { const review = reviewed(a, c); if (hash(review) !== a.review_sha256)
|
|
43
|
+
throw new UsageError('Review hash mismatch: re-run preview_render_batch for these exact payloads and profile before submission.'); const submitted = []; for (let i = 0; i < a.renders.length; i++) {
|
|
44
|
+
try {
|
|
45
|
+
submitted.push({ index: i, render: await c.request('POST', '/v2/renders', [], a.renders[i], a.account) });
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
const err = e;
|
|
49
|
+
throw new CreatomateError(JSON.stringify(c.sanitize({ notice: 'Batch stopped. Earlier submissions may spend credits and the failed request outcome may be unknown. Inspect provider state; no automatic retry or rollback.', submitted, failedIndex: i, unattemptedIndices: a.renders.slice(i + 1).map((_, j) => i + 1 + j), error: err.message })), err.status ?? 0, err.code ?? 'API_ERROR');
|
|
50
|
+
}
|
|
51
|
+
} return { complete: true, submitted }; });
|
|
52
|
+
tool('get_render_batch', 'Read an exact render batch', 'Read one to twenty distinct render IDs sequentially in one project. Prevalidate all IDs, stop on failure with completed status records. No paging, auto-poll, file download or spent-credit recovery.', 'Bounded workflows', 'read', { render_ids: { type: 'array', minItems: 1, maxItems: 20, uniqueItems: true, items: id }, account }, ['render_ids'], async (a, c) => { selectAccount(c.config, a.account); const results = []; for (let i = 0; i < a.render_ids.length; i++) {
|
|
53
|
+
try {
|
|
54
|
+
results.push({ renderId: a.render_ids[i], render: await c.request('GET', '/v2/renders/' + a.render_ids[i], [], undefined, a.account) });
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
const err = e;
|
|
58
|
+
throw new CreatomateError(JSON.stringify(c.sanitize({ notice: 'Status batch stopped; no automatic retry.', completed: results, failedId: a.render_ids[i], unattempted: a.render_ids.slice(i + 1), error: err.message })), err.status ?? 0, err.code ?? 'API_ERROR');
|
|
59
|
+
}
|
|
60
|
+
} return { complete: true, results }; });
|
|
61
|
+
tool('list_accounts', 'List private project profiles', 'Local labels/default/auth-method availability only. No API keys, private file paths, provider requests or project-owner validation.', 'Local', 'read', {}, [], async (_, c) => ({ accounts: c.config.accounts.map(a => ({ name: a.name, default: a.name === c.config.defaultAccount, auth: a.tokenFile ? 'token_file' : a.apiToken ? 'api_key' : 'not_configured' })) }));
|
|
62
|
+
tool('get_operation_schema', 'Inspect a native API operation', 'Local current reviewed method/path/body/query metadata for eleven documented operations, with source URLs/version distinctions. Opaque RenderScript is not claimed fully locally validated.', 'Local', 'read', { operation: { type: 'string', enum: OPERATIONS.map(o => o.operationId) } }, ['operation'], async (a) => OPERATIONS.find(o => o.operationId === a.operation));
|
|
63
|
+
export const ALL_TOOLS = ALL;
|
|
64
|
+
for (const t of ALL_TOOLS)
|
|
65
|
+
validators.set(t.name, ajv.compile(t.inputSchema));
|
|
66
|
+
export function validateArguments(t, a) { const v = validators.get(t.name); if (!v(a))
|
|
67
|
+
throw new UsageError(ajv.errorsText(v.errors, { separator: '; ' })); }
|
|
68
|
+
export function visibleTools(c) { return ALL_TOOLS.filter(t => !c.readOnly || t.risk === 'read'); }
|
|
69
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"operationId": "createRender",
|
|
4
|
+
"method": "POST",
|
|
5
|
+
"path": "/v2/renders",
|
|
6
|
+
"documentedResponse": 202,
|
|
7
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
8
|
+
"checked": "2026-10-03",
|
|
9
|
+
"bodyNotes": "V2 dry_run:true returns 200 with valid/errors/warnings/source and no queued render. Regular submission returns 202 object with advisory errors/warnings.",
|
|
10
|
+
"parameters": [],
|
|
11
|
+
"bodySchema": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"template_id": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"minLength": 1,
|
|
17
|
+
"maxLength": 128,
|
|
18
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
19
|
+
"description": "Exact project template/render/feed ID. No URL, slash, traversal or query string."
|
|
20
|
+
},
|
|
21
|
+
"modifications": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"description": "Native modification names and JSON values; preserve names/dot paths exactly."
|
|
24
|
+
},
|
|
25
|
+
"elements": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"items": {
|
|
28
|
+
"type": "object"
|
|
29
|
+
},
|
|
30
|
+
"description": "Native raw top-level RenderScript elements. Complete property semantics are provider-validated via dry run."
|
|
31
|
+
},
|
|
32
|
+
"output_format": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": [
|
|
35
|
+
"mp4",
|
|
36
|
+
"gif",
|
|
37
|
+
"png",
|
|
38
|
+
"jpg"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"width": {
|
|
42
|
+
"type": "number",
|
|
43
|
+
"exclusiveMinimum": 0
|
|
44
|
+
},
|
|
45
|
+
"height": {
|
|
46
|
+
"type": "number",
|
|
47
|
+
"exclusiveMinimum": 0
|
|
48
|
+
},
|
|
49
|
+
"frame_rate": {
|
|
50
|
+
"type": "number",
|
|
51
|
+
"exclusiveMinimum": 0
|
|
52
|
+
},
|
|
53
|
+
"render_scale": {
|
|
54
|
+
"type": "number",
|
|
55
|
+
"minimum": 0.1,
|
|
56
|
+
"maximum": 10
|
|
57
|
+
},
|
|
58
|
+
"max_width": {
|
|
59
|
+
"type": "number",
|
|
60
|
+
"exclusiveMinimum": 0
|
|
61
|
+
},
|
|
62
|
+
"max_height": {
|
|
63
|
+
"type": "number",
|
|
64
|
+
"exclusiveMinimum": 0
|
|
65
|
+
},
|
|
66
|
+
"metadata": {
|
|
67
|
+
"type": "string"
|
|
68
|
+
},
|
|
69
|
+
"webhook_url": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"pattern": "^https://[^\\s]+$"
|
|
72
|
+
},
|
|
73
|
+
"source": false,
|
|
74
|
+
"tags": false,
|
|
75
|
+
"transcripts": false,
|
|
76
|
+
"dry_run": {
|
|
77
|
+
"type": "boolean",
|
|
78
|
+
"description": "Native provider dry-run option. Owned create_render forbids this field; validate_render forces true."
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"allOf": [
|
|
82
|
+
{
|
|
83
|
+
"anyOf": [
|
|
84
|
+
{
|
|
85
|
+
"required": [
|
|
86
|
+
"template_id"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"required": [
|
|
91
|
+
"elements"
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"additionalProperties": true,
|
|
98
|
+
"description": "V2 render fields are at the top level. Pass template_id or raw elements. RenderScript properties beyond these basics remain opaque and require provider validation. dry_run is reserved for validate_render; v1 source/tags/transcripts belong to create_legacy_render."
|
|
99
|
+
},
|
|
100
|
+
"risk": "destructive",
|
|
101
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"operationId": "getRender",
|
|
105
|
+
"method": "GET",
|
|
106
|
+
"path": "/v2/renders/{render_id}",
|
|
107
|
+
"documentedResponse": 200,
|
|
108
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
109
|
+
"checked": "2026-10-03",
|
|
110
|
+
"bodyNotes": null,
|
|
111
|
+
"parameters": [
|
|
112
|
+
{
|
|
113
|
+
"name": "render_id",
|
|
114
|
+
"in": "path",
|
|
115
|
+
"required": true,
|
|
116
|
+
"schema": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"minLength": 1,
|
|
119
|
+
"maxLength": 128,
|
|
120
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
121
|
+
"description": "Exact project template/render/feed ID. No URL, slash, traversal or query string."
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"bodySchema": {},
|
|
126
|
+
"risk": "read",
|
|
127
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"operationId": "createTemplate",
|
|
131
|
+
"method": "POST",
|
|
132
|
+
"path": "/v2/templates",
|
|
133
|
+
"documentedResponse": 201,
|
|
134
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
135
|
+
"checked": "2026-10-03",
|
|
136
|
+
"bodyNotes": "Raw RenderScript is provider-validated; only supplied changes replace fields.",
|
|
137
|
+
"parameters": [],
|
|
138
|
+
"bodySchema": {
|
|
139
|
+
"type": "object",
|
|
140
|
+
"properties": {
|
|
141
|
+
"name": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"minLength": 1,
|
|
144
|
+
"maxLength": 4096,
|
|
145
|
+
"description": "Nonempty template name."
|
|
146
|
+
},
|
|
147
|
+
"source": {
|
|
148
|
+
"type": "object",
|
|
149
|
+
"description": "Native RenderScript object; consult the current guide. Not fully locally validated."
|
|
150
|
+
},
|
|
151
|
+
"tags": {
|
|
152
|
+
"type": "array",
|
|
153
|
+
"uniqueItems": true,
|
|
154
|
+
"items": {
|
|
155
|
+
"type": "string",
|
|
156
|
+
"minLength": 1,
|
|
157
|
+
"maxLength": 256,
|
|
158
|
+
"pattern": "^[^,]+$"
|
|
159
|
+
},
|
|
160
|
+
"description": "Exact tags; comma inside one tag is rejected because the native list query is comma-separated."
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"required": [
|
|
164
|
+
"name",
|
|
165
|
+
"source"
|
|
166
|
+
],
|
|
167
|
+
"additionalProperties": false
|
|
168
|
+
},
|
|
169
|
+
"risk": "destructive",
|
|
170
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"operationId": "listTemplates",
|
|
174
|
+
"method": "GET",
|
|
175
|
+
"path": "/v2/templates",
|
|
176
|
+
"documentedResponse": 200,
|
|
177
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
178
|
+
"checked": "2026-10-03",
|
|
179
|
+
"bodyNotes": "No documented paging parameters; no guessed page/per_page support.",
|
|
180
|
+
"parameters": [
|
|
181
|
+
{
|
|
182
|
+
"name": "tags",
|
|
183
|
+
"in": "query",
|
|
184
|
+
"required": false,
|
|
185
|
+
"schema": {
|
|
186
|
+
"type": "string",
|
|
187
|
+
"description": "Comma-separated tags; matches any supplied tag."
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
"bodySchema": {},
|
|
192
|
+
"risk": "read",
|
|
193
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"operationId": "getTemplate",
|
|
197
|
+
"method": "GET",
|
|
198
|
+
"path": "/v2/templates/{template_id}",
|
|
199
|
+
"documentedResponse": 200,
|
|
200
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
201
|
+
"checked": "2026-10-03",
|
|
202
|
+
"bodyNotes": null,
|
|
203
|
+
"parameters": [
|
|
204
|
+
{
|
|
205
|
+
"name": "template_id",
|
|
206
|
+
"in": "path",
|
|
207
|
+
"required": true,
|
|
208
|
+
"schema": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"minLength": 1,
|
|
211
|
+
"maxLength": 128,
|
|
212
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
213
|
+
"description": "Exact project template/render/feed ID. No URL, slash, traversal or query string."
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
],
|
|
217
|
+
"bodySchema": {},
|
|
218
|
+
"risk": "read",
|
|
219
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"operationId": "updateTemplate",
|
|
223
|
+
"method": "PATCH",
|
|
224
|
+
"path": "/v2/templates/{template_id}",
|
|
225
|
+
"documentedResponse": 200,
|
|
226
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
227
|
+
"checked": "2026-10-03",
|
|
228
|
+
"bodyNotes": "Raw RenderScript is provider-validated; only supplied changes replace fields.",
|
|
229
|
+
"parameters": [
|
|
230
|
+
{
|
|
231
|
+
"name": "template_id",
|
|
232
|
+
"in": "path",
|
|
233
|
+
"required": true,
|
|
234
|
+
"schema": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"minLength": 1,
|
|
237
|
+
"maxLength": 128,
|
|
238
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
239
|
+
"description": "Exact project template/render/feed ID. No URL, slash, traversal or query string."
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
"bodySchema": {
|
|
244
|
+
"type": "object",
|
|
245
|
+
"properties": {
|
|
246
|
+
"name": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"minLength": 1,
|
|
249
|
+
"maxLength": 4096,
|
|
250
|
+
"description": "Nonempty new template name."
|
|
251
|
+
},
|
|
252
|
+
"source": {
|
|
253
|
+
"type": "object"
|
|
254
|
+
},
|
|
255
|
+
"tags": {
|
|
256
|
+
"type": "array",
|
|
257
|
+
"uniqueItems": true,
|
|
258
|
+
"items": {
|
|
259
|
+
"type": "string",
|
|
260
|
+
"minLength": 1,
|
|
261
|
+
"maxLength": 256,
|
|
262
|
+
"pattern": "^[^,]+$"
|
|
263
|
+
},
|
|
264
|
+
"description": "Exact tags; comma inside one tag is rejected because the native list query is comma-separated."
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
"required": [],
|
|
268
|
+
"additionalProperties": false,
|
|
269
|
+
"anyOf": [
|
|
270
|
+
{
|
|
271
|
+
"required": [
|
|
272
|
+
"name"
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"required": [
|
|
277
|
+
"source"
|
|
278
|
+
]
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"required": [
|
|
282
|
+
"tags"
|
|
283
|
+
]
|
|
284
|
+
}
|
|
285
|
+
]
|
|
286
|
+
},
|
|
287
|
+
"risk": "destructive",
|
|
288
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"operationId": "deleteTemplate",
|
|
292
|
+
"method": "DELETE",
|
|
293
|
+
"path": "/v2/templates/{template_id}",
|
|
294
|
+
"documentedResponse": 204,
|
|
295
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
296
|
+
"checked": "2026-10-03",
|
|
297
|
+
"bodyNotes": null,
|
|
298
|
+
"parameters": [
|
|
299
|
+
{
|
|
300
|
+
"name": "template_id",
|
|
301
|
+
"in": "path",
|
|
302
|
+
"required": true,
|
|
303
|
+
"schema": {
|
|
304
|
+
"type": "string",
|
|
305
|
+
"minLength": 1,
|
|
306
|
+
"maxLength": 128,
|
|
307
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
308
|
+
"description": "Exact project template/render/feed ID. No URL, slash, traversal or query string."
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"bodySchema": {},
|
|
313
|
+
"risk": "destructive",
|
|
314
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"operationId": "createLegacyRender",
|
|
318
|
+
"method": "POST",
|
|
319
|
+
"path": "/v1/renders",
|
|
320
|
+
"documentedResponse": null,
|
|
321
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
322
|
+
"checked": "2026-10-03",
|
|
323
|
+
"bodyNotes": "Native v1 returns render array; tags can match an unbounded number of templates. Provider-defined transcripts are opaque JSON.",
|
|
324
|
+
"parameters": [],
|
|
325
|
+
"bodySchema": {
|
|
326
|
+
"type": "object",
|
|
327
|
+
"properties": {
|
|
328
|
+
"template_id": {
|
|
329
|
+
"type": "string",
|
|
330
|
+
"minLength": 1,
|
|
331
|
+
"maxLength": 128,
|
|
332
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
333
|
+
"description": "Exact project template/render/feed ID. No URL, slash, traversal or query string."
|
|
334
|
+
},
|
|
335
|
+
"modifications": {
|
|
336
|
+
"type": "object",
|
|
337
|
+
"description": "Native modification names and JSON values; preserve names/dot paths exactly."
|
|
338
|
+
},
|
|
339
|
+
"elements": {
|
|
340
|
+
"type": "array",
|
|
341
|
+
"items": {
|
|
342
|
+
"type": "object"
|
|
343
|
+
},
|
|
344
|
+
"description": "Native raw top-level RenderScript elements. Complete property semantics are provider-validated via dry run."
|
|
345
|
+
},
|
|
346
|
+
"output_format": {
|
|
347
|
+
"type": "string",
|
|
348
|
+
"enum": [
|
|
349
|
+
"mp4",
|
|
350
|
+
"gif",
|
|
351
|
+
"png",
|
|
352
|
+
"jpg"
|
|
353
|
+
]
|
|
354
|
+
},
|
|
355
|
+
"width": {
|
|
356
|
+
"type": "number",
|
|
357
|
+
"exclusiveMinimum": 0
|
|
358
|
+
},
|
|
359
|
+
"height": {
|
|
360
|
+
"type": "number",
|
|
361
|
+
"exclusiveMinimum": 0
|
|
362
|
+
},
|
|
363
|
+
"frame_rate": {
|
|
364
|
+
"type": "number",
|
|
365
|
+
"exclusiveMinimum": 0
|
|
366
|
+
},
|
|
367
|
+
"render_scale": {
|
|
368
|
+
"type": "number",
|
|
369
|
+
"minimum": 0.1,
|
|
370
|
+
"maximum": 10
|
|
371
|
+
},
|
|
372
|
+
"max_width": {
|
|
373
|
+
"type": "number",
|
|
374
|
+
"exclusiveMinimum": 0
|
|
375
|
+
},
|
|
376
|
+
"max_height": {
|
|
377
|
+
"type": "number",
|
|
378
|
+
"exclusiveMinimum": 0
|
|
379
|
+
},
|
|
380
|
+
"metadata": {
|
|
381
|
+
"type": "string"
|
|
382
|
+
},
|
|
383
|
+
"webhook_url": {
|
|
384
|
+
"type": "string",
|
|
385
|
+
"pattern": "^https://[^\\s]+$"
|
|
386
|
+
},
|
|
387
|
+
"source": {
|
|
388
|
+
"type": "object",
|
|
389
|
+
"description": "Documented legacy SDK raw source object."
|
|
390
|
+
},
|
|
391
|
+
"tags": {
|
|
392
|
+
"type": "array",
|
|
393
|
+
"minItems": 1,
|
|
394
|
+
"uniqueItems": true,
|
|
395
|
+
"items": {
|
|
396
|
+
"type": "string",
|
|
397
|
+
"minLength": 1,
|
|
398
|
+
"maxLength": 256,
|
|
399
|
+
"description": "Template tag."
|
|
400
|
+
},
|
|
401
|
+
"description": "Native v1 can render every matching template: count/credits are unbounded by this wrapper."
|
|
402
|
+
},
|
|
403
|
+
"transcripts": {
|
|
404
|
+
"description": "Native v1 caller-provided subtitle timings; opaque JSON, provider validation required."
|
|
405
|
+
},
|
|
406
|
+
"dry_run": false
|
|
407
|
+
},
|
|
408
|
+
"allOf": [
|
|
409
|
+
{
|
|
410
|
+
"anyOf": [
|
|
411
|
+
{
|
|
412
|
+
"required": [
|
|
413
|
+
"template_id"
|
|
414
|
+
]
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"required": [
|
|
418
|
+
"elements"
|
|
419
|
+
]
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"required": [
|
|
423
|
+
"source"
|
|
424
|
+
]
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"required": [
|
|
428
|
+
"tags"
|
|
429
|
+
]
|
|
430
|
+
}
|
|
431
|
+
]
|
|
432
|
+
}
|
|
433
|
+
],
|
|
434
|
+
"additionalProperties": true,
|
|
435
|
+
"description": "V2 render fields are at the top level. Pass template_id or raw elements. RenderScript properties beyond these basics remain opaque and require provider validation. dry_run is reserved for validate_render; v1 source/tags/transcripts belong to create_legacy_render."
|
|
436
|
+
},
|
|
437
|
+
"risk": "destructive",
|
|
438
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"operationId": "listFeeds",
|
|
442
|
+
"method": "GET",
|
|
443
|
+
"path": "/v1/feeds",
|
|
444
|
+
"documentedResponse": null,
|
|
445
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
446
|
+
"checked": "2026-10-03",
|
|
447
|
+
"bodyNotes": null,
|
|
448
|
+
"parameters": [],
|
|
449
|
+
"bodySchema": {},
|
|
450
|
+
"risk": "read",
|
|
451
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"operationId": "getFeed",
|
|
455
|
+
"method": "GET",
|
|
456
|
+
"path": "/v1/feeds/{feed_id}",
|
|
457
|
+
"documentedResponse": null,
|
|
458
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
459
|
+
"checked": "2026-10-03",
|
|
460
|
+
"bodyNotes": null,
|
|
461
|
+
"parameters": [
|
|
462
|
+
{
|
|
463
|
+
"name": "feed_id",
|
|
464
|
+
"in": "path",
|
|
465
|
+
"required": true,
|
|
466
|
+
"schema": {
|
|
467
|
+
"type": "string",
|
|
468
|
+
"minLength": 1,
|
|
469
|
+
"maxLength": 128,
|
|
470
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
471
|
+
"description": "Exact project template/render/feed ID. No URL, slash, traversal or query string."
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
],
|
|
475
|
+
"bodySchema": {},
|
|
476
|
+
"risk": "read",
|
|
477
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"operationId": "getFeedSample",
|
|
481
|
+
"method": "GET",
|
|
482
|
+
"path": "/v1/feeds/{feed_id}/sample",
|
|
483
|
+
"documentedResponse": null,
|
|
484
|
+
"documentation": "https://creatomate.com/llms/api.md",
|
|
485
|
+
"checked": "2026-10-03",
|
|
486
|
+
"bodyNotes": null,
|
|
487
|
+
"parameters": [
|
|
488
|
+
{
|
|
489
|
+
"name": "feed_id",
|
|
490
|
+
"in": "path",
|
|
491
|
+
"required": true,
|
|
492
|
+
"schema": {
|
|
493
|
+
"type": "string",
|
|
494
|
+
"minLength": 1,
|
|
495
|
+
"maxLength": 128,
|
|
496
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
497
|
+
"description": "Exact project template/render/feed ID. No URL, slash, traversal or query string."
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"bodySchema": {},
|
|
502
|
+
"risk": "read",
|
|
503
|
+
"schemaScope": "Reviewed basic structure and exact routes. RenderScript and v1 transcripts remain provider-defined opaque JSON."
|
|
504
|
+
}
|
|
505
|
+
]
|