{"openapi":"3.1.0","info":{"title":"Transcriwise Public API","version":"2.0.0","description":"Public REST API for Transcriwise — the multi-provider transcription hub.\n\n## Two APIs\n\n| API | Purpose | Pricing |\n|-----|---------|--------|\n| **v1** — Raw Transcription | Multi-provider ASR with normalized response | Per hour of audio |\n| **v2** — Document Generation | Professional documents from audio/raw transcript sources | Per document |\n\n## Authentication\n\nAll endpoints require an API key passed as a Bearer token:\n\n```\nAuthorization: Bearer tw_your_api_key_here\n```\n\nCreate API keys in the Transcriwise dashboard under Settings > API Keys.\n\n## Plans & Rate Limiting\n\n**API access requires a Pro plan or higher.**\n\n| Plan | API Access | Rate Limit | Cost Cap |\n|------|-----------|------------|----------|\n| Free / Starter | No | - | - |\n| Pro | Yes | 60 req/min | $15/day, $150/mo |\n| Business | Yes | 100 req/min | $50/day, $500/mo |\n| Enterprise | Yes | 200 req/min | Custom |\n\n### Developer Plans (API-only, no app)\n\n| Plan | Price | Rate Limit | Cost Cap | Access |\n|------|-------|-----------|----------|--------|\n| Sandbox | Free | 5 req/min | $5/day · $10/mo | v1 batch only, provider=auto |\n| Build | PAYG only | 30 req/min | $25/day · $100/mo | v1 raw, auto routes + all providers |\n| Scale | $99/mo + PAYG | 120 req/min | $100/day · $1000/mo | v1 raw + v2 docs, same provider catalog |\n| Enterprise | Custom | 300 req/min | Custom | SLA, BYO keys, dedicated/self-hosted lanes |\n\nAll providers are available on every API plan. Plan differences are throughput, v2 documents, support, and dedicated infrastructure.\n\n### v1 Raw Pricing — Autorouter (`provider=auto`)\n\n| Route | USD/hour | Providers |\n|-------|---------|----------|\n| Batch Standard Auto | $0.19/h | Soniox, Whisper Turbo, Gladia, Voxtral, AAI U-2, Qwen3 |\n| Batch Premium Auto | $0.59/h | AAI U-3 Pro, Deepgram, ElevenLabs, Whisper Large |\n| Live Standard Auto | $0.39/h | Soniox, AAI U-2, ElevenLabs, Gladia |\n| Live Premium Auto | $1.29/h | AAI U-3 Pro, Deepgram, Soniox |\n\n### v1 Raw Pricing — Pinned Provider\n\n| Provider | Batch | Live |\n|----------|-------|------|\n| Whisper V3 Turbo | $0.15/h | — |\n| SenseVoice self-hosted | $0.16/h | — |\n| Paraformer-v2 | $0.16/h | — |\n| Soniox v4 | $0.18/h | $0.29/h |\n| Qwen3-ASR | $0.19/h | $0.49/h |\n| Gladia | $0.24/h | $0.49/h |\n| Voxtral | $0.24/h | — |\n| Alibaba SenseVoice hosted | $0.24/h | — |\n| AssemblyAI U-2 | $0.24/h | $0.29/h |\n| Whisper Large V3 | $0.29/h | — |\n| AssemblyAI U-3 Pro | $0.36/h | $0.79/h |\n| ElevenLabs Scribe v2 | $0.39/h | — |\n| iFlytek LFASR Basic | $0.49/h | Custom |\n| Deepgram Nova-3 | $0.89/h | $0.99/h |\n| iFlytek LFASR LLM | $1.60/h | Custom |\n\n### v2 Document Pricing\n\nv2 documents are charged per document: General $0.50/doc, Health $1.00/doc, Legal $1.50/doc. Available on Scale/Enterprise (API-only) or Enterprise (in-app).\n\nBoth `POST /v2/documents/transcribe-and-format` and `POST /v2/documents/format` run the same intelligent formatting pipeline used by the Transcriwise app over the raw transcript source. V2 now exposes four composition layers explicitly: `document_type` selects the built-in intelligent formatting preset, `formatting.template_id` (or legacy top-level `template_id`) loads a saved pre-processing template before formatting, `formatting.enrichment` adds study-material appendices such as executive summary, mind maps, glossary, and quizzes, and `POST /v2/documents/jobs/{job_id}/apply-template` remains available for optional AI post-processing after the base document already exists.\n\nUse `GET/POST/PATCH/DELETE /v2/documents/pre-processing-templates` to manage the saved pre-processing templates resolved by `template_id`. These templates are user-scoped and run inside the same raw-to-document pipeline as the app.\n\nThe nested `formatting` object mirrors the app's intelligent-formatting controls over the raw transcript, including `thinking_level`, `format_execution_profile`, `processing_preset`, `audit_level`, `disable_tables`, `output_language`, `custom_keyterms`, `speaker_roles`, `speakers_expected`, `use_pro_analytical_passes`, `summary_model`, `enrichment_model`, and `enrichment` / study-material knobs. Legacy flat fields are still accepted for backwards compatibility.\n\n`formatting.enrichment` supports the same study-material family exposed in the app formatter: `executive_summary`, `mind_map`, `glossary`, `exercises`, `per_section_mind_map`, `per_section_quiz`, and `use_pro_enrichment`, plus their custom prompt overrides. `summary_model` overrides executive-summary style stages, while `enrichment_model` overrides mind maps, glossary, quizzes, and other enrichment appendices. When omitted, both fall back to `formatting_model`.\n\nCanonical `custom_prompt_scope` values are `tables_only`, `style_and_tables`, and `full_template`. Compatibility aliases `full_document`, `summary_only`, and `indirect_allowed` are accepted and normalized server-side.\n\n`disable_tables=true` is honored by the V2 formatter when using either raw-audio or raw-transcript starts.\n\n## Webhooks\n\nPass `webhook_url` in your request to receive a POST callback when the job completes or fails. Events: `transcription.completed`, `transcription.failed`, `document.completed`, `document.failed`. Async start endpoints return `202 Accepted` and continue on a durable worker when Celery mode is enabled.\n\n## Autorouter\n\nWhen `provider` is omitted or set to `auto`, Transcriwise automatically selects the best ASR provider based on language, mode, and cost. Override with `provider=deepgram` (or any specific provider) for provider pinning.\n\nWhen rate limited, you'll receive a 429 response with `Retry-After` header.\n\n## Quick Start\n\n1. **Upload file:** `POST /v1/transcribe` returns `202 Accepted` + `job_id`\n2. **Poll status:** `GET /v1/jobs/{job_id}` until `status: completed`\n3. **Get result:** `GET /v1/jobs/{job_id}/transcript?format=json`\n\n## Filtered Spec Views\n\nUse `GET /api/v1/docs/openapi.json` for the combined public spec, `GET /api/v1/docs/openapi.v1.json` for v1-only, and `GET /api/v1/docs/openapi.v2.json` for v2-only. `GET /v2/documents/templates` now lists only executable built-in presets, saved pre-processing templates, and AI post-processing templates. `POST /v2/documents/jobs/{job_id}/apply-template` also accepts `model` for post-processing model override. Study-material enrichment is configured inline via `formatting.enrichment`, not as a separate template family.\n\n## v1 vs v2 Contract\n\n- `v1` is raw transcription only.\n- `v1` rejects formatting fields such as `custom_template`, `template_id`, `formatting_preset`, and `legal_formatting`.\n- Use `v2` when you want a formatted deliverable or one-shot document generation on top of the raw transcript.\n\n## Hybrid Response\n\nThe JSON response includes normalized fields (`content`, `segments`, `speakers`) that work identically regardless of which ASR provider processed the audio.\n\nTo access the raw provider response, add `?include_raw=true` to `GET /v1/jobs/{job_id}/transcript`. The `provider_response` field contains the unmodified JSON from the underlying provider (Deepgram, AssemblyAI, etc.).\n\n## Providers\n\nAvailable transcription engines: `whisper`, `assemblyai`, `elevenlabs`, `soniox`, `deepgram`, `gladia`, `voxtral`, `iflytek`, `alibaba`. If omitted, Transcriwise auto-selects the best provider for your audio.\n\n| Provider | Batch | Live | Cost/h (batch) | Notes |\n|----------|-------|------|---------------|-------|\n| `whisper` | Yes | No | Internal | RunPod self-hosted, Turbo + Large V3 |\n| `soniox` | Yes | Yes | $0.10/h | Best for PT-BR, code-switching |\n| `assemblyai` | Yes | Yes | $0.15-0.21/h | U-2 and U-3 Pro, 100+ languages |\n| `elevenlabs` | Yes | Yes | $0.22/h | Scribe v2, editorial output |\n| `gladia` | Yes | Yes | $0.20/h | 135min native, 100+ languages, chunker for longer |\n| `voxtral` | Yes | No | $0.18/h | Mistral, 3h native, 13 languages, diarization, batch only |\n| `deepgram` | Yes | Yes | $0.46/h | Nova-3, low latency, specialized models |\n| `iflytek` | Yes | Yes | $0.50-1.00/h | Best for Chinese/Cantonese |\n| `alibaba` | Yes | No | $0.13/h | Qwen3-ASR, Paraformer, SenseVoice |\n\n## Speech Understanding Add-ons\n\nOptional request parameters that enable provider-specific analysis on top of transcription. Pass as boolean fields in the request body (`entity_detection`, `sentiment_analysis`, `auto_chapters`, `key_phrases`).\n\n| Feature | AssemblyAI | Gladia | ElevenLabs | Deepgram |\n|---------|:---:|:---:|:---:|:---:|\n| Entity Detection | +25% ($0.006/min) | Included | +30% (56 PII categories) | Included (billing only) |\n| Sentiment Analysis | +25% ($0.006/min) | Included | — | — |\n| Auto Chapters | +30% ($0.006/min) | Included (chapterization) | — | — |\n| Key Phrases | +15% ($0.006/min) | — | — | — |\n| Summarization | — | Included (general/bullet/concise) | — | — |\n\n**Response fields** (JSON format only, `GET /v1/jobs/{job_id}/transcript?format=json`):\n- AssemblyAI: `aai_entities`, `aai_sentiment_analysis`, `aai_chapters`, `aai_key_phrases`\n- Gladia: `gladia_entities`, `gladia_sentiment_analysis`, `gladia_chapters`, `gladia_summarization`\n- ElevenLabs: `elevenlabs_entities`\n\n## v2 Document Types\n\n| Type | Output |\n|------|--------|\n| `meeting_notes` | Structured meeting minutes |\n| `apostila` | Apostila / long-form study material |\n| `legal_draft` | Legal document draft |\n| `deposition` | Witness deposition |\n| `expert_report` | Expert/technical report |\n| `court_hearing` | Court hearing minutes |\n| `court_ruling` | Judicial ruling |\n| `appellate_decision` | Appellate decision / acórdão |\n| `notarial_act` / `notarial` | Notarial act |\n| `lecture_notes` | Lecture/class notes |\n| `medical_consultation` | Medical consultation notes |\n| `study_guide` | Study guide material |\n| `podcast_summary` / `podcast` | Podcast episode summary |\n| `interview` | Interview transcript |\n| `call` | Phone/video call notes |\n| `webinar` | Webinar notes |\n| `simulation` | Mock exam/simulation |\n| `fidelity_transcript` / `fidelidade` | High-fidelity structured transcript |"},"servers":[{"url":"https://api.transcriwise.com/api","description":"Production"},{"url":"http://localhost:8000/api","description":"Local development"}],"paths":{"/api/v1/transcribe/url":{"post":{"tags":["public-api-v1","public-api-v1"],"summary":"Start transcription from URL","description":"Start a transcription job from a file URL. The file is downloaded and processed asynchronously.","operationId":"create_transcription_from_url_api_v1_transcribe_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscribeByUrlRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicJobResponse"}}}},"401":{"description":"Invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"403":{"description":"Missing scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/transcribe":{"post":{"tags":["public-api-v1","public-api-v1"],"summary":"Start a new transcription job","description":"Upload an audio/video file and start a transcription job. The file is processed asynchronously. Use `GET /v1/jobs/{job_id}` to poll status.","operationId":"create_transcription_api_v1_transcribe_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_transcription_api_v1_transcribe_post"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicJobResponse"}}}},"401":{"description":"Invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"403":{"description":"Missing scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jobs":{"get":{"tags":["public-api-v1","public-api-v1"],"summary":"List transcription jobs","description":"List transcription jobs for the authenticated user.","operationId":"list_jobs_api_v1_jobs_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Max jobs to return","default":20,"title":"Limit"},"description":"Max jobs to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Offset for pagination","default":0,"title":"Offset"},"description":"Offset for pagination"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status: processing, completed, error","title":"Status"},"description":"Filter by status: processing, completed, error"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jobs/{job_id}":{"get":{"tags":["public-api-v1","public-api-v1"],"summary":"Get job status","description":"Get the status and metadata of a transcription job.","operationId":"get_job_status_api_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobStatusResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jobs/{job_id}/transcript":{"get":{"tags":["public-api-v1","public-api-v1"],"summary":"Get transcript content","description":"Get the transcript text in the specified format (txt, md, json).","operationId":"get_transcript_api_v1_jobs__job_id__transcript_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"Output format: txt, md, json, srt, vtt","default":"txt","title":"Format"},"description":"Output format: txt, md, json, srt, vtt"},{"name":"include_raw","in":"query","required":false,"schema":{"type":"boolean","description":"Include raw provider response (verbose mode)","default":false,"title":"Include Raw"},"description":"Include raw provider response (verbose mode)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}},"description":"Not Found"},"409":{"description":"Job not completed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jobs/{job_id}/subtitles":{"get":{"tags":["public-api-v1","public-api-v1"],"summary":"Get subtitles (SRT or VTT)","description":"Get subtitles for a completed transcription in SRT or VTT format.","operationId":"get_subtitles_api_v1_jobs__job_id__subtitles_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"Subtitle format: srt or vtt","default":"srt","title":"Format"},"description":"Subtitle format: srt or vtt"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}},"description":"Not Found"},"409":{"description":"Job not completed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jobs/{job_id}/translate":{"post":{"tags":["public-api-v1","public-api-v1"],"summary":"Translate a transcription","description":"Translate a completed transcription to another language. Consumes AI points.","operationId":"translate_job_api_v1_jobs__job_id__translate_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$","title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1TranslateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1TranslateResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}},"description":"Not Found"},"409":{"description":"Job not completed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/meeting-bot/launch":{"post":{"tags":["public-api-v1","public-api-v1"],"summary":"Launch a meeting bot","description":"Launch a TranscriBot to join a meeting and transcribe. Supports Zoom, Google Meet, and Microsoft Teams.","operationId":"launch_bot_api_v1_meeting_bot_launch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1LaunchBotRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BotResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/meeting-bot/{bot_id}":{"get":{"tags":["public-api-v1","public-api-v1"],"summary":"Get meeting bot status","description":"Get the current status of a running meeting bot.","operationId":"get_bot_status_api_v1_meeting_bot__bot_id__get","parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string","title":"Bot Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BotResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/meeting-bot/{bot_id}/stop":{"post":{"tags":["public-api-v1","public-api-v1"],"summary":"Stop a meeting bot","description":"Stop a running meeting bot and finalize the transcription.","operationId":"stop_bot_api_v1_meeting_bot__bot_id__stop_post","parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string","title":"Bot Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BotResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/transcribe/bulk":{"post":{"tags":["public-api-v1","public-api-v1"],"summary":"Batch transcribe multiple URLs","description":"Submit multiple file URLs for transcription in parallel. Each URL creates a separate job.","operationId":"bulk_transcribe_api_v1_transcribe_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BulkTranscribeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BulkTranscribeResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/translate/bulk":{"post":{"tags":["public-api-v1","public-api-v1"],"summary":"Batch translate multiple jobs","description":"Translate multiple transcription jobs in sequence. Consumes AI points per job.","operationId":"bulk_translate_api_v1_translate_bulk_post","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$","title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BulkTranslateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1BulkTranslateResponse"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api__ErrorResponse"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/documents/transcribe-and-format":{"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Transcribe audio and generate a formatted document","description":"One-shot endpoint: transcribes the audio and runs the same intelligent formatting pipeline used by the app over the raw transcript, using document_type as the built-in intelligent formatting preset. Supports saved pre-processing templates, stage-specific model overrides for formatting/summary/enrichment, plus optional study-material enrichment in the same request. Charged per document, not per hour.","operationId":"transcribe_and_format_api_v2_documents_transcribe_and_format_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicJobResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}}},"402":{"description":"Cost cap exceeded"},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/documents/format":{"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Create a V2 document from an existing transcript source","description":"Creates a V2 document artifact from either a completed transcript job or direct transcript text, re-running the same intelligent formatting pipeline used by the app over the raw transcript source. Supports saved pre-processing templates, stage-specific model overrides, plus optional study-material enrichment.","operationId":"format_existing_api_v2_documents_format_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormatExistingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResultResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}}},"404":{"description":"Job not found"},"409":{"description":"No transcript content available"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/documents/pre-processing-templates":{"get":{"tags":["public-api-v2","public-api-v2"],"summary":"List saved pre-processing templates","description":"List the user's saved pre-processing templates. These templates are resolved by `template_id` and applied before the same intelligent formatting pipeline used by the app runs over the raw transcript.","operationId":"list_preprocessing_templates_api_v2_documents_pre_processing_templates_get","parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by template name","title":"Search"},"description":"Filter by template name"},{"name":"document_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by the built-in V2 document_type this template targets","title":"Document Type"},"description":"Filter by the built-in V2 document_type this template targets"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreProcessingTemplateListResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Create a saved pre-processing template","description":"Create a user-scoped pre-processing template that can later be referenced by `template_id` in V2 formatting requests.","operationId":"create_preprocessing_template_api_v2_documents_pre_processing_templates_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreProcessingTemplateCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreProcessingTemplateResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/documents/pre-processing-templates/{template_id}":{"get":{"tags":["public-api-v2","public-api-v2"],"summary":"Get a saved pre-processing template","description":"Return a single saved pre-processing template owned by the caller.","operationId":"get_preprocessing_template_api_v2_documents_pre_processing_templates__template_id__get","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreProcessingTemplateResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["public-api-v2","public-api-v2"],"summary":"Update a saved pre-processing template","description":"Update the name, instructions, tags, or default target document_type of a saved pre-processing template.","operationId":"update_preprocessing_template_api_v2_documents_pre_processing_templates__template_id__patch","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreProcessingTemplateUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreProcessingTemplateResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["public-api-v2","public-api-v2"],"summary":"Delete a saved pre-processing template","description":"Delete a user-scoped pre-processing template from the V2 template library.","operationId":"delete_preprocessing_template_api_v2_documents_pre_processing_templates__template_id__delete","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/documents/templates":{"get":{"tags":["public-api-v2","public-api-v2"],"summary":"List available document templates","description":"List the three template layers exposed by V2: built-in `document_type` presets used by the intelligent formatter, saved pre-processing templates resolved by `template_id`, and AI post-processing templates applied after a transcript/document source already exists.","operationId":"list_document_templates_api_v2_documents_templates_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by category","title":"Category"},"description":"Filter by category"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2__TemplateListResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/documents/jobs/{job_id}/apply-template":{"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Apply a template and persist a V2 document artifact","description":"Apply an AI template as post-processing on top of a completed transcript or V2 document source. The template step is anchored to the raw transcript content before the final document artifact is persisted. Use `model` to override the LLM only for this post-processing stage.","operationId":"apply_template_to_job_api_v2_documents_jobs__job_id__apply_template_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2__ApplyTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResultResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"409":{"description":"Job not completed or content missing"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/documents/jobs/{job_id}/export-docx":{"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Export a document/transcript source as DOCX","description":"Export a completed source job as a formatted DOCX artifact.","operationId":"export_docx_api_v2_documents_jobs__job_id__export_docx_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportDocxRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportFileResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"409":{"description":"No content available"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/documents/jobs/{job_id}/export-pdf":{"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Export a document/transcript source as PDF","description":"Export a completed source job as a formatted PDF artifact.","operationId":"export_pdf_api_v2_documents_jobs__job_id__export_pdf_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportPdfRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportFileResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"409":{"description":"No content available"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/documents/{job_id}":{"get":{"tags":["public-api-v2","public-api-v2"],"summary":"Get the generated document","description":"Retrieve the persisted V2 document artifact for a completed document job.","operationId":"get_document_api_v2_documents__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"Output: json, markdown, txt","default":"json","title":"Format"},"description":"Output: json, markdown, txt"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResultResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"description":"Job not found"},"409":{"description":"Job not completed"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/insights/jobs/{job_id}/summary":{"get":{"tags":["public-api-v2","public-api-v2"],"summary":"Get AI summary","description":"Get the AI-generated summary of a completed transcript source.","operationId":"get_summary_api_v2_insights_jobs__job_id__summary_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/insights/jobs/{job_id}/mind-map":{"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Generate mind map from transcript source","description":"Generate a structured mind map from a completed transcript source. Consumes AI points.","operationId":"generate_mind_map_api_v2_insights_jobs__job_id__mind_map_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2_insights__MindMapRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2_insights__MindMapResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/conversations/jobs/{job_id}/chat":{"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Chat about a transcript source","description":"Ask questions about a transcript source using AI. Consumes AI points.","operationId":"chat_about_job_api_v2_conversations_jobs__job_id__chat_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2_conversations__ChatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2_conversations__ChatResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/knowledge-bases/{kb_id}/chat":{"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Chat with a knowledge base","description":"Ask questions across multiple transcriptions in a knowledge base. Uses RAG for retrieval. Consumes AI points.","operationId":"kb_chat_api_v2_knowledge_bases__kb_id__chat_post","parameters":[{"name":"kb_id","in":"path","required":true,"schema":{"type":"string","title":"Kb Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2_knowledge_bases__KBChatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2_knowledge_bases__KBChatResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/knowledge-bases/{kb_id}/generate":{"post":{"tags":["public-api-v2","public-api-v2"],"summary":"Generate study content from knowledge base","description":"Generate flashcards, quizzes, study guides, FAQ, or mind maps from a knowledge base. Consumes AI points.","operationId":"kb_generate_api_v2_knowledge_bases__kb_id__generate_post","parameters":[{"name":"kb_id","in":"path","required":true,"schema":{"type":"string","title":"Kb Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2_knowledge_bases__KBGenerateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Unauthorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__public_api_common__ErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/provider-keys":{"get":{"tags":["public-api-v1","public-api-v1"],"summary":"List your BYO provider keys","description":"List all configured BYO provider keys (credentials are never returned).","operationId":"list_keys_api_v1_provider_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProviderKeyResponse"},"type":"array","title":"Response List Keys Api V1 Provider Keys Get"}}}}}},"post":{"tags":["public-api-v1","public-api-v1"],"summary":"Set a BYO provider key","description":"Register your own API key for a transcription provider. When set, your key is used instead of the platform key, and provider costs are charged to your account directly.","operationId":"set_key_api_v1_provider_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetProviderKeyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/provider-keys/{provider}":{"delete":{"tags":["public-api-v1","public-api-v1"],"summary":"Remove a BYO provider key","description":"Deactivate your BYO key for a provider. Platform key will be used again.","operationId":"delete_key_api_v1_provider_keys__provider__delete","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docs/openapi.json":{"get":{"tags":["public-api-v1","public-api-docs","public-api-v1"],"summary":"Public API OpenAPI spec","description":"Returns the combined OpenAPI 3.1 specification for the public API. Internal endpoints are excluded.","operationId":"public_openapi_spec_api_v1_docs_openapi_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/docs/openapi.v1.json":{"get":{"tags":["public-api-v1","public-api-docs","public-api-v1"],"summary":"Public API v1 OpenAPI spec","description":"Returns the OpenAPI 3.1 specification filtered to public API v1 routes only.","operationId":"public_openapi_spec_v1_api_v1_docs_openapi_v1_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/docs/openapi.v2.json":{"get":{"tags":["public-api-v1","public-api-docs","public-api-v2"],"summary":"Public API v2 OpenAPI spec","description":"Returns the OpenAPI 3.1 specification filtered to public API v2 routes only.","operationId":"public_openapi_spec_v2_api_v1_docs_openapi_v2_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/usage/summary":{"get":{"tags":["public-api-v1","public-api-v1"],"summary":"Your API usage summary","description":"Total consumption, cost, and jobs for the current billing period.","operationId":"usage_summary_api_v1_usage_summary_get","parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","description":"today, week, month, all","default":"month","title":"Period"},"description":"today, week, month, all"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/usage/history":{"get":{"tags":["public-api-v1","public-api-v1"],"summary":"Your usage history","description":"Detailed list of usage records with provider, cost, and timestamps.","operationId":"usage_history_api_v1_usage_history_get","parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Period"}},{"name":"usage_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter: transcription, translation, ai_summary, api_call","title":"Usage Type"},"description":"Filter: transcription, translation, ai_summary, api_call"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/usage/by-provider":{"get":{"tags":["public-api-v1","public-api-v1"],"summary":"Your usage by provider","description":"Breakdown of consumption by transcription provider.","operationId":"usage_by_provider_api_v1_usage_by_provider_get","parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"JobListResponse":{"properties":{"jobs":{"items":{"$ref":"#/components/schemas/JobStatusResponse"},"type":"array","title":"Jobs"},"total":{"type":"integer","title":"Total"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["jobs","total","has_more"],"title":"JobListResponse"},"ProviderKeyResponse":{"properties":{"id":{"type":"integer","title":"Id"},"provider":{"type":"string","title":"Provider"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"is_active":{"type":"boolean","title":"Is Active","default":true},"last_used_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Used At"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","provider"],"title":"ProviderKeyResponse"},"JobStatusResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"status":{"type":"string","title":"Status"},"progress":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Progress"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds"},"speaker_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Speaker Count"},"file_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"File Names"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["job_id","status"],"title":"JobStatusResponse"},"app__api__endpoints__public_api_v2_insights__MindMapRequest":{"properties":{"custom_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Prompt","description":"Custom instruction for mind map generation"}},"type":"object","title":"MindMapRequest"},"V1BotResponse":{"properties":{"bot_id":{"type":"string","title":"Bot Id"},"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id"},"status":{"type":"string","title":"Status"}},"type":"object","required":["bot_id","status"],"title":"V1BotResponse"},"PreProcessingTemplateResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"created_at":{"anyOf":[{},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{},{"type":"null"}],"title":"Updated At"},"stage":{"type":"string","title":"Stage","default":"pre_processing"}},"type":"object","required":["id","name","title","description"],"title":"PreProcessingTemplateResponse"},"PublicJobResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"status":{"type":"string","title":"Status"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["job_id","status"],"title":"PublicJobResponse"},"Body_create_transcription_api_v1_transcribe_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"Audio or video file to transcribe"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language","description":"Language code (e.g. 'pt', 'en', 'es'). Auto-detected if omitted."},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode","description":"Transcription mode: APOSTILA, FIDELIDADE, RAW, AUDIENCIA, REUNIAO, DEPOIMENTO, LEGENDA, SIMULADO, ENTREVISTA, PALESTRA_CONGRESSO, PERICIA, NOTARIAL, PODCAST","default":"APOSTILA"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","description":"Transcription engine family: auto, runpod, assemblyai, deepgram, elevenlabs, soniox, iflytek, alibaba"},"provider_variant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Variant","description":"Exact ASR SKU inside the provider family, e.g. large-v3-turbo, universal-3-5-pro, nova-3-medical, qwen3-asr-flash-filetrans"},"asr_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asr Model","description":"Alias for provider_variant when you want model-centric naming"},"diarization":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Diarization","description":"Enable speaker diarization"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"URL to receive a POST callback when the job completes or fails"},"entity_detection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Entity Detection","description":"Enable entity detection (AssemblyAI only, +25%)"},"sentiment_analysis":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sentiment Analysis","description":"Enable sentiment analysis (AssemblyAI only, +25%)"},"auto_chapters":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Chapters","description":"Enable auto chapters (AssemblyAI only, +30%)"},"key_phrases":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Key Phrases","description":"Enable key phrase extraction (AssemblyAI only, +15%)"}},"type":"object","required":["file"],"title":"Body_create_transcription_api_v1_transcribe_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"V1BulkTranscribeResponse":{"properties":{"total":{"type":"integer","title":"Total"},"queued":{"type":"integer","title":"Queued"},"failed":{"type":"integer","title":"Failed"},"results":{"items":{"$ref":"#/components/schemas/V1BulkTranscribeResult"},"type":"array","title":"Results"}},"type":"object","required":["total","queued","failed","results"],"title":"V1BulkTranscribeResponse"},"app__api__endpoints__public_api_v2_knowledge_bases__KBChatResponse":{"properties":{"reply":{"type":"string","title":"Reply"},"suggested_questions":{"items":{"type":"string"},"type":"array","title":"Suggested Questions"},"sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sources"}},"type":"object","required":["reply","suggested_questions","sources"],"title":"KBChatResponse"},"ExportPdfRequest":{"properties":{"document_theme":{"type":"string","title":"Document Theme","description":"Built-in theme: classic, minimal, professional","default":"classic"},"filename":{"type":"string","title":"Filename","description":"Output filename","default":"transcription.pdf"},"document_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Source","description":"Content source: base, template, or auto (default)"}},"type":"object","title":"ExportPdfRequest"},"PreProcessingTemplateUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Description"},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"}},"type":"object","title":"PreProcessingTemplateUpdateRequest"},"app__api__endpoints__public_api_v2_knowledge_bases__KBGenerateRequest":{"properties":{"type":{"type":"string","title":"Type","description":"Content type: mind_map, flashcards, study_guide, faq, questions"},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count","description":"Number of items to generate"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language","description":"Output language"},"custom_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Prompt","description":"Custom instruction for generation"}},"type":"object","required":["type"],"title":"KBGenerateRequest"},"V1BulkTranslateResponse":{"properties":{"total":{"type":"integer","title":"Total"},"success":{"type":"integer","title":"Success"},"failed":{"type":"integer","title":"Failed"},"results":{"items":{"$ref":"#/components/schemas/V1BulkTranslateResult"},"type":"array","title":"Results"}},"type":"object","required":["total","success","failed","results"],"title":"V1BulkTranslateResponse"},"ExportDocxRequest":{"properties":{"docx_theme_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Docx Theme Id","description":"ID of a saved DOCX visual theme"},"docx_theme_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Docx Theme Fields","description":"Dynamic field values for the theme"},"document_theme":{"type":"string","title":"Document Theme","description":"Built-in theme: classic, minimal, professional","default":"classic"},"filename":{"type":"string","title":"Filename","description":"Output filename","default":"transcription.docx"},"document_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Source","description":"Content source: base, template, or auto (default)"}},"type":"object","title":"ExportDocxRequest"},"PreProcessingTemplateCreateRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"description":{"type":"string","minLength":1,"title":"Description","description":"Template body/instructions applied before intelligent formatting."},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type","description":"Optional built-in V2 document_type this template is primarily intended for."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"}},"type":"object","required":["name","description"],"title":"PreProcessingTemplateCreateRequest"},"app__api__endpoints__public_api_v2_knowledge_bases__KBChatRequest":{"properties":{"message":{"type":"string","title":"Message","description":"Question to ask about the knowledge base"},"history":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},{"type":"null"}],"title":"History","description":"Previous conversation [{role, content}]"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language","description":"Response language (auto if omitted)"},"document_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Document Ids","description":"Limit search to specific job IDs within the KB"}},"type":"object","required":["message"],"title":"KBChatRequest"},"V1TranslateRequest":{"properties":{"target_language":{"type":"string","minLength":2,"title":"Target Language","description":"Target language code (e.g. 'en', 'es', 'fr')"},"translate_formatted":{"type":"boolean","title":"Translate Formatted","description":"Translate the formatted content","default":true},"translate_raw":{"type":"boolean","title":"Translate Raw","description":"Translate raw segments (preserves timestamps)","default":true},"generate_subtitles":{"type":"boolean","title":"Generate Subtitles","description":"Generate translated SRT/VTT","default":false},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","description":"Translation provider: auto, deepl, gemini, gpt_5_mini","default":"auto"}},"type":"object","required":["target_language"],"title":"V1TranslateRequest"},"V1LaunchBotRequest":{"properties":{"meeting_url":{"type":"string","title":"Meeting Url","description":"Meeting URL (Zoom, Meet, or Teams)"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"Meeting title","default":"Meeting"},"bot_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bot Name","description":"Bot display name","default":"Transcriwise Bot"},"language":{"type":"string","title":"Language","description":"Transcription language code","default":"pt"},"live_provider":{"type":"string","title":"Live Provider","description":"Live provider: elevenlabs, assemblyai, soniox, recallai_streaming, recallai_async, assembly_ai_async, deepgram_async","default":"elevenlabs"}},"type":"object","required":["meeting_url"],"title":"V1LaunchBotRequest"},"V1BulkTranslateResult":{"properties":{"job_id":{"type":"string","title":"Job Id"},"ok":{"type":"boolean","title":"Ok"},"target_language":{"type":"string","title":"Target Language"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["job_id","ok","target_language"],"title":"V1BulkTranslateResult"},"app__api__endpoints__public_api_v2_conversations__ChatRequest":{"properties":{"message":{"type":"string","title":"Message","description":"Question about the transcription"},"history":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},{"type":"null"}],"title":"History","description":"Previous conversation messages [{role, content}]"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language","description":"Response language (auto-detected if omitted)"}},"type":"object","required":["message"],"title":"ChatRequest"},"PreProcessingTemplateListResponse":{"properties":{"templates":{"items":{"$ref":"#/components/schemas/PreProcessingTemplateResponse"},"type":"array","title":"Templates"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["templates","total"],"title":"PreProcessingTemplateListResponse"},"app__api__endpoints__public_api_v2_insights__MindMapResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"title":{"type":"string","title":"Title"},"nodes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Nodes"},"edges":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Edges"}},"type":"object","required":["job_id","title","nodes","edges"],"title":"MindMapResponse"},"V1BulkTranslateRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/V1BulkTranslateItem"},"type":"array","title":"Items","description":"List of jobs to translate"},"stop_on_error":{"type":"boolean","title":"Stop On Error","description":"Stop processing on first error","default":false}},"type":"object","required":["items"],"title":"V1BulkTranslateRequest"},"DocumentResultResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"source_job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Job Id"},"document_type":{"type":"string","title":"Document Type"},"status":{"type":"string","title":"Status"},"formatted_document":{"$ref":"#/components/schemas/FormattedDocumentResponse"},"raw_transcription":{"type":"string","title":"Raw Transcription"},"segments":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Segments"},"speakers":{"anyOf":[{},{"type":"null"}],"title":"Speakers"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"enrichment":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Enrichment"}},"type":"object","required":["job_id","document_type","status","formatted_document","raw_transcription"],"title":"DocumentResultResponse"},"app__api__public_api_common__ErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"ErrorResponse"},"V1BulkTranscribeResult":{"properties":{"file_url":{"type":"string","title":"File Url"},"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id"},"status":{"type":"string","title":"Status"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["file_url","status"],"title":"V1BulkTranscribeResult"},"app__api__endpoints__public_api_v2__TemplateListResponse":{"properties":{"templates":{"items":{"$ref":"#/components/schemas/app__api__endpoints__public_api_v2__TemplateListItem"},"type":"array","title":"Templates"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["templates","total"],"title":"TemplateListResponse"},"V1TranslateResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"translated_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Translated Content"},"target_language":{"type":"string","title":"Target Language"},"source_language":{"type":"string","title":"Source Language"},"provider_used":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Used"},"srt_available":{"type":"boolean","title":"Srt Available","default":false},"vtt_available":{"type":"boolean","title":"Vtt Available","default":false}},"type":"object","required":["job_id","target_language","source_language"],"title":"V1TranslateResponse"},"DocumentRequest":{"properties":{"file_url":{"type":"string","title":"File Url","description":"Public URL of the audio/video file to transcribe"},"document_type":{"type":"string","title":"Document Type","description":"Type of document to generate: apostila, meeting_notes, legal_draft, deposition, expert_report, court_hearing, court_ruling, appellate_decision, notarial_act, notarial, lecture_notes, medical_consultation, study_guide, podcast_summary, podcast, interview, call, webinar, simulation, fidelity_transcript, fidelidade"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language","description":"Language code (auto-detected if omitted)"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","description":"ASR provider family: auto, runpod, assemblyai, deepgram, elevenlabs, soniox, iflytek, alibaba"},"provider_variant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Variant","description":"Exact ASR SKU within the provider family"},"asr_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asr Model","description":"Alias for provider_variant"},"diarization":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Diarization","description":"Enable speaker diarization","default":true},"formatting":{"anyOf":[{"$ref":"#/components/schemas/DocumentFormattingOptions"},{"type":"null"}],"description":"Nested formatting controls that mirror the app's intelligent formatting pipeline over the raw transcript, including optional study-material enrichment."},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id","description":"Deprecated alias for formatting.template_id."},"custom_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Instructions","description":"Deprecated alias for formatting.custom_instructions."},"formatting_model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Formatting Model","description":"Deprecated alias for formatting.formatting_model.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]},"summary_model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Summary Model","description":"Deprecated alias for formatting.summary_model.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]},"enrichment_model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Enrichment Model","description":"Deprecated alias for formatting.enrichment_model.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]},"custom_prompt_scope":{"type":"string","title":"Custom Prompt Scope","description":"Deprecated alias for formatting.custom_prompt_scope.","default":"tables_only"},"disable_tables":{"type":"boolean","title":"Disable Tables","description":"Deprecated alias for formatting.disable_tables.","default":false},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area","description":"Deprecated alias for formatting.area."},"speaker_roles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Speaker Roles","description":"Deprecated alias for formatting.speaker_roles."},"speakers_expected":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Speakers Expected","description":"Deprecated alias for formatting.speakers_expected."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"URL to receive POST callback when the document is ready"},"output_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Format","description":"Output format: markdown, html, txt","default":"markdown"},"enrichment":{"anyOf":[{"$ref":"#/components/schemas/DocumentEnrichmentOptions"},{"type":"null"}],"description":"Deprecated alias for formatting.enrichment."}},"type":"object","required":["file_url","document_type"],"title":"DocumentRequest","description":"Request to generate a formatted document from audio."},"app__api__endpoints__public_api__ErrorResponse":{"properties":{"error":{"type":"string","title":"Error"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["error"],"title":"ErrorResponse"},"ExportFileResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"filename":{"type":"string","title":"Filename"},"download_url":{"type":"string","title":"Download Url"},"document_source":{"type":"string","title":"Document Source"}},"type":"object","required":["job_id","filename","download_url","document_source"],"title":"ExportFileResponse"},"app__api__endpoints__public_api_v2_conversations__ChatResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"reply":{"type":"string","title":"Reply"},"suggested_questions":{"items":{"type":"string"},"type":"array","title":"Suggested Questions"}},"type":"object","required":["job_id","reply","suggested_questions"],"title":"ChatResponse"},"FormatExistingRequest":{"properties":{"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id","description":"ID of a completed transcript source job"},"transcript_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript Text","description":"Raw transcript text when no source job exists"},"document_type":{"type":"string","title":"Document Type","description":"Type of document to generate"},"source_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Language","description":"Language code for direct transcript_text input"},"formatting":{"anyOf":[{"$ref":"#/components/schemas/DocumentFormattingOptions"},{"type":"null"}],"description":"Nested formatting controls that mirror the app's intelligent formatting pipeline over the raw transcript source, including optional study-material enrichment."},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id","description":"Deprecated alias for formatting.template_id."},"custom_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Instructions","description":"Deprecated alias for formatting.custom_instructions."},"formatting_model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Formatting Model","description":"Deprecated alias for formatting.formatting_model.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]},"summary_model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Summary Model","description":"Deprecated alias for formatting.summary_model.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]},"enrichment_model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Enrichment Model","description":"Deprecated alias for formatting.enrichment_model.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]},"custom_prompt_scope":{"type":"string","title":"Custom Prompt Scope","description":"Deprecated alias for formatting.custom_prompt_scope.","default":"tables_only"},"disable_tables":{"type":"boolean","title":"Disable Tables","description":"Deprecated alias for formatting.disable_tables.","default":false},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area","description":"Deprecated alias for formatting.area."},"speaker_roles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Speaker Roles","description":"Deprecated alias for formatting.speaker_roles."},"speakers_expected":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Speakers Expected","description":"Deprecated alias for formatting.speakers_expected."},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"Callback URL"},"output_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Format","description":"Output format: markdown, html, txt","default":"markdown"},"enrichment":{"anyOf":[{"$ref":"#/components/schemas/DocumentEnrichmentOptions"},{"type":"null"}],"description":"Deprecated alias for formatting.enrichment."}},"type":"object","required":["document_type"],"title":"FormatExistingRequest","description":"Request to create a V2 document from an existing transcript source."},"FormattedDocumentResponse":{"properties":{"template_used":{"type":"string","title":"Template Used"},"markdown_content":{"type":"string","title":"Markdown Content"}},"type":"object","required":["template_used","markdown_content"],"title":"FormattedDocumentResponse"},"V1BulkTranscribeRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/V1BulkTranscribeItem"},"type":"array","title":"Items","description":"List of files to transcribe"}},"type":"object","required":["items"],"title":"V1BulkTranscribeRequest"},"TranscribeByUrlRequest":{"properties":{"file_url":{"type":"string","title":"File Url","description":"Public URL of the audio/video file to transcribe"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name","description":"Filename for the download","default":"audio_upload"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language","description":"Language code (e.g. 'pt', 'en', 'es'). Auto-detected if omitted."},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode","description":"Transcription mode: APOSTILA, FIDELIDADE, RAW, AUDIENCIA, REUNIAO, DEPOIMENTO, LEGENDA, SIMULADO, ENTREVISTA, PALESTRA_CONGRESSO, PERICIA, NOTARIAL, PODCAST","default":"APOSTILA"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","description":"Transcription engine family: auto, runpod, assemblyai, deepgram, elevenlabs, soniox, iflytek, alibaba"},"provider_variant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Variant","description":"Exact ASR SKU within the provider family, e.g. large-v3-turbo, universal-3-5-pro, nova-3-medical, qwen3-asr-flash-filetrans"},"asr_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asr Model","description":"Alias for provider_variant. Use when you prefer model-centric naming."},"diarization":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Diarization","description":"Enable speaker diarization"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url","description":"URL to receive a POST callback when the job completes or fails"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area","description":"Knowledge area for vocabulary: juridico, medicina, ti, engenharia, financeiro, geral"},"output_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Format","description":"Output format preference: text, md, srt, vtt, json"},"entity_detection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Entity Detection","description":"Enable entity detection (people, orgs, locations, dates, values). AssemblyAI only. +25% surcharge."},"sentiment_analysis":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sentiment Analysis","description":"Enable per-sentence sentiment analysis (POSITIVE/NEGATIVE/NEUTRAL). AssemblyAI only. +25% surcharge."},"auto_chapters":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Chapters","description":"Enable auto chapters with headline, summary, gist and timestamps. AssemblyAI only. +30% surcharge."},"key_phrases":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Key Phrases","description":"Enable key phrase extraction with ranking. AssemblyAI only. +15% surcharge."}},"additionalProperties":false,"type":"object","required":["file_url"],"title":"TranscribeByUrlRequest","description":"JSON body for URL-based transcription (used by Zapier, Make, etc.)."},"app__api__endpoints__public_api_v2__ApplyTemplateRequest":{"properties":{"template_id":{"type":"string","title":"Template Id","description":"Template ID to apply"},"language":{"type":"string","title":"Language","description":"Output language: auto, pt, en, es","default":"auto"},"length_mode":{"type":"string","title":"Length Mode","description":"Detail level: short, medium, long, very_long","default":"long"},"custom_instruction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Instruction","description":"Additional instruction for the AI"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Model","description":"Optional post-processing LLM override for the template generation stage. Swagger lists the canonical public model IDs.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]}},"type":"object","required":["template_id"],"title":"ApplyTemplateRequest"},"SummaryResponse":{"properties":{"job_id":{"type":"string","title":"Job Id"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"key_points":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Points"},"action_items":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Action Items"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"}},"type":"object","required":["job_id"],"title":"SummaryResponse"},"SetProviderKeyRequest":{"properties":{"provider":{"type":"string","title":"Provider","description":"Provider name: assemblyai, deepgram, soniox, elevenlabs, gladia, voxtral, alibaba, iflytek"},"credentials":{"additionalProperties":{"type":"string"},"type":"object","title":"Credentials","description":"Provider credentials. Most providers: {api_key: '...'}. iFlytek: {app_id: '...', api_secret: '...', api_key: '...'}"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"Friendly label (e.g. 'Production Deepgram key')"}},"type":"object","required":["provider","credentials"],"title":"SetProviderKeyRequest"},"app__api__endpoints__public_api_v2__TemplateListItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"preset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preset"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area"}},"type":"object","required":["id","name"],"title":"TemplateListItem"},"V1BulkTranslateItem":{"properties":{"job_id":{"type":"string","title":"Job Id","description":"Job ID to translate"},"target_language":{"type":"string","title":"Target Language","description":"Target language code"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","description":"Translation provider: auto, deepl, gemini, gpt_5_mini","default":"auto"}},"type":"object","required":["job_id","target_language"],"title":"V1BulkTranslateItem"},"DocumentFormattingOptions":{"properties":{"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id","description":"Saved pre-processing template from the user's library, applied before the intelligent formatter runs."},"custom_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Instructions","description":"Inline instructions merged after the saved pre-processing template and before formatting."},"formatting_model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Formatting Model","description":"Formatting LLM used by the same raw-to-document pipeline as the app. Swagger lists the canonical public model IDs; compatible aliases remain supported by the runtime.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]},"summary_model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Summary Model","description":"Optional override for executive-summary or summary-style stages. Falls back to formatting_model when omitted. Swagger lists the canonical public model IDs.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]},"enrichment_model":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["gemini-3.1-flash-lite","gemini-3.5-flash","claude-4.5-haiku","gpt-5.6-luna","gpt-5.6-terra","qwen3.5-flash","qwen3.6-plus","glm-4.7-flash","glm-5","glm-4.6v"],"title":"Enrichment Model","description":"Optional override for mind maps, glossary, exercises, quizzes, and other enrichment stages. Falls back to formatting_model when omitted. Swagger lists the canonical public model IDs.","examples":["gemini-3.5-flash","claude-4.6-sonnet","gpt-5.4"]},"thinking_level":{"type":"string","title":"Thinking Level","description":"Thinking budget used by the formatting model: none, minimal, low, medium, high, xhigh.","default":"medium"},"format_execution_profile":{"type":"string","enum":["safe","fast","turbo","max_quality"],"title":"Format Execution Profile","description":"Execution profile for formatting: safe, fast, turbo, max_quality.","default":"safe"},"processing_preset":{"anyOf":[{"type":"string","enum":["rapid","standard","professional","premium","custom"]},{"type":"null"}],"title":"Processing Preset","description":"Canonical processing preset: rapid, standard, professional, premium, custom."},"audit_level":{"anyOf":[{"type":"string","enum":["off","fidelity","full"]},{"type":"null"}],"title":"Audit Level","description":"Canonical audit level: off, fidelity, full."},"custom_prompt_scope":{"type":"string","title":"Custom Prompt Scope","description":"Prompt scope: tables_only, style_and_tables, full_template. Compatibility aliases are also accepted.","default":"tables_only"},"disable_tables":{"type":"boolean","title":"Disable Tables","description":"Suppress tables and table-like extras in the final document unless full_template takes full control.","default":false},"high_accuracy":{"type":"boolean","title":"High Accuracy","description":"Enable high-accuracy / beam-search oriented transcription when the chosen ASR path supports it.","default":false},"use_cache":{"type":"boolean","title":"Use Cache","description":"Reuse cached RAW transcription for the same input when available.","default":true},"auto_apply_fixes":{"type":"boolean","title":"Auto Apply Fixes","description":"Auto-apply structural corrections after the main formatting/audit stages.","default":true},"auto_apply_content_fixes":{"type":"boolean","title":"Auto Apply Content Fixes","description":"Auto-apply AI content corrections on top of RAW + formatting. Use with caution.","default":false},"output_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output Language","description":"Translate the formatted document to this output language while preserving the same formatting pipeline."},"custom_keyterms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Custom Keyterms","description":"Technical terms, names, and acronyms to bias recognition/formatting."},"diarization_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Diarization Provider","description":"Optional diarization provider override: auto, local, runpod, assemblyai."},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area","description":"Knowledge area for vocabulary and heuristics: juridico, medicina, ti, engenharia, financeiro, geral."},"speaker_roles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Speaker Roles","description":"Speaker role hints used by meeting/hearing/deposition style documents."},"speakers_expected":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Speakers Expected","description":"Expected speaker count for diarization-heavy flows."},"use_pro_analytical_passes":{"type":"boolean","title":"Use Pro Analytical Passes","description":"Force Pro-equivalent analytical passes without changing the base economical chunk model.","default":false},"enrichment":{"anyOf":[{"$ref":"#/components/schemas/DocumentEnrichmentOptions"},{"type":"null"}],"description":"Optional study-material enrichment appended after the base document is formatted."}},"type":"object","title":"DocumentFormattingOptions","description":"Formatting controls mirrored from the app's intelligent formatting layer."},"V1BulkTranscribeItem":{"properties":{"file_url":{"type":"string","title":"File Url","description":"URL of the audio/video file"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name","description":"Filename hint"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode","description":"Transcription mode","default":"APOSTILA"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language","description":"Language code"}},"type":"object","required":["file_url"],"title":"V1BulkTranscribeItem"},"DocumentEnrichmentOptions":{"properties":{"mind_map":{"type":"boolean","title":"Mind Map","description":"Append a final mind map / topic map section to the generated document.","default":false},"mind_map_custom_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mind Map Custom Prompt","description":"Global custom prompt for the final mind map generation."},"mind_map_custom_prompt_overview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mind Map Custom Prompt Overview","description":"Custom prompt for the document-level overview mind map."},"mind_map_custom_prompt_topic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mind Map Custom Prompt Topic","description":"Custom prompt for topic-specific mind map generation."},"mind_map_custom_prompt_section":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mind Map Custom Prompt Section","description":"Custom prompt for per-section mini mind maps."},"mind_map_count":{"type":"integer","title":"Mind Map Count","description":"Number of mind maps. `0` (default) lets the AI decide, proportional to document size; `1` keeps a single document-level appendix; higher values force additional topical maps.","default":0},"exercises":{"type":"boolean","title":"Exercises","description":"Append exercises / quiz material at the end of the document.","default":false},"exercises_count":{"type":"integer","title":"Exercises Count","description":"Requested exercise count. `0` (default) lets the AI decide, proportional to document size.","default":0},"per_section_mind_map":{"type":"boolean","title":"Per Section Mind Map","description":"Insert a mini mind map after each major section.","default":false},"per_section_quiz":{"type":"boolean","title":"Per Section Quiz","description":"Insert a short quiz after each major section.","default":false},"exercises_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Exercises Types","description":"Exercise types: multiple_choice, true_false, essay."},"exercises_custom_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exercises Custom Prompt","description":"Global custom prompt for the final exercise appendix."},"exercises_custom_prompt_section":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exercises Custom Prompt Section","description":"Custom prompt for per-section quiz generation."},"executive_summary":{"type":"boolean","title":"Executive Summary","description":"Insert an executive summary near the top of the final document.","default":false},"executive_summary_custom_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Executive Summary Custom Prompt","description":"Custom prompt for the executive summary block."},"glossary":{"type":"boolean","title":"Glossary","description":"Append a glossary of technical terms at the end of the document.","default":false},"ai_illustrations":{"type":"boolean","title":"Ai Illustrations","description":"Append AI-generated educational illustrations using Gemini Nano Banana.","default":false},"ai_illustrations_use_pro":{"type":"boolean","title":"Ai Illustrations Use Pro","description":"Use Nano Banana Pro for AI-generated illustrations.","default":false},"use_pro_enrichment":{"type":"boolean","title":"Use Pro Enrichment","description":"Use a Pro-equivalent model for enrichment stages when supported by the selected formatter family.","default":false},"use_pro_tables":{"type":"boolean","title":"Use Pro Tables","description":"Escalate ONLY the dedicated table second pass (quadro-síntese generation) to the provider Pro tier (e.g. gemini-3.5-flash). The document body keeps the economic base model.","default":false}},"type":"object","title":"DocumentEnrichmentOptions","description":"Optional study-material enrichment appended after the base formatter output."}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"API key as Bearer token (e.g. tw_live_abc123...)"}}},"security":[{"BearerAuth":[]}],"tags":[{"name":"public-api-v1","description":"API v1 — Raw transcription primitives with multi-provider routing, normalized transcript payloads, subtitles, and meeting capture."},{"name":"public-api-v2","description":"API v2 — Document Generation. Runs the same intelligent formatting pipeline used by the app over raw transcript sources, producing professional documents (meeting notes, legal drafts, hearings, apostilas, fidelity transcripts, and related artifacts). `document_type` selects the built-in preset, `template_id` resolves a saved pre-processing template inside the same formatter, `formatting.enrichment` adds study-material appendices, and `/apply-template` adds optional AI post-processing after the base document exists. Charged per document, with optional fixed surcharges for premium formatting models."}]}