Skip to main content

Public REST/JSON reference

Testimonial Clip API

Submit a long-form customer testimonial video, transcribe it, find the highlight segments (enthusiastic praise, specific outcomes, emotional moments) using sentiment analysis, then auto-cut N short clips with subtitles ready for social. Adjust clip boundaries and re-render with different subtitle styles when needed. Part of the Logic Igniter Content & Marketing bundle.

Access boundary

These examples describe public API calls only. Use the service output to review, score, summarize, analyze, or recommend; do not treat the API reference as permission for an assistant to write, send, publish, charge, schedule, notify, delete, or modify records.

Base URL

https://api.logicigniter.com

Auth

Authorization: Bearer YOUR_API_KEY

Version

OpenAPI 3.0.3 · 1.0.0

Operations rendered

14

Response models rendered

21

GET/api/v1/testimonialclip/customers

List customers

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/testimonialclip/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of customers

Missing or invalid API key.

POST/api/v1/testimonialclip/customers

Provision a customer

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Request body (required)

Schema: CreateCustomerRequest

Sample JSON payload for evaluation.

{
  "email": "[email protected]",
  "name": "Example Inc."
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/testimonialclip/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","name":"Example Inc."}'

Responses

Customer created or returned

Invalid email or missing name

Missing or invalid API key.

GET/api/v1/testimonialclip/customers/{id}

Get a customer by id

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/testimonialclip/customers/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Customer record

Missing or invalid API key.

Customer not found

PUT/api/v1/testimonialclip/customers/{id}

Update a customer

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request body (required)

Schema: UpdateCustomerRequest

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X PUT "https://api.logicigniter.com/api/v1/testimonialclip/customers/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}'

Responses

Updated customer

Invalid update

Missing or invalid API key.

Customer not found

POST/api/v1/testimonialclip/videos/fetch

Submit a video for processing

Returns immediately with `status = QUEUED`; the pipeline progresses through QUEUED → PROCESSING → TRANSCRIBED → ANALYZED → READY. Poll GET /videos/{id} to track. SOURCE_PURGED appears once the original media has been deleted but the transcript+clips remain.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Request body (required)

Schema: FetchRequest

Sample JSON payload for evaluation.

{
  "url": "https://example.com/customer-call-2026-04.mp4",
  "title": "Acme Corp — quarterly review"
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/testimonialclip/videos/fetch" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/customer-call-2026-04.mp4","title":"Acme Corp — quarterly review"}'

Responses

Video queued

Missing URL or unsupported video format

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 2 video uploads/month and read-only transcript access; paid plans unlock highlight detection, clip generation, and re-rendering.

GET/api/v1/testimonialclip/videos

List submitted videos

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/testimonialclip/videos" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of videos

Missing or invalid API key.

GET/api/v1/testimonialclip/videos/{id}

Get video detail with transcript + clip count

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/testimonialclip/videos/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Video detail

Missing or invalid API key.

Video not found

GET/api/v1/testimonialclip/videos/{id}/transcript

Get the full transcript

Segmented transcript with start/end timestamps in seconds, the spoken text, and the speaker label assigned by the diarizer.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/testimonialclip/videos/:id/transcript" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Transcript

Missing or invalid API key.

Transcript not yet ready

GET/api/v1/testimonialclip/videos/{id}/highlights

Get the highlight segments

Sentiment-analyzed segments — labelled ENTHUSIASTIC_PRAISE / SPECIFIC_OUTCOME / EMOTIONAL_MOMENT / OTHER — sorted by sentiment_score descending. The default input to /clips/generate.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/testimonialclip/videos/:id/highlights" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Highlight segments

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 2 video uploads/month and read-only transcript access; paid plans unlock highlight detection, clip generation, and re-rendering.

Highlights not yet computed

POST/api/v1/testimonialclip/videos/{id}/clips/generate

Generate clips from the highlight segments

Cuts up to `max_clips` short clips (default 5) starting from the top-ranked highlight segments. Returns immediately with each clip's `status = PENDING`; render runs async.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request body (required)

Schema: GenerateClipsRequest

Sample JSON payload for evaluation.

{
  "max_clips": 5
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/testimonialclip/videos/:id/clips/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"max_clips":5}'

Responses

Generated clips (status PENDING — poll GET /clips/{id})

max_clips out of range or no highlights yet

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 2 video uploads/month and read-only transcript access; paid plans unlock highlight detection, clip generation, and re-rendering.

Video not found

GET/api/v1/testimonialclip/clips/{id}

Get a clip

Returns the clip's status, its window in the source video, and (once status = READY) the file_path for download.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/testimonialclip/clips/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

200Clip

Clip

Missing or invalid API key.

Clip not found

PUT/api/v1/testimonialclip/clips/{id}/adjust

Adjust clip boundaries

Edit start_time and/or end_time and re-render. Sets status back to PENDING.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request body (required)

Schema: AdjustClipRequest

Sample JSON payload for evaluation.

{
  "start_time": 142.5,
  "end_time": 168
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X PUT "https://api.logicigniter.com/api/v1/testimonialclip/clips/:id/adjust" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"start_time":142.5,"end_time":168}'

Responses

200Clip

Adjusted clip

end_time <= start_time, or boundaries outside video

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 2 video uploads/month and read-only transcript access; paid plans unlock highlight detection, clip generation, and re-rendering.

Clip not found

PUT/api/v1/testimonialclip/clips/{id}/subtitles

Re-subtitle a clip

Replace the subtitle style (e.g. word-by-word, line-by-line, branded) and re-render. Sets status back to PENDING.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request body (required)

Schema: AddSubtitlesRequest

Sample JSON payload for evaluation.

{
  "subtitle_style": "word-by-word"
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X PUT "https://api.logicigniter.com/api/v1/testimonialclip/clips/:id/subtitles" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"subtitle_style":"word-by-word"}'

Responses

200Clip

Re-subtitled clip

Unknown subtitle_style

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 2 video uploads/month and read-only transcript access; paid plans unlock highlight detection, clip generation, and re-rendering.

Clip not found

GET/api/v1/testimonialclip/clips

List clips

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
video_idquerystring (uuid)If omitted, returns all clips for the workspace.
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/testimonialclip/clips" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of clips

Missing or invalid API key.

Data models

Error

FieldTypeNotes
errorrequiredstring

VideoStatus

ClipStatus

SentimentCategory

FetchRequest

FieldTypeNotes
urlrequiredstring (uri)
titlestring

Video

FieldTypeNotes
idstring (uuid)
titlestring
source_urlstring (uri)
duration_secondsinteger
statusVideoStatus
created_atstring (date-time)

VideosResponse

FieldTypeNotes
itemsarray<Video>
next_page_tokenstring
total_countinteger

VideoDetail

FieldTypeNotes
idstring (uuid)
titlestring
source_urlstring (uri)
duration_secondsinteger
statusVideoStatus
has_transcriptboolean
clips_countinteger

TranscriptSegment

FieldTypeNotes
startnumber (double)
endnumber (double)
textstring
speakerstring

Transcript

FieldTypeNotes
idstring (uuid)
video_idstring (uuid)
segmentsarray<TranscriptSegment>
word_countinteger

SentimentSegment

FieldTypeNotes
idstring (uuid)
start_timenumber (double)
end_timenumber (double)
textstring
sentiment_scorenumber (double)
categorySentimentCategory

SegmentsResponse

FieldTypeNotes
itemsarray<SentimentSegment>

GenerateClipsRequest

FieldTypeNotes
max_clipsinteger

Clip

FieldTypeNotes
idstring (uuid)
video_idstring (uuid)
start_timenumber (double)
end_timenumber (double)
duration_secondsinteger
file_pathstring
subtitle_stylestring
formatstring
statusClipStatus

ClipsResponse

FieldTypeNotes
itemsarray<Clip>
next_page_tokenstring
total_countinteger

AdjustClipRequest

FieldTypeNotes
start_timenumber (double)
end_timenumber (double)

AddSubtitlesRequest

FieldTypeNotes
subtitle_stylerequiredstring

CreateCustomerRequest

FieldTypeNotes
emailrequiredstring (email)
namerequiredstring

UpdateCustomerRequest

FieldTypeNotes
emailstring (email)
namestring

Customer

FieldTypeNotes
idstring (uuid)
emailstring (email)
namestring
created_atstring (date-time)

CustomersResponse

FieldTypeNotes
itemsarray<Customer>
next_page_tokenstring
total_countinteger