---
title: "Admin Regenerate Blog Cover"
method: POST
path: "/api/admin/blog-posts/{post_id}/regenerate-cover"
tags: ["admin"]
---

# Admin Regenerate Blog Cover

`POST /api/admin/blog-posts/{post_id}/regenerate-cover`

## Request

- Base URL: `https://store.hypergpt.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://store.hypergpt.ai/api/admin/blog-posts/{post_id}/regenerate-cover`
- Auth: HTTP bearer

Rebuild the cover/OG image for an existing draft or published post.

Picks the right composer based on post_type:
  - app_review_post   → screenshot of /{app-slug} with logo-fallback
  - app_compare_post  → VS composite from the first two linked apps
  - app_category_post → grid collage from the linked apps (up to 10)
Other post types aren't supported (covers there come from manual upload).

Uploads to R2 at blog-covers/{slug}.webp (overwriting) and updates
featured_image_url in place.

## Path parameters

- `post_id` integer, required

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/hypergpt/apis/hyperstore-api.md) · [All operations](https://skmtc.dev/hypergpt/apis/hyperstore-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hypergpt/apis/hyperstore-api/revisions/50dc6759e3b9?raw)
