Create job with payment options
Creates a job of any supported job_type and returns payment options + the next endpoint to call.
Three flow shapes by job_type:
-
Upload-based (transcribe, summarize, find_clips): pass filename + content_type. Response includes Stripe SPT checkout URL and MPP deposit info. After payment, GET /api/v1/jobs/{id}/upload-url, PUT the bytes, then POST /api/v1/jobs/{id}/complete-upload.
-
Upload-based, card only (clips_from_video, clips_youtube): a chain — finds clips in a video AND cuts them under one payment. Pass filename + content_type same as above, but the response includes a Stripe checkout URL ONLY — no MPP deposit info. These job types authorize a Stripe card hold for the worst case before the final price is known (it depends on how many clips are found and delivered), which MPP push settlement cannot express. Same upload steps as above once the hold is authorized; MPP-only callers should use find_clips then the relevant extract_* derivative instead (see shape 3).
-
No-upload derivatives (extract_clip, extract_vertical_clip): pass source_job_id + segments (or start/end for extract_vertical_clip). MPP-only payment (no Stripe). After payment, POST /api/v1/jobs/{id}/process — do NOT call /upload-url or /complete-upload, both will fail.
-
No-upload, edit-driven (edit_from_transcript): pass source_job_id + edited_transcript (the full edited copy of the edit transcript format, get it via ?format=edit). Validated against the parent's word-level transcript BEFORE any job or payment is created — an invalid edit returns 422 with the failing lines and creates nothing. Same POST /api/v1/jobs/{id}/process trigger as shape 3 — do NOT call /upload-url or /complete-upload.
For clip workflows: call find_clips ($2.00) once, then extract_clip / extract_vertical_clip against the find_clips job_id (within its 72h expires_at). Do not call transcribe first — find_clips includes a transcript.
Request
- Base URL: https://api.weftly.ai
- URL: https://api.weftly.ai/api/v1/jobs
- Auth: one of:
- API key in header Authorization
- API key in header Authorization
Request body
Example request
{
"job_type": "transcribe",
"filename": "meeting.mp4",
"content_type": "video/mp4",
"profile": "tiktok-primary"
}Response
Job created
Changes
No recorded changes to this operation across all 1 revision of this API.