$0.01
per call · USDC on Base Sepolia
Create a video project — the container for a composition (the editable timeline), its media, brand kit, and renders. Every other authoring call (import or generate media, apply composition ops, compose, render, export) takes this project's id. Set the output format here (aspectRatio, fps, resolution).
Endpoint
POST https://api-dev.cueframe.ai/v1/projects7
Calls / 30d
1
Unique payers / 30d
Sep 1
Last called
exact
Payment scheme
Call this service
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);
const res = await fetchWithPay("https://api-dev.cueframe.ai/v1/projects", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"brandKitId": "string",
"description": "string",
"format": {
"aspectRatio": "16:9",
"fps": 24,
"resolution": "hd"
},
"height": 0,
"name": "string",
"width": 0
}),
});
const data = await res.json();curl -X POST \
"https://api-dev.cueframe.ai/v1/projects" \
-H "Content-Type: application/json" \
-d '{"brandKitId":"string","description":"string","format":{"aspectRatio":"16:9","fps":24,"resolution":"hd"},"height":0,"name":"string","width":0}' \
-H "X-PAYMENT: <signed x402 payment>"Example response
{
"activeCompositionId": "string",
"brandKitId": "string",
"composition": {
"duration": 0,
"hasComposition": true,
"sceneCount": 0,
"updatedAt": "string"
},
"createdAt": "string",
"description": "string",
"format": {
"aspectRatio": "16:9",
"fps": {},
"resolution": "hd"
},
"id": "string",
"lastRender": {
"createdAt": "string",
"id": "string",
"outputExpiresAt": "string",
"outputUrl": "string",
"status": "string"
},
"name": "string"
}Payment details
0x82134912ccc71610da9350ff59cd279fad494a98USDC · 0x036cbd53842c5426634e7929541ec2318f3dcf7eIs this your API?
Pin it to the top of Media & Generation and the homepage with a featured placement.
More from CueFrame & similar services
CueFrame · Media Import
api.cueframe.ai
Import media into the project from a public https URL — the server fetches and mirrors the bytes (SSRF-filtered), then processes it (transcode + transcribe). Async: returns a media id that flips to ready when the mirror and processing finish; poll GET /media/:id or use a media.completed webhook.
CueFrame · Composition Validate
api.cueframe.ai
Validate a composition body without saving it (dry-run)
CueFrame · Media
api-dev.cueframe.ai
Paginated library list. Filter with ?kind= (video|audio|image|gif|asset|source|stock), ?source= (upload|generated|import-url|stock), ?tag= (exact tag) so a real library isn't an undifferentiated soup.