---
title: "Create a transcode job for proxy and keyframes generation of multiple assets"
method: POST
path: "/v1/assets/bulk/keyframes/"
---

# Create a transcode job for proxy and keyframes generation of multiple assets

`POST /v1/assets/bulk/keyframes/`

## Request

- Base URL: `https://app.iconik.io/API/files`
- URL: `https://app.iconik.io/API/files/v1/assets/bulk/keyframes/`
- Auth: none declared. Required headers: `Auth-Token`, `App-ID`
- TypeScript: <https://skmtc.dev/iconik/apis/iconik-files/docs/v1/assets/bulk/keyframes/post.ts> (a function with typed inputs; its response is checked against the schema)

Required roles:
 - can_create_transcode_jobs

## Headers

- `Auth-Token` string, required
- `App-ID` string, required

## Request body

- BulkTranscodeSchema
  - `format_name` string
  - `object_ids` string[], required
  - `object_type` 'assets' | 'collections' | 'playlists' | 'saved_searches', required
  - `prefer_any_cloud` boolean
  - `preferred_storage_id` string, uuid
  - `preferred_storage_method` 'FILE' | 'HTTP' | 'FTP' | 'SFTP' | 'S3' | 'B2' | 'GCS' | 'PORTAL' | 'CUSTOM' | 'AZURE' | 'DROPBOX'
  - `priority` integer

## Response `200`

OK

## Other responses

- `400`: Bad request
- `401`: Token is invalid
- `403`: Access denied for share users
- `default`: Error response

---

[API](https://skmtc.dev/iconik/apis/iconik-files.md) - [All operations](https://skmtc.dev/iconik/apis/iconik-files/llms.txt) - [OpenAPI document](https://skmtc.dev/iconik/apis/iconik-files/revisions/ed57d13791a2?raw)
