GET /job_results
Retrieves the metadata results of a finished video analysis job.
Endpoint
GET https://api-eu.valossa.com/core/1.0/job_results
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key | string | Yes | Your Valossa API key |
job_id | string | Yes | The UUID of the finished job |
type | string | No | Metadata type to download. Default: core |
Supported Metadata Types
| Type Value | Description |
|---|---|
core | Valossa Core metadata (default). Contains all detections, groupings, and segmentations. |
frames_faces | Per-frame face bounding box coordinates. See Faces & Identity. |
seconds_objects | Per-second object bounding box coordinates. See Localized Objects. |
frames_objects | Per-frame object bounding box coordinates. See Localized Objects. |
speech_to_text_srt | Speech-to-text results in SRT subtitle format. See Speech & Transcription. |
speech_to_text_vtt | Speech-to-text results in WebVTT subtitle format. |
speech_to_text_ttml | Speech-to-text results in TTML subtitle format. |
speech_to_text_avid_txt | Speech-to-text results in Avid text format. |
visual_captions | Visual scene description metadata — natural language descriptions of what is visually happening in each scene. See Scene Descriptions Guide. |
Response
- For
core,frames_faces,seconds_objects,frames_objects, andvisual_captions: returns HTTP200with JSON content. - For subtitle output types (
speech_to_text_srt,speech_to_text_vtt,speech_to_text_ttml,speech_to_text_avid_txt): returns HTTP200with text content.
visual_captions JSON Shape
visual_captions returns scene-description sections in a different structure than Core metadata:
{
"version_info": {
"metadata_type": "visual_captions",
"metadata_format_version": "1.2.0"
},
"selected_sections": [
{
"caption": "A close-up view of a car's side, focusing on the area near the rear window and the roof.",
"section": {
"s_start": 6.88,
"s_end": 9.96,
"shot_index": 3
}
}
]
}
Notes:
selected_sections[].captionis the natural-language scene description text.selected_sections[].section.s_startandselected_sections[].section.s_enddefine the time range.selected_sections[].section.shot_indexdefines the index of the corresponding shot. Shot numbering starts from 0.- Unlike Core metadata, this payload uses
s_start/s_endinstead ofss/se.
frames_objects and seconds_objects
Both object-coordinate result types are JSON payloads linked back to Core detection IDs for visual.object.localized.
seconds_objectsis indexed by second.frames_objectsis the frame-level counterpart for the same kind of localized object data.- See Localized Objects for the coordinate model and linking pattern.
Subtitle/Text Result Types
These type values return text rather than JSON:
| Type Value | Output |
|---|---|
speech_to_text_srt | Standard SRT subtitle text |
speech_to_text_vtt | Standard WebVTT subtitle text |
speech_to_text_ttml | TTML XML subtitle text |
speech_to_text_avid_txt | Avid-compatible subtitle text |
Examples
Download Core Metadata
curl "https://api-eu.valossa.com/core/1.0/job_results?api_key=YOUR_API_KEY&job_id=167d6a67-fb99-438c-a44c-c22c98229b93" \
-o core_metadata.json
Download Face Bounding Boxes
curl "https://api-eu.valossa.com/core/1.0/job_results?api_key=YOUR_API_KEY&job_id=167d6a67-fb99-438c-a44c-c22c98229b93&type=frames_faces" \
-o faces.json
Download Speech-to-Text SRT
curl "https://api-eu.valossa.com/core/1.0/job_results?api_key=YOUR_API_KEY&job_id=167d6a67-fb99-438c-a44c-c22c98229b93&type=speech_to_text_srt" \
-o subtitles.srt
Python
import requests
# Download core metadata
response = requests.get(
"https://api-eu.valossa.com/core/1.0/job_results",
params={
"api_key": "YOUR_API_KEY",
"job_id": "167d6a67-fb99-438c-a44c-c22c98229b93"
}
)
metadata = response.json()
# Download SRT transcript
srt_response = requests.get(
"https://api-eu.valossa.com/core/1.0/job_results",
params={
"api_key": "YOUR_API_KEY",
"job_id": "167d6a67-fb99-438c-a44c-c22c98229b93",
"type": "speech_to_text_srt"
}
)
srt_content = srt_response.text
JavaScript
// Download core metadata
const response = await fetch(
"https://api-eu.valossa.com/core/1.0/job_results?api_key=YOUR_API_KEY&job_id=167d6a67-fb99-438c-a44c-c22c98229b93"
);
const metadata = await response.json();
// Download SRT transcript
const srtResponse = await fetch(
"https://api-eu.valossa.com/core/1.0/job_results?api_key=YOUR_API_KEY&job_id=167d6a67-fb99-438c-a44c-c22c98229b93&type=speech_to_text_srt"
);
const srtContent = await srtResponse.text();
Example Core Metadata Response (Abbreviated)
{
"version_info": {
"metadata_type": "core",
"metadata_format": "1.8.1",
"backend": "3.1.1"
},
"job_info": {
"job_id": "167d6a67-fb99-438c-a44c-c22c98229b93",
"request": { ... }
},
"media_info": {
"technical": { "duration_s": 120.5, "fps": 24 }
},
"detections": { ... },
"detection_groupings": { ... },
"segmentations": { ... }
}
Notes
- Store metadata locally. Metadata may not be stored permanently on Valossa servers, and download count limits may be imposed in the future.
- The API returns JSON without line breaks or indentation. Use a tool like
jqto pretty-print for human reading:cat metadata.json | python -m json.tool > pretty.json - SRT files use Unix newlines (LF only, not CRLF).
- Not all metadata types may be available for every job. Availability depends on your subscription's AI features and when the job was analyzed.