Clips

Add an overlay to a clip

Adds an image or video overlay to a clip. Upload the bytes via POST /v1/sources (kind: image or kind: video) and pass the sourceId; the overlay type follows the source's kind.

post/v1/videos/{id}/clips/{clipId}/overlays

Request

  • Base URL: https://api.tella.com
  • URL: https://api.tella.com/v1/videos/{id}/clips/{clipId}/overlays
  • Auth: HTTP bearer

Path parameters

idstring required

Video identifier

Example:vid_abc123def456
clipIdstring required

Clip identifier

Example:cl_xyz789ghi012

Request body

depth'front' | 'behind_presenter'

Where the overlay sits relative to the presenter: the person in the clip's camera recording, or in its uploaded footage when the clip has no camera. front paints over everything. behind_presenter paints it behind the person but over everything else: in any layout the person is matted out of their footage and redrawn above the overlay. Fullscreen and framed layouts keep the recorded room around them; a cut-out layout replaces the room with the clip background. New overlays start on front. Without a presenter the overlay paints in front either way.

durationMsinteger required
namestring
sourceIdstring required

Source ID from POST /v1/sources (kind: image or kind: video). The overlay type follows the source's kind.

startTimeMsinteger required

Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.

Example request

{
  "animation": {
    "intro": {
      "preset": "slide_up"
    },
    "outro": {
      "preset": "fade"
    }
  },
  "depth": "behind_presenter",
  "dimensions": {
    "height": 540,
    "width": 960
  },
  "durationMs": 5000,
  "name": "Logo",
  "point": {
    "xPct": 30,
    "yPct": 30
  },
  "sourceId": "su_abc123",
  "startTimeMs": 1000
}

Response

OK

Example response

{
  "overlay": {
    "animation": {
      "intro": {
        "durationMs": 500,
        "easing": {
          "bezier": [
            0.25,
            0.1,
            0.25,
            1
          ],
          "curve": "slow_down",
          "intensity": 0.5,
          "spring": {
            "damping": 12,
            "mass": 1,
            "stiffness": 200
          }
        },
        "moveY": -0.5,
        "preset": "slide_up",
        "scale": 1,
        "text": {
          "delayMs": 100,
          "order": "forward",
          "smoothing": "linear",
          "unit": "words"
        }
      },
      "motionBlur": true,
      "outro": {
        "durationMs": 500,
        "easing": {
          "bezier": [
            0.25,
            0.1,
            0.25,
            1
          ],
          "curve": "slow_down",
          "intensity": 0.5,
          "spring": {
            "damping": 12,
            "mass": 1,
            "stiffness": 200
          }
        },
        "moveY": -0.5,
        "preset": "slide_up",
        "scale": 1,
        "text": {
          "delayMs": 100,
          "order": "forward",
          "smoothing": "linear",
          "unit": "words"
        }
      },
      "textIntro": {
        "durationMs": 500,
        "easing": {
          "bezier": [
            0.25,
            0.1,
            0.25,
            1
          ],
          "curve": "slow_down",
          "intensity": 0.5,
          "spring": {
            "damping": 12,
            "mass": 1,
            "stiffness": 200
          }
        },
        "moveY": -0.5,
        "preset": "slide_up",
        "scale": 1,
        "text": {
          "delayMs": 100,
          "order": "forward",
          "smoothing": "linear",
          "unit": "words"
        }
      },
      "textOutro": {
        "durationMs": 500,
        "easing": {
          "bezier": [
            0.25,
            0.1,
            0.25,
            1
          ],
          "curve": "slow_down",
          "intensity": 0.5,
          "spring": {
            "damping": 12,
            "mass": 1,
            "stiffness": 200
          }
        },
        "moveY": -0.5,
        "preset": "slide_up",
        "scale": 1,
        "text": {
          "delayMs": 100,
          "order": "forward",
          "smoothing": "linear",
          "unit": "words"
        }
      }
    },
    "depth": "behind_presenter",
    "dimensions": {
      "height": 540,
      "width": 960
    },
    "durationMs": 5000,
    "id": "ly_abc123",
    "name": "Logo",
    "point": {
      "xPct": 30,
      "yPct": 30
    },
    "sourceId": "su_abc123",
    "startTimeMs": 1000,
    "transition": "smooth",
    "type": "image"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.