VI | EN
Message us on Messenger
Developer resources

Upload an image — TikTok Business API

Upload an image · call it through Quantri360 with one API key for your own accounts / assets that you connected and authorized — 360 handles request signing and refreshing the authorization you granted.

Upload an image

POST/file/image/ad/upload/Via 360: POST https://partner.quantri360.com/v1/tiktok_business/file/image/ad/upload/
Write endpoint — changes data on TikTok Business. The key must be created with "Allow write API calls" ticked, otherwise you get 403 write_not_allowed. Every call is logged.
Description

Use this endpoint to upload pictures to the Asset Library and use the obtained image ID for creating ads.

Request timeout for this endpoint is 10s, and the transmission speed depends on network bandwidth. Please make sure that the file size is reasonable.

To learn about the steps of creating single image ads, refer to Create single image ads.

To learn about the steps of creating Carousel Ads, refer to Create Carousel Ads.

Comparing v1.2 and v1.3

The follo

Request

Endpoint

POST https://partner.quantri360.com/v1/tiktok_business/file/image/ad/upload/

Authentication & shop

NameInTypeSampleDescription
AuthorizationheaderheaderBearer q360_live_ab12cd34_…Khóa API của brand (tạo ở mục API key). Bắt buộc với mọi request. Brand suy từ key — không truyền mã brand.
platform_shop_idquerystring7000000000000000001Tài sản TikTok Business đã kết nối — "Mã tài sản" ở trang Nền tảng hoặc GET /v1/platforms (tài khoản quảng cáo cho Marketing API, tài khoản TikTok cho Organic / Messaging). Có thể bỏ khi chỉ kết nối một tài sản.

Request parameters

NameInTypeRequiredSampleDescription
Endpoint pathbody/v1.2/file/image/ad/upload/No/v1.3/file/image/ad/upload/
Request parameter data typebody`advertiser_id`: numberNoadvertiser_id: string
New request parametersbody/Nopre_review_enabled pre_review_info
New response parametersbody/Nois_carousel_usable pre_review_task_id
Response parameter deprecated in v1.3body/Noid: string

Request examples

curl -s -X POST "https://partner.quantri360.com/v1/tiktok_business/file/image/ad/upload/" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/tiktok_business/file/image/ad/upload/",
    params={},
    json={},
    headers={"Authorization": f"Bearer {KEY}"},
    timeout=60,
)
print(r.status_code)
print(r.json())
Node.js
const KEY = 'q360_live_...'; // khóa API của brand
const url = new URL('https://partner.quantri360.com/v1/tiktok_business/file/image/ad/upload/');
for (const [k, v] of Object.entries({})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
  method: 'POST',
  headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({}),
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/tiktok_business/file/image/ad/upload/' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key, 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{}');
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Response fields (as returned by TikTok Business)

The response is the raw TikTok Business JSON for this endpoint.

Get started

  1. Sign up for Partner
  2. Enable a data type of the Ads (Marketing API) group on the platform page
  3. Create an API key (tick the TikTok Business channel)
  4. Call it as in the examples above