When to use this runbook
Use before every Transcription or Transcription Lite job submission, especially when the requested features do not make the product choice obvious.When not to use it
Do not use this runbook to submit, cancel, or retry a job. Do not use static pricing, processing-time examples, or example media URLs as current account facts.Required inputs
SALAD_API_KEYas a secret environment variable and a caller-suppliedSALAD_ORGANIZATIONname.- The intended product:
transcribeortranscription-lite, or enough feature requirements to choose one. - A downloadable media URI supplied by the user or a trusted application. Treat signed query parameters as secrets.
- Required language behavior and output features, including audio-stream selection, timestamps, multichannel preservation, diarization, SRT, translation, enhanced accuracy, or primary-only LLM features.
- Whether a webhook, caller metadata, or file-return behavior is required.
Authoritative sources
The two specifications reuse the same operation IDs. Always pair an operation ID with the selected product and exact
path; the operation ID alone does not identify the API.
Dynamic values to retrieve
- The live inference-endpoint representation, including its
name,endpoint_url,readme, andprice_description. - Current API response and rate-limit state for the supplied organization.
- Current reachability and any known expiry of the exact media URI. The specifications define no minimum URL lifetime, so do not claim that a particular expiry is sufficient.
- Current job state, events, and output after submission.
Preflight checks
- Require
SALAD_API_KEYand a trusted organization name; neither Transcription specification lists accessible organizations. - Select one exact endpoint. Call its
get_inference_endpointpath to validate both organization access and product. - Confirm the media URI is externally downloadable. Do not print or return signed query parameters, embedded credentials, or private storage headers.
- Validate the request only against the selected specification. Both products require
input.url; top-levelmetadataandwebhookare optional, and metadata permits at most 20 properties. - For the primary API, use only fields in
SaladCloudTranscriptionAPIInput. Onlyurlis required; omitting nullablelanguage_codeuses automatic detection. - For Lite, use only fields in
SaladCloudTranscriptionLiteAPIInput. Its currentlanguage_codeis a string without an enum; that does not prove every value is supported. audio_stream_index,multichannel, andenhanced_accuracyare primary-only. Reject them on the Lite path.- Do not assume a webhook is authenticated, retried, or delivered with a particular payload; those behaviors are not defined by these OpenAPI specifications.
Procedure
- Translate the requested outcome into explicit input and output fields.
- Choose the primary API when the request requires
audio_stream_index,multichannel,enhanced_accuracy,summarize,custom_prompt,llm_translation,srt_translation,custom_vocabulary,classification_labels,overall_classification, oroverall_sentiment_analysis; these fields are absent from Lite. - Choose Lite only when every requested field is present in the Lite input schema.
- Read the selected endpoint with
get_inference_endpointusingSalad-Api-Key; record the product name and current endpoint metadata without exposing the key. - Validate the media URI and the complete proposed JSON body. Omit optional fields rather than supplying empty or guessed values.
- Return a preflight decision before invoking the product-specific submission runbook.
Decision rules
Only
to_eng has defined primary translate behavior. Do not normalize another value or represent to_eng as an
enum-enforced constraint.
Expected states and responses
A successful endpoint read returns200. Job states, once a job exists, are pending, running, succeeded,
cancelled, and failed; event actions are created, started, succeeded, cancelled, and failed.
The endpoint response describes the current service but does not reserve capacity or guarantee a completion time.
Retry behavior
Retry endpoint and other read-only preflight requests only for plausible transient transport,429, or server failures
within a caller-defined attempt and elapsed-time budget. Honor Retry-After when present. Do not retry an unchanged
invalid schema, inaccessible source URI, or authentication/authorization failure.