---
title: "Search stock media"
method: GET
path: "/api/v1/stock"
tags: ["looks"]
---

# Search stock media

`GET /api/v1/stock`

## Request

- Base URL: `https://kinetune.com`
- URL: `https://kinetune.com/api/v1/stock`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://kinetune.com/api/auth/oauth2/authorize`, token URL `https://kinetune.com/api/auth/oauth2/token`, scopes: `videos:read`, `videos:write`, `library:read`)

Find stock photos or clips to use as a background

24 results a page. Pass an item's id as look.background.stock_id (source "stock-photo" or "stock-video") or as a Canvas's stock_id to use it instead of the director's pick, and credit the photographer (credit) wherever you show it. orientation: portrait for 9:16 and 1:1, landscape when 16:9 is among the formats (a Canvas is portrait). Clips too short for the loop are left out: pass seconds for a Canvas. thumbnail_url is a 480 px still, preview_url a 1280 px one (the photo, or the clip's poster), preview_video_url a small MP4 of a clip.

## Query parameters

- `kind` 'photo' | 'video', required: photo for stock-photo, video for stock-video
- `q` string, required: Search words, e.g. "foggy pine forest"
- `orientation` 'portrait' | 'landscape': Default portrait
- `page` integer: Default 1; next_page says whether there are more
- `seconds` integer: Clips for a Canvas of this length (5–8); omit for a Look's loop

## Response `200`

OK

## Other responses

- `201`: Created
- `400`: Invalid request
- `401`: Missing or invalid credentials
- `402`: Not enough credits
- `403`: Missing scope
- `404`: Not found
- `409`: Conflict
- `422`: Unprocessable
- `503`: Temporarily unavailable (AI video): nothing was held; try again after Retry-After seconds

---

[API](https://skmtc.dev/kinetune/apis/kinetune-api.md) · [All operations](https://skmtc.dev/kinetune/apis/kinetune-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kinetune/apis/kinetune-api/revisions/372c8e87d1ff?raw)
