curl --request POST \
--url https://geoff.ai/api/v1/training/lora/video \
--header 'Authorization: Bearer <token>' \
--header 'X-Stack-Id: stk_jmqog66ha0mugmro' \
--header 'Content-Type: application/json' \
--data '{
"dataset": "https://files.geoff.ai/datasets/my_motion_pack.zip",
"name": "drone_pullback"
}'
{
"data": {
"task_id": "trn_vid_abc123",
"name": "drone_pullback",
"status": "queued"
},
"trace_id": "04ede0ab069fb1ba8be5156a24b1e081"
}
LoRA Training
Train Video LoRA
Train a LoRA adapter on a video dataset to capture motion or stylistic patterns.
POST
/
v1
/
training
/
lora
/
video
curl --request POST \
--url https://geoff.ai/api/v1/training/lora/video \
--header 'Authorization: Bearer <token>' \
--header 'X-Stack-Id: stk_jmqog66ha0mugmro' \
--header 'Content-Type: application/json' \
--data '{
"dataset": "https://files.geoff.ai/datasets/my_motion_pack.zip",
"name": "drone_pullback"
}'
{
"data": {
"task_id": "trn_vid_abc123",
"name": "drone_pullback",
"status": "queued"
},
"trace_id": "04ede0ab069fb1ba8be5156a24b1e081"
}
Train a LoRA adapter on a curated video dataset. Captures motion
patterns, camera language, or stylistic treatments that the base
video models don’t expose directly.
Authorization
string
required
Bearer token.
Bearer API_key.Request Body
string
required
Reference to the training dataset. Accepts either:
- A URL to a zip archive of training clips (mp4 / mov)
- A file id returned from file upload
string
required
Stable snake-case identifier for the trained adapter. Passed as
lora_name on video generation calls.curl --request POST \
--url https://geoff.ai/api/v1/training/lora/video \
--header 'Authorization: Bearer <token>' \
--header 'X-Stack-Id: stk_jmqog66ha0mugmro' \
--header 'Content-Type: application/json' \
--data '{
"dataset": "https://files.geoff.ai/datasets/my_motion_pack.zip",
"name": "drone_pullback"
}'
{
"data": {
"task_id": "trn_vid_abc123",
"name": "drone_pullback",
"status": "queued"
},
"trace_id": "04ede0ab069fb1ba8be5156a24b1e081"
}
Tips
- Clip length: 3–10 seconds per clip is ideal; longer clips are automatically chunked.
- Dataset size: 8–20 clips for motion adapters.
- Camera consistency: when training a camera-move adapter, keep the lensing and movement consistent across the dataset.
- Status: poll Training Status
with the returned
task_id.
string
default:"stk_jmqog66ha0mugmro"
required
Supplied automatically by the documentation playground.