API referenceEndpoints

Formats API

Create a format from a link, read and list formats, start a step that waited for funds, and delete a format with all made from it.

Create a format

POST /api/v1/formats

Reads the site, writes the Format DNA and makes a video in each style asked for, by itself. Needs Formats: Write.

FieldNeededWhat it is
linkrequiredThe site, or the App Store or Google Play page, to make ads for.
stylesoptionalStyle ids from the Styles API, at most 10. A video is made in each. None: one video in the site's own look.
aspectsoptionalAny of "9:16", "1:1", "16:9". Each video is made in each shape. Default ["9:16"].
lengthoptionalSeconds, from 5 to 30. Default 20. A video is priced by its length.
voiceoveroptionaltrue for a narrated video. Default false.
musicoptionalfalse for videos with no music, with "engine": "motion-v1-flash" only: Motion V1 always makes music. Default true. Music is priced on its own.
goaloptionalOne of installs, signups, sales, leads, awareness.
audienceoptionalWho the ads are for, in a sentence.
angleoptionalThe one idea the ads are built on, in a sentence.
notesoptionalAnything else the writers should know.
nameoptionalThe product's name. Read from the site when left out.
videosoptionalfalse to only read the site and write the Format DNA. Default true.
countoptionalHow many videos it makes by itself of each style, or of the site's own look, from 1 to 6. Default 1.
engineoptional"motion-v1" or "motion-v1-flash" for the videos it makes by itself. Default "motion-v1". Motion V1 Flash makes videos only, at its own price.
reuseoptionalA site you read before is not read again, and not paid for again. false reads it again.

The whole of it is checked against what can pay before anything starts. When it cannot be paid, the answer is 402 with "code": "funds" and nothing is made.

curl https://10xvid.com/api/v1/formats \
  -H "Authorization: Bearer $TENX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"link": "https://typally.com", "styles": ["whiteboard", "clay"], "aspects": ["9:16", "1:1"], "length": 15}'

The answer is 201 with the format:

{
  "id": "typally-com-mgn4x2a1",
  "object": "format",
  "name": "Typally",
  "link": "https://typally.com/",
  "status": "reading",
  "error": null,
  "styles": ["whiteboard", "clay"],
  "aspects": ["9:16", "1:1"],
  "engine": "motion-v1",
  "voiceover": false,
  "music": true,
  "length": 15,
  "videos_expected": 2,
  "created": "2026-10-13T09:12:04.551Z"
}

The format object

FieldWhat it is
idThe format's id.
objectAlways format.
nameThe product's name, as read from the site or sent.
linkThe link it was made from.
statusreading, writing, ready, waiting or failed. See below.
errorWhat went wrong, in a sentence, when status is failed or waiting.
stylesThe styles asked for.
aspectsThe shapes its videos are made in.
engineThe engine its videos are made with: motion-v1 or motion-v1-flash.
voiceoverWhether its videos are narrated.
musicWhether its videos have music.
lengthThe length of its videos in seconds, or null when none was asked: then they are 20 seconds.
videos_expectedHow many videos it makes by itself: count in each style, count with none, or 0 when asked for none.
createdWhen it was made.
videosIts videos, newest first. Only in GET /formats/{id}.
StatusWhat it means
readingThe site is being read.
writingThe Format DNA is being written.
readyVideos can be made from it. The ones asked for start by themselves, each once its style is written.
waitingA step could not be paid for when it was due. Add funds and it carries on by itself, or call continue.
failedThe site could not be read, or the Format DNA could not be written. What it cost was given back.

Get a format

GET /api/v1/formats/{id}

The format with its videos. Needs Formats: Read.

List formats

GET /api/v1/formats

Your formats, newest first. Needs Formats: Read.

QueryWhat it is
limitHow many, from 1 to 100. Default 20.
beforeOnly formats made before this moment, as an ISO date or milliseconds. Use the last one's created for the next page.
{
  "object": "list",
  "data": [
    { "id": "typally-com-mgn4x2a1", "object": "format", "status": "ready" }
  ],
  "has_more": false
}

Continue a format

POST /api/v1/formats/{id}/continue

Starts the step that waited for funds, once they are there. A format that waits nothing is answered as it is. Needs Formats: Write.

Delete a format

DELETE /api/v1/formats/{id}

Stops its work and deletes it, with its styles, its videos and its images. It cannot be undone. Needs Formats: Write.

{ "id": "typally-com-mgn4x2a1", "object": "format", "deleted": true }