Listing
GET/v1/brands
API key requiredSuccess 200
Parameters
| Name | Type | Description |
|---|---|---|
limitquery | integer | Default 50; range 1–200 |
cursorquery | string | length ≤ 256; nullable |
afterquery | string | length ≤ 256; nullable |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Response 200 application/json
| Name | Type | Description |
|---|---|---|
datarequired | array<object> | |
data[].idrequired | string | |
data[].project_idrequired | string | nullable |
data[].kindrequired | string | |
data[].namerequired | string | |
data[].versionrequired | integer | |
data[].created_atrequired | number | |
data[].updated_atrequired | number | |
data[].datarequired | object | |
next_cursor | string | Opaque; pass as cursor (or the after alias) for the next page; nullable |
has_more | boolean | Default false |
Example
curl "https://axiomlab.online/v1/brands" \ -H "Authorization: Bearer $AZIMO_API_KEY"
Create
POST/v1/brands
API key requiredSuccess 201
Parameters
| Name | Type | Description |
|---|---|---|
Idempotency-Keyheader | string | A unique value you generate and keep; reuse it when retrying so the request never runs twice; length 1–128; nullable |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Request body application/json
| Name | Type | Description |
|---|---|---|
namerequired | string | length 1–120 |
slogan | string | length ≤ 500 |
primary_color | string | Default #0F4C81 |
theme | string | One of: light dark; Default dark |
assets | array<string> | up to 30 items |
notes | string | length ≤ 2000 |
Response 201 application/json
| Name | Type | Description |
|---|---|---|
idrequired | string | |
project_idrequired | string | nullable |
kindrequired | string | |
namerequired | string | |
versionrequired | integer | |
created_atrequired | number | |
updated_atrequired | number | |
datarequired | object |
Example
curl -X POST "https://axiomlab.online/v1/brands" \
-H "Authorization: Bearer $AZIMO_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"name": "<name>"}'Get
GET/v1/brands/{resource_id}
API key requiredSuccess 200
Parameters
| Name | Type | Description |
|---|---|---|
resource_idrequiredpath | string | |
versionquery | integer | range ≥ 1; nullable |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Response 200 application/json
| Name | Type | Description |
|---|---|---|
idrequired | string | |
project_idrequired | string | nullable |
kindrequired | string | |
namerequired | string | |
versionrequired | integer | |
created_atrequired | number | |
updated_atrequired | number | |
datarequired | object |
Example
curl "https://axiomlab.online/v1/brands/<resource_id>" \ -H "Authorization: Bearer $AZIMO_API_KEY"
Revise
PUT/v1/brands/{resource_id}
API key requiredSuccess 200
Parameters
| Name | Type | Description |
|---|---|---|
resource_idrequiredpath | string | |
expected_versionrequiredquery | integer | range ≥ 1 |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Request body application/json
| Name | Type | Description |
|---|---|---|
namerequired | string | length 1–120 |
slogan | string | length ≤ 500 |
primary_color | string | Default #0F4C81 |
theme | string | One of: light dark; Default dark |
assets | array<string> | up to 30 items |
notes | string | length ≤ 2000 |
Response 200 application/json
| Name | Type | Description |
|---|---|---|
idrequired | string | |
project_idrequired | string | nullable |
kindrequired | string | |
namerequired | string | |
versionrequired | integer | |
created_atrequired | number | |
updated_atrequired | number | |
datarequired | object |
Example
curl -X PUT "https://axiomlab.online/v1/brands/<resource_id>?expected_version=<expected_version>" \
-H "Authorization: Bearer $AZIMO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "<name>"}'Remove
DELETE/v1/brands/{resource_id}
API key requiredSuccess 200
Parameters
| Name | Type | Description |
|---|---|---|
resource_idrequiredpath | string | |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Response 200 application/json
| Name | Type | Description |
|---|---|---|
idrequired | string | |
deleted | boolean | Default true |
Example
curl -X DELETE "https://axiomlab.online/v1/brands/<resource_id>" \ -H "Authorization: Bearer $AZIMO_API_KEY"
Listing
GET/v1/templates
API key requiredSuccess 200
Parameters
| Name | Type | Description |
|---|---|---|
limitquery | integer | Default 50; range 1–200 |
cursorquery | string | length ≤ 256; nullable |
afterquery | string | length ≤ 256; nullable |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Response 200 application/json
| Name | Type | Description |
|---|---|---|
datarequired | array<object> | |
data[].idrequired | string | |
data[].project_idrequired | string | nullable |
data[].kindrequired | string | |
data[].namerequired | string | |
data[].versionrequired | integer | |
data[].created_atrequired | number | |
data[].updated_atrequired | number | |
data[].datarequired | object | |
next_cursor | string | Opaque; pass as cursor (or the after alias) for the next page; nullable |
has_more | boolean | Default false |
Example
curl "https://axiomlab.online/v1/templates" \ -H "Authorization: Bearer $AZIMO_API_KEY"
Create
POST/v1/templates
API key requiredSuccess 201
Parameters
| Name | Type | Description |
|---|---|---|
Idempotency-Keyheader | string | A unique value you generate and keep; reuse it when retrying so the request never runs twice; length 1–128; nullable |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Request body application/json
| Name | Type | Description |
|---|---|---|
namerequired | string | length 1–160 |
promptrequired | string | Use $variable or ${variable} placeholders; length 10–4000 |
options | object | |
options.workflow | string | One of: auto explainer short_drama creative_video motion_explainer profile_card product_pitch; Default explainer |
options.goal | string | length ≤ 2000 |
options.audience | string | length ≤ 1000 |
options.duration_max | integer | Planned length in seconds, checked against the workflow's range, whose lower bound depends on the workflow (GET /v1/workflows: 30–180 for most, profile_card 30–90). It does not cap the film: its length is confirmed after the materials are analysed (needs_input with confirm_duration); Default 60; range 5–180 |
options.width | integer | With height, the aspect ratio: 1920×1080 (16:9); profile_card 1080×1920 (9:16); Default 1920; range 640–3840 |
options.height | integer | Default 1080; range 360–2160 |
options.fps | integer | Default 30; range 24–60 |
options.subtitles | boolean | Subtitle preference, applied by profile_card only; other films usually come with subtitles burned in; Default false |
options.music | boolean | Background music preference, applied by profile_card only; Default true |
options.skill_id | string | length ≤ 200; nullable |
options.credit_budget | integer | range 1–1000000; nullable |
options.video_type | string | One of: project product personal corporate name_card; nullable |
options.content_data | map<string, string> | |
options.style_preset | string | One of: cinematic_realism clean_3d product_studio; Default cinematic_realism |
options.brand | object | |
options.profile | object | |
options.motion_style | string | One of: mono photo; Default mono |
options.photo_subject | string | length ≤ 120 |
options.photo_license | string | One of: strict sharealike; Default strict |
options.style | string | A style id from GET /v1/styles; for video_type product one of the 15-second TVC looks cinematic, tech, lifestyle; unset uses the default style; nullable |
options.language | string | The film's language when the request has no text of its own; unset: Chinese; One of: zh en; nullable |
options.founder | object | 企业家名片: name, company, titles, facts (0–12; a card counts as two), photos[{asset, role, caption}], template (ink | grid | renwu), consent, optional industry and name_pinyin; required with video_type name_card. Length is 30–90 seconds, set from the material; nullable |
options.founder.namerequired | string | length 2–12 |
options.founder.companyrequired | string | length 2–40 |
options.founder.titlesrequired | array<string> | up to 3 items |
options.founder.facts | array<object> | up to 12 items |
options.founder.photosrequired | array<object> | up to 12 items |
options.founder.template | string | One of: ink grid renwu; Default ink |
options.founder.education | array<string> | up to 3 items |
options.founder.honors | array<string> | up to 6 items |
options.founder.motto | string | the closing line; the customer's own words; length ≤ 40 |
options.founder.contact | string | shown on the end card only when given; length ≤ 60 |
options.founder.industry | string | 行业 / 主营,如智慧农业;framing lines and illustrative scenes may rest on it; length ≤ 20 |
options.founder.name_pinyin | string | optional pronunciation, e.g. shěn jì bái; written into the narration prompt; length ≤ 48 |
options.founder.brand_color | string | #RRGGBB accent for the grid template |
options.founder.consent | boolean | the customer holds the rights to these photos and the facts are true; Default false |
assets | array<string> | up to 30 items |
brand_id | string | nullable |
Response 201 application/json
| Name | Type | Description |
|---|---|---|
idrequired | string | |
project_idrequired | string | nullable |
kindrequired | string | |
namerequired | string | |
versionrequired | integer | |
created_atrequired | number | |
updated_atrequired | number | |
datarequired | object |
Example
curl -X POST "https://axiomlab.online/v1/templates" \
-H "Authorization: Bearer $AZIMO_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"name": "<name>", "prompt": "<prompt>"}'Get
GET/v1/templates/{resource_id}
API key requiredSuccess 200
Parameters
| Name | Type | Description |
|---|---|---|
resource_idrequiredpath | string | |
versionquery | integer | range ≥ 1; nullable |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Response 200 application/json
| Name | Type | Description |
|---|---|---|
idrequired | string | |
project_idrequired | string | nullable |
kindrequired | string | |
namerequired | string | |
versionrequired | integer | |
created_atrequired | number | |
updated_atrequired | number | |
datarequired | object |
Example
curl "https://axiomlab.online/v1/templates/<resource_id>" \ -H "Authorization: Bearer $AZIMO_API_KEY"
Revise
PUT/v1/templates/{resource_id}
API key requiredSuccess 200
Parameters
| Name | Type | Description |
|---|---|---|
resource_idrequiredpath | string | |
expected_versionrequiredquery | integer | range ≥ 1 |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Request body application/json
| Name | Type | Description |
|---|---|---|
namerequired | string | length 1–160 |
promptrequired | string | Use $variable or ${variable} placeholders; length 10–4000 |
options | object | |
options.workflow | string | One of: auto explainer short_drama creative_video motion_explainer profile_card product_pitch; Default explainer |
options.goal | string | length ≤ 2000 |
options.audience | string | length ≤ 1000 |
options.duration_max | integer | Planned length in seconds, checked against the workflow's range, whose lower bound depends on the workflow (GET /v1/workflows: 30–180 for most, profile_card 30–90). It does not cap the film: its length is confirmed after the materials are analysed (needs_input with confirm_duration); Default 60; range 5–180 |
options.width | integer | With height, the aspect ratio: 1920×1080 (16:9); profile_card 1080×1920 (9:16); Default 1920; range 640–3840 |
options.height | integer | Default 1080; range 360–2160 |
options.fps | integer | Default 30; range 24–60 |
options.subtitles | boolean | Subtitle preference, applied by profile_card only; other films usually come with subtitles burned in; Default false |
options.music | boolean | Background music preference, applied by profile_card only; Default true |
options.skill_id | string | length ≤ 200; nullable |
options.credit_budget | integer | range 1–1000000; nullable |
options.video_type | string | One of: project product personal corporate name_card; nullable |
options.content_data | map<string, string> | |
options.style_preset | string | One of: cinematic_realism clean_3d product_studio; Default cinematic_realism |
options.brand | object | |
options.profile | object | |
options.motion_style | string | One of: mono photo; Default mono |
options.photo_subject | string | length ≤ 120 |
options.photo_license | string | One of: strict sharealike; Default strict |
options.style | string | A style id from GET /v1/styles; for video_type product one of the 15-second TVC looks cinematic, tech, lifestyle; unset uses the default style; nullable |
options.language | string | The film's language when the request has no text of its own; unset: Chinese; One of: zh en; nullable |
options.founder | object | 企业家名片: name, company, titles, facts (0–12; a card counts as two), photos[{asset, role, caption}], template (ink | grid | renwu), consent, optional industry and name_pinyin; required with video_type name_card. Length is 30–90 seconds, set from the material; nullable |
options.founder.namerequired | string | length 2–12 |
options.founder.companyrequired | string | length 2–40 |
options.founder.titlesrequired | array<string> | up to 3 items |
options.founder.facts | array<object> | up to 12 items |
options.founder.photosrequired | array<object> | up to 12 items |
options.founder.template | string | One of: ink grid renwu; Default ink |
options.founder.education | array<string> | up to 3 items |
options.founder.honors | array<string> | up to 6 items |
options.founder.motto | string | the closing line; the customer's own words; length ≤ 40 |
options.founder.contact | string | shown on the end card only when given; length ≤ 60 |
options.founder.industry | string | 行业 / 主营,如智慧农业;framing lines and illustrative scenes may rest on it; length ≤ 20 |
options.founder.name_pinyin | string | optional pronunciation, e.g. shěn jì bái; written into the narration prompt; length ≤ 48 |
options.founder.brand_color | string | #RRGGBB accent for the grid template |
options.founder.consent | boolean | the customer holds the rights to these photos and the facts are true; Default false |
assets | array<string> | up to 30 items |
brand_id | string | nullable |
Response 200 application/json
| Name | Type | Description |
|---|---|---|
idrequired | string | |
project_idrequired | string | nullable |
kindrequired | string | |
namerequired | string | |
versionrequired | integer | |
created_atrequired | number | |
updated_atrequired | number | |
datarequired | object |
Example
curl -X PUT "https://axiomlab.online/v1/templates/<resource_id>?expected_version=<expected_version>" \
-H "Authorization: Bearer $AZIMO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "<name>", "prompt": "<prompt>"}'Remove
DELETE/v1/templates/{resource_id}
API key requiredSuccess 200
Parameters
| Name | Type | Description |
|---|---|---|
resource_idrequiredpath | string | |
X-Project-IDheader | string | The project to act on; the default project when omitted; nullable |
Response 200 application/json
| Name | Type | Description |
|---|---|---|
idrequired | string | |
deleted | boolean | Default true |
Example
curl -X DELETE "https://axiomlab.online/v1/templates/<resource_id>" \ -H "Authorization: Bearer $AZIMO_API_KEY"