NAV

Bannerbite API Reference

Base URL

https://api.bannerbite.com

Welcome to the Bannerbite API! Bannerbite is a service that auto generates images and videos.

Bite-size videos are the perfect way to capture your audience's attention. They're short and sweet, but they still get the point across. With Bannerbite create bite-sized video in seconds!

Authentication

Bannerbite uses API keys to allow access to the API. You can get an API key from your account settings.

Bannerbite expects the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: Bearer API_KEY

You can find the API key in My Account → API Settings.

Projects

Get All Projects

The above command returns JSON structured like this:

{
  "data": [
    {
      "id": 1,
      "user_id": 1,
      "name": "Social Media Post 31.09.22",
      "slug": "social-media-post-310922-300925",
      "description": null,
      "settings": null,
      "created_at": "2022-09-31T01:27:00Z",
      "updated_at": "2022-09-31T01:27:00Z",
      "background_color": null,
      "image": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/thumbnail/project/img-project-9_1.jpg",
      "meta": {}
    },
    {
      "id": 2,
      "user_id": 1,
      "name": "Social Media Post 30.09.22",
      "slug": "social-media-post-300922-300924",
      "description": null,
      "settings": null,
      "created_at": "2022-09-30T01:25:28Z",
      "updated_at": "2022-09-30T01:25:28Z",
      "background_color": null,
      "image": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/thumbnail/project/img-project-3_1.jpg",
      "meta": {}
    }
  ]
}

This endpoint retrieves all projects.

HTTP Request

GET http://example.com/api/projects

Query Parameters

Parameter Default Description
limit 10 The API returns 10 items per page by default but you can request up to 100 using this parameter.

Get a Specific Projects

The above command returns JSON structured like this:

{
  "data": {
      "id": 1,
      "user_id": 1,
      "name": "Social Media Post 31.09.22",
      "slug": "social-media-post-310922-300925",
      "description": null,
      "settings": null,
      "created_at": "2022-09-31T01:27:00Z",
      "updated_at": "2022-09-31T01:27:00Z",
      "background_color": null,
      "image": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/thumbnail/project/img-project-9_1.jpg",
      "meta": {}
  }
}

This endpoint retrieves a specific project.

HTTP Request

GET http://example.com/projects/<ID>

URL Parameters

Parameter Description
ID The ID of the project to retrieve

Bites

Get All Bites

The above command returns JSON structured like this:

{
  "data": [
    {
      "id": 1,
      "user_id": 1,
      "project_id": 1,
      "template_id": 1,
      "bite_size_id": 1,
      "name": "Test shareable",
      "slug": "untitled-video-499",
      "output": null,
      "content": "{\"scenes\":[{\"template\":{\"id\":957,\"file_path\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/monaka_uno/1679382245485-Monaka_P_-_1.json\",\"audioUrl\":\"\",\"thumbnail\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/thumbnail/template/images/1679382254309-Monaka_P_-_1.jpg\",\"size\":\"post\",\"name\":\"Monaka Uno\",\"duration\":15,\"currentDuration\":\"4\"},\"sceneData\":[{\"name\":\"sc01_img_01\",\"refId\":\"image_0\",\"url\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/monaka_uno/img_0.png\",\"width\":369,\"height\":139},{\"name\":\"sc01_img_02\",\"refId\":\"image_1\",\"url\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/monaka_uno/img_1.jpg\",\"width\":970,\"height\":970},{\"name\":\"sc01_shp_01\",\"color\":\"#ffffffff\"},{\"name\":\"sc01_shp_02\",\"color\":\"#007369ff\"},{\"name\":\"sc01_shp_03\",\"color\":\"#02a676ff\"},{\"name\":\"sc01_shp_04\",\"color\":\"#02a676ff\"},{\"name\":\"sc01_txt_01\",\"value\":\"JOIN OUR WEBINAR SESSION ON\",\"color\":\"#02a676\"},{\"name\":\"sc01_txt_02\",\"value\":\"The Global Stage: Understanding International Affairs and Political Dynamics\",\"color\":\"#262626\"},{\"name\":\"sc01_txt_03\",\"value\":\"AUGUST 17\",\"color\":\"#02a676\"},{\"name\":\"sc01_txt_04\",\"value\":\"09:30 AM - GMT\",\"color\":\"#0f0f0f\"},{\"name\":\"sc01_txt_05\",\"value\":\"Natalya Miroslava\",\"color\":\"#ffffff\"},{\"name\":\"sc01_txt_06\",\"value\":\"United Nations Foreign\\u000bAffair Officer\",\"color\":\"#ffffff\"}]},{\"template\":{\"id\":960,\"file_path\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/kornigou_uno/1679382942522-Kornigou_P_-_1.json\",\"audioUrl\":\"\",\"thumbnail\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/thumbnail/template/images/1679382962919-Kornigou_P_-_1.jpg\",\"size\":\"post\",\"name\":\"Kornigou Uno\",\"duration\":15,\"currentDuration\":\"4\"},\"sceneData\":[{\"name\":\"sc01_img_01\",\"refId\":\"image_0\",\"url\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/kornigou_uno/img_0.jpg\",\"width\":627,\"height\":515},{\"name\":\"sc01_shp_01\",\"color\":\"#ffd631ff\"},{\"name\":\"sc01_shp_02\",\"color\":\"#e82435ff\"},{\"name\":\"sc01_shp_03\",\"color\":\"#be202eff\"},{\"name\":\"sc01_shp_04\",\"color\":\"#a00110ff\"},{\"name\":\"sc01_shp_05\",\"color\":\"#a91d2aff\"},{\"name\":\"sc01_txt_01\",\"value\":\"Today's Session\",\"color\":\"#ffffff\"},{\"name\":\"sc01_txt_02\",\"value\":\"Influence & Persuasion\",\"color\":\"#1a1a1a\"},{\"name\":\"sc01_txt_03\",\"value\":\"Unlocking the secrets of effective communication and influence.\",\"color\":\"#1a1a1a\"},{\"name\":\"sc01_txt_04\",\"value\":\"Brian Henderson\",\"color\":\"#ffffff\"},{\"name\":\"sc01_txt_05\",\"value\":\"MAX Inc Community Officer\",\"color\":\"#ffffff\"}]}],\"audioUrl\":\"\",\"audioInPoint\":\"00:00\",\"totalDuration\":\"8s\",\"is_fade\":false,\"is_render_all_format\":false,\"is_trigger_shared_form\":false,\"webhook_single_video\":false,\"webhook\":\"\"}",
      "settings": "",
      "created_at": "2023-03-29T20:51:59Z",
      "updated_at": "2023-04-05T05:24:18Z",
      "generated_lottie": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/generated_lottie/UntitledVideo-1680148959432.mp4",
      "access_token": "Mk0DVMXVYFEKZRAzxdVf"
    }
  ]
}

This endpoint retrieves all bites.

HTTP Request

GET http://example.com/api/bites

Query Parameters

Parameter Default Description
limit 10 The API returns 10 items per page by default but you can request up to 100 using this parameter.
project_id required The ID of the project to retrieve

Get a Specific Bites

The above command returns JSON structured like this:

{
  "data": {
    "id": 1,
    "user_id": 1,
    "project_id": 1,
    "template_id": 1,
    "bite_size_id": 1,
    "name": "Test shareable",
    "slug": "untitled-video-499",
    "output": null,
    "content": "{\"scenes\":[{\"template\":{\"id\":957,\"file_path\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/monaka_uno/1679382245485-Monaka_P_-_1.json\",\"audioUrl\":\"\",\"thumbnail\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/thumbnail/template/images/1679382254309-Monaka_P_-_1.jpg\",\"size\":\"post\",\"name\":\"Monaka Uno\",\"duration\":15,\"currentDuration\":\"4\"},\"sceneData\":[{\"name\":\"sc01_img_01\",\"refId\":\"image_0\",\"url\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/monaka_uno/img_0.png\",\"width\":369,\"height\":139},{\"name\":\"sc01_img_02\",\"refId\":\"image_1\",\"url\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/monaka_uno/img_1.jpg\",\"width\":970,\"height\":970},{\"name\":\"sc01_shp_01\",\"color\":\"#ffffffff\"},{\"name\":\"sc01_shp_02\",\"color\":\"#007369ff\"},{\"name\":\"sc01_shp_03\",\"color\":\"#02a676ff\"},{\"name\":\"sc01_shp_04\",\"color\":\"#02a676ff\"},{\"name\":\"sc01_txt_01\",\"value\":\"JOIN OUR WEBINAR SESSION ON\",\"color\":\"#02a676\"},{\"name\":\"sc01_txt_02\",\"value\":\"The Global Stage: Understanding International Affairs and Political Dynamics\",\"color\":\"#262626\"},{\"name\":\"sc01_txt_03\",\"value\":\"AUGUST 17\",\"color\":\"#02a676\"},{\"name\":\"sc01_txt_04\",\"value\":\"09:30 AM - GMT\",\"color\":\"#0f0f0f\"},{\"name\":\"sc01_txt_05\",\"value\":\"Natalya Miroslava\",\"color\":\"#ffffff\"},{\"name\":\"sc01_txt_06\",\"value\":\"United Nations Foreign\\u000bAffair Officer\",\"color\":\"#ffffff\"}]},{\"template\":{\"id\":960,\"file_path\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/kornigou_uno/1679382942522-Kornigou_P_-_1.json\",\"audioUrl\":\"\",\"thumbnail\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/thumbnail/template/images/1679382962919-Kornigou_P_-_1.jpg\",\"size\":\"post\",\"name\":\"Kornigou Uno\",\"duration\":15,\"currentDuration\":\"4\"},\"sceneData\":[{\"name\":\"sc01_img_01\",\"refId\":\"image_0\",\"url\":\"https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/kornigou_uno/img_0.jpg\",\"width\":627,\"height\":515},{\"name\":\"sc01_shp_01\",\"color\":\"#ffd631ff\"},{\"name\":\"sc01_shp_02\",\"color\":\"#e82435ff\"},{\"name\":\"sc01_shp_03\",\"color\":\"#be202eff\"},{\"name\":\"sc01_shp_04\",\"color\":\"#a00110ff\"},{\"name\":\"sc01_shp_05\",\"color\":\"#a91d2aff\"},{\"name\":\"sc01_txt_01\",\"value\":\"Today's Session\",\"color\":\"#ffffff\"},{\"name\":\"sc01_txt_02\",\"value\":\"Influence & Persuasion\",\"color\":\"#1a1a1a\"},{\"name\":\"sc01_txt_03\",\"value\":\"Unlocking the secrets of effective communication and influence.\",\"color\":\"#1a1a1a\"},{\"name\":\"sc01_txt_04\",\"value\":\"Brian Henderson\",\"color\":\"#ffffff\"},{\"name\":\"sc01_txt_05\",\"value\":\"MAX Inc Community Officer\",\"color\":\"#ffffff\"}]}],\"audioUrl\":\"\",\"audioInPoint\":\"00:00\",\"totalDuration\":\"8s\",\"is_fade\":false,\"is_render_all_format\":false,\"is_trigger_shared_form\":false,\"webhook_single_video\":false,\"webhook\":\"\"}",
    "settings": "",
    "created_at": "2023-03-29T20:51:59Z",
    "updated_at": "2023-04-05T05:24:18Z",
    "generated_lottie": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/generated_lottie/UntitledVideo-1680148959432.mp4",
    "access_token": "Mk0DVMXVYFEKZRAzxdVf",
    "template": {
      "id": 1,
      "user_id": 1,
      "category_id": null,
      "name": "Kornigou Uno",
      "slug": "kornigou-uno",
      "description": null,
      "type": null,
      "content": "{\"duration\":15.066666666666666,\"scene\":1}",
      "file_path": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/template/kornigou_uno/1679382942522-Kornigou_P_-_1.json",
      "thumbnail_path": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/thumbnail/template/images/1680578980340-Kornigou_P_-_1_[f0075](1).jpg",
      "is_published": 1,
      "is_default": 1,
      "created_at": "2023-03-21T00:15:47.000Z",
      "updated_at": "2023-04-03T20:29:46.000Z",
      "thumbnail_large_path": null,
      "video_preview_small": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/video/preview/template/videos/1680578983595-Kornigou_P_-_1-74.mp4",
      "video_preview_large": null,
      "size": "post",
      "audio_path": null,
      "categories": "[\"Podcast\",\"Profile\",\"Social Media\",\"Webinar\"]",
      "external_id": null,
      "upload_from": "bannerbite",
      "is_allow_video": 0
    },
    "size": {
      "id": 1,
      "user_id": null,
      "name": "Post",
      "slug": "post",
      "width": 1080,
      "height": 1350,
      "description": "For Instagram or Facebook post",
      "icon": null,
      "background_color": "#ffffff",
      "created_at": "2022-01-19T19:09:33.000Z",
      "updated_at": "2022-01-19T19:09:33.000Z"
    }
  }
}

This endpoint retrieves a specific project.

HTTP Request

GET http://example.com/bites/<ID>

URL Parameters

Parameter Description
ID The ID of the bite to retrieve

Get Scenes Data

The above command returns JSON structured like this:

[
  {
      "name": "scene01_image_01",
      "value": "https://bannerbite-dev-storage.s3.eu-central-1.amazonaws.com/gallery/images/1683178194469-tranpsarent-dummy-scene.png"
  },
  {
      "name": "scene01_shape_01",
      "color": "#ffffff"
  },
  {
      "name": "scene01_shape_02",
      "color": "#e4002b"
  },
  {
      "name": "scene01_shape_03",
      "color": "#ffffff"
  },
  {
      "name": "scene01_text_01",
      "value": "Rune  Kristine Fiske ",
      "color": "#ffffff"
  },
  {
      "name": "scene01_text_02",
      "value": "2. kandidat i Lillestrøm",
      "color": "#ffffff"
  },
  {
      "name": "scene01_text_03",
      "value": "Arbeiderpartiet står for frihet, likhet og solidaritet. Les om Arbeiderpartiets politikk og politikere.",
      "color": "#1f1f1f"
  },
  {
      "name": "scene01_video",
      "value": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/bite/videos/1686534630750-25s_5scene1686050915369overlay.mp4",
      "height": 1350,
      "width": 1082,
      "inPoint": "00:00",
      "outPoint": "00:25",
      "visibility": true,
      "position": {
          "x": 0,
          "y": 2,
          "finalWidth": 1080,
          "finalHeight": 1347
      }
  }
]

This endpoint retrieves scenes data from bite.

HTTP Request

GET http://example.com/api/sceneData/<ID>

URL Parameters

Parameter Description
ID The ID of the bite to retrieve

Scene Data Parameters

Scene Data

Parameters Text

Parameter Type Description
name string The variables used to identify the scene and the parameters to be used
value string Value to be filled in the scene
color string The variable used to change the color of the text

Parameters Image

Parameter Type Description
name string The variables used to identify the scene and the parameters to be used
value string Value to be filled in the scene

Parameters Shape

Parameter Type Description
name string The variables used to identify the scene and the parameters to be used
color string The variable used to change the color of the shape

Parameters Video

Parameter Type Description
name string The variables used to identify the scene and the parameters to be used
value string Value to be filled in the scene
Height number Height of video
Width number Width of video
inPoint string The start of video to be inserted with format mm:ss
outPoint string The end of video to be inserted with format mm:ss
visibility boolean Variables used to show and hide videos
position object Video position

Renders

Generate Image/Video

Example JSON:

{
  "uid": "ASDbdsabkasdj126",
  "audio": {
      "url": "",
      "inPoint": "00:00"
  },
  "type": "image",
  "email": "",
  "scene": 1,
  "webhook": "",
  "sceneData": [
    {
        "name": "scene01_image_01",
        "value": "https://bannerbite-dev-storage.s3.eu-central-1.amazonaws.com/gallery/images/1683178194469-tranpsarent-dummy-scene.png"
    },
    {
        "name": "scene01_text_01",
        "value": "Rune  Kristine Fiske ",
        "color": "#ffffff"
    },
    {
        "name": "scene01_text_02",
        "value": "2. kandidat i Lillestrøm",
        "color": "#ffffff"
    },
    {
        "name": "scene01_text_03",
        "value": "Arbeiderpartiet står for frihet, likhet og solidaritet. Les om Arbeiderpartiets politikk og politikere.",
        "color": "#1f1f1f"
    },
    {
        "name": "scene01_video",
        "value": "https://bannerbite-storage.s3.eu-central-1.amazonaws.com/bite/videos/1686534630750-25s_5scene1686050915369overlay.mp4",
        "height": 1350,
        "width": 1082,
        "inPoint": "00:00",
        "outPoint": "00:25",
        "visibility": true,
        "position": {
            "x": 0,
            "y": 2,
            "finalWidth": 1080,
            "finalHeight": 1347
        }
    }
  ]
}

The above command returns JSON structured like this:

{
  "message": "Render request has been aceppted and now in progress"
}

This endpoint generate a image or video.

HTTP Request

POST http://example.com/render

URL Parameters

Parameter Description
ID The ID of the bite to retrieve

Query Parameters

Parameter Type Description
uid string ID or Access Token from Bite (Required)
audio object Object of audio include url and inPoint (Optional)
email string The resulting video rendering will be sent via email (Optional)
type string Type of render image, video or overlay (Default: image)
scene number If the type is image, the scene parameter is required. This parameter determines which scene will be rendered (Default: 1)
webhook string Please provide the webhook URL where you would like to receive notifications or updates by filling in the designated field (Default: null)
sceneData object Array of object include email and scenes data (Required)

Integration

Render from Make/Integromat

Example JSON Input:

[
  {
    "email": "hello@example.com",
    "bite_id": 1,
    "project_id": 1,
    "type": "image",
    "scene": 1,
    "webhook": null,
    "audio": [
      {
        "url": "www.example.com/thisisaudio.mp4",
        "in_point": "00:00" //format mm:ss
      }
    ]
    "custom_message": "Example message",
    "sc01_txt_01": "Example 1",
    "sc01_txt_02": "Example 2",
    "sc01_txt_03": "Example 3",
    "sc01_txt_04": "Example 4"
  }
]

The above command returns JSON structured like this:

[
    {
        "message": "Render request has been aceppted and now in progress"
    }
]

This endpoint generate a image or video from Make/Integromat

HTTP Request

POST http://example.com/api/integromat/render

Query Parameters

Parameter Type Description
email string The resulting video rendering will be sent via email
bite_id number The ID of the bite to retrieve
project_id number The ID of the project to retrieve
type string Type of render image, video , sequence or overlay (Default: image)
scene number If the type is image, the scene parameter is required. This parameter determines which scene will be rendered (Default: 1)
webhook string Please provide the webhook URL where you would like to receive notifications or updates by filling in the designated field (Default: null)
audio array of object Object of audio include url and in_point (Optional)
custom_message string The custom message for the result

Errors

The Bannerbite API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The bannerbite requested is hidden for administrators only.
404 Not Found -- The specified bannerbite could not be found.
405 Method Not Allowed -- You tried to access a bannerbite with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The bannerbite requested has been removed from our servers.
418 I'm a teapot.
429 Too Many Requests -- You're requesting too many bannerbites! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.