התחלה מהירה עם KolWrite API
הפכו כל פעולה ביישום KolWrite לאוטומטית — העלאת קובץ, תמלול עם כל האפשרויות, ייצוא התמליל ושיתוף שלו — באמצעות אסימון גישה אישי (PAT).
כתובת URL בסיסית: https://api.kolwrite.com
1. יצירת אסימון
ביישום KolWrite: הגדרות → חשבון → גישת API → יצירת אסימון. בחרו את היקפי ההרשאה הדרושים לכם (המדריך הזה משתמש ב-files:write, ב-jobs:write, ב-jobs:read וב-transcripts:read). הסוד (kol_...) מוצג פעם אחת — שמרו אותו במקום בטוח.
שלחו אותו בכל בקשה:
export KOLWRITE_TOKEN="kol_..."
curl -H "Authorization: Bearer $KOLWRITE_TOKEN" \
https://api.kolwrite.com/api/v1/billing/balance
2. העלאת קובץ
צרו סשן העלאה, שלחו את תוכן הקובץ בבקשת PUT לכתובת ה-URL החתומה מראש, ולאחר מכן השלימו את ההעלאה:
# a. create the session
SIZE=$(wc -c interview.wav | awk '{print $1}')
curl -X POST https://api.kolwrite.com/api/v1/media/upload-session \
-H "Authorization: Bearer $KOLWRITE_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"filename\": \"interview.wav\", \"file_size_bytes\": $SIZE, \"content_type\": \"audio/wav\"}"
# → data.upload_url, data.finalize_token
# b. upload the bytes directly to storage
curl -X PUT "$UPLOAD_URL" --data-binary @interview.wav \
-H "Content-Type: audio/wav"
# c. finalize
curl -X POST https://api.kolwrite.com/api/v1/media/complete \
-H "Authorization: Bearer $KOLWRITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"finalize_token": "FINALIZE_TOKEN"}'
# → 201, data.media_id
קבצים גדולים מועלים בחלקים: הסשן מחזיר אז את data.upload_url בערך null וכתובת לכל חלק ב-data.multipart_part_urls. שלחו כל חלק בבקשת PUT, שמרו את הכותרת ETag מכל תשובה, ושלחו אותן לקריאת הסיום כ-uploaded_parts: רשימת אובייקטים מהצורה {part_number, etag}.
3. תמלול הקובץ
צרו משימה. profile בוחר את רמת המודל (oracle, oracle-mini, oracle-pro, oracle-max — אפשר להציג אותן באמצעות GET /api/v1/models); options כולל את כל מה שזמין בחלון הניתוח ביישום. השתמשו ב-Idempotency-Key כדי שניסיונות חוזרים לעולם לא ישלחו את המשימה פעמיים:
curl -X POST https://api.kolwrite.com/api/v1/jobs \
-H "Authorization: Bearer $KOLWRITE_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: interview-2026-07-08" \
-d '{
"type": "transcription",
"input": {"type": "media_ref", "media_id": "MEDIA_ID"},
"profile": "oracle",
"options": {
"language": "auto",
"target_language": null,
"diarization": {"mode": "regular", "num_speakers": null, "auto_speaker_names": true}
}
}'
# → 202 Accepted, data.job_id, data.status = "queued"
צריבת כתוביות פועלת באותו אופן עם "type": "caption_burn" ובלוק סגנון options.caption_burn — לפרטים, ראו במפרט.
4. בדיקת מצב עד להשלמה
curl -H "Authorization: Bearer $KOLWRITE_TOKEN" \
https://api.kolwrite.com/api/v1/jobs/JOB_ID
# data.status: queued → running → succeeded | failed | cancelled
# data.progress: 0–100, plus queue position while waiting
5. ייצוא התמליל
curl -H "Authorization: Bearer $KOLWRITE_TOKEN" \
"https://api.kolwrite.com/api/v1/jobs/JOB_ID/export?format=srt&include_speakers=true"
פורמטים: text, json, srt, vtt. תוצרי תמליל שנשמרים לאורך זמן (עם היסטוריית גרסאות) זמינים דרך GET /api/v1/jobs/JOB_ID/artifacts ו- GET /api/v1/artifacts/{artifact_id} עם היקף ההרשאה transcripts:read.
הורדת SRT ו-VTT דורשת מסלול Plus ומעלה; מסלולים אחרים מקבלים HTTP 403 עם הקוד subtitle_export_requires_plus.
6. אופציונלי: שיתוף התמליל
עם shares:write:
curl -X POST https://api.kolwrite.com/api/v1/shares \
-H "Authorization: Bearer $KOLWRITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"share_kind": "transcript", "artifact_id": "ARTIFACT_ID", "access_scope": "everyone"}'
# → data.share_url