API reference / Series, sounds, hashtags & places / AI style videos

AI style videos

Videos made with an AI style.

GETapi.tikultra.com/v1/aistyle/videosStandard · 5 credits
Upstream
/tiktok/v1/aistyle/aweme
Access
Every plan
Runs on
LeanPool · android · tiktok · 47.6.3
Pagination
{ cursor, has_more }
Client
os, app_flavour, app_version overrides
Billing
Failed calls are free

Authorization

x-api-keyheader · stringrequired

Your API key. Create one in API keys.

Query parameters

style_idstringrequired

The style ID. For example 7410001112223334445.

cursorstring

The cursor from the previous page. Omit it for the first page.

countinteger

Items per page. For example 20.

Client and egress overrides

Optional. Leave them out to run as android · tiktok · 47.6.3 from the default pool. See Clients and versions.

osstring

android or ios. For example android.

app_flavourstring

Run as tiktok, lite, lite_coin, pro, studio, shop, tv, douyin. For example tiktok.

app_versionstring

A release of that app. Defaults to the current default for (os, app_flavour). For example 47.6.3.

regionstring

Two-letter country code for egress. For example US.

citystring

A supported city in that region. For example miami.

Response

A 200 returns JSON with stable field names. Every response carries x-credits-cost, x-credits-tier and x-credits-remaining.

Pagination

Pass cursor from the previous page and stop when has_more is false. Both sit at the top level of every page; the raw upstream cursor fields are still in the body. See Pagination.

Page shape
{
  "cursor": "1794158512000",
  "has_more": true,
  "items": [
    "…"
  ]
}
PythonNode.jspages
import os, requests

def pages(path, **params):
    cursor = None
    while True:
        if cursor:
            params["cursor"] = cursor
        r = requests.get(f"https://api.tikultra.com{path}", params=params,
                         headers={"x-api-key": os.environ["TIKULTRA_KEY"]})
        r.raise_for_status()
        page = r.json()
        yield page
        if not page["has_more"]:
            return
        cursor = page["cursor"]

for page in pages("/v1/aistyle/videos", style_id=7410001112223334445, count=50):
    print(page["cursor"], page["has_more"])

Errors

Errors return a JSON body with a stable code and cost 0 credits. See Errors and retries.