Skip to content

POST /v1/overlay

POST /v1/overlay is the only endpoint you need.

  • Send asset to bake the overlay into an image or video.
  • Omit asset and send width + height to get a transparent PNG overlay only.

Method: POST URL: https://snapchat-text-overlay-api.com/v1/overlay Content-Type: multipart/form-data

FieldTypeRequiredDescription
assetfileNoImage (JPEG, PNG, WebP) or video (MP4, MOV, WebM)
widthnumberConditionalRequired when asset is omitted
heightnumberConditionalRequired when asset is omitted
textstring*Single caption text, max 180 characters
overlaysstring*JSON array of overlay objects

Either text or overlays is required.

[
{ "text": "night one in miami", "position": 40 },
{ "text": "second line", "position": 55 }
]

The response body is:

  • a rendered PNG or MP4 when asset is present
  • a transparent PNG when asset is omitted
HeaderDescription
content-typeimage/png or video/mp4
content-lengthFile size in bytes
content-dispositioninline; filename="uuid.ext"
x-render-idUnique render identifier
x-source-typeimage or video
x-render-duration-msRender time in milliseconds
const form = new FormData();
form.append("asset", fileInput.files[0]);
form.append("text", "night one in miami");
const resp = await fetch("https://snapchat-text-overlay-api.com/v1/overlay", {
method: "POST",
headers: { "x-api-key": "snap_live_your_key" },
body: form
});
const blob = await resp.blob();
import requests
with open("photo.jpg", "rb") as f:
resp = requests.post(
"https://snapchat-text-overlay-api.com/v1/overlay",
headers={"x-api-key": "snap_live_your_key"},
files={"asset": f},
data={"text": "late checkout energy"}
)
with open("rendered.png", "wb") as out:
out.write(resp.content)
Terminal window
curl -X POST https://snapchat-text-overlay-api.com/v1/overlay \
-H "x-api-key: snap_live_your_key" \
-F "asset=@photo.jpg" \
-F "text=late checkout energy" \
--output rendered.png
Terminal window
curl -X POST https://snapchat-text-overlay-api.com/v1/overlay \
-H "x-api-key: snap_live_your_key" \
-F "width=1080" \
-F "height=1920" \
-F "text=hello from overlay mode" \
--output overlay.png