# his.fm — project and identity

Page: https://hexly.ai/projects/his-fm

Integrate his.fm using the Hexly single-project identity API.

GET https://hexly.ai/api/projects/nocoo/his.fm
No authentication. Public CORS. Request exactly one GitHub owner/repository pair; include the owner in the path and preserve repository dots and hyphens. Owner and repository names are case-insensitive. Current projects belong to nocoo; never assume that owner for future integrations. No list, batch, search or query parameters. Do not fetch the full catalogue.

Example:
const response = await fetch("https://hexly.ai/api/projects/nocoo/his.fm");
if (!response.ok) throw new Error(`Hexly API HTTP ${response.status}`);
const project = await response.json();
const title = project.title;
const description = project.description.en;
const github = project.github;
const icon = project.icons.small;

Expect a single JSON object: schemaVersion (1), id (Hexly slug), owner (GitHub user or organization), repo (GitHub repository name), title, description {en, zh}, emoji, category, archived, github, website (string or null), url (Hexly detail page), icons {small, large}, logos[], and brand {manifest, iconManifest, source, originalSha256}. Use owner/repo together as the integration key. Small/large icons are 64/512px. Each logo has id, url, width, height, format, background, role, usage and theme. URLs are absolute HTTPS CDN URLs; use the returned URLs unchanged and preserve aspect ratio with object-fit: contain. Use textContent or framework text bindings for text, not innerHTML.

Logo selection:
- Prefer icons.small for a 24–32px header/sidebar and icons.large for a larger project card. Active Hexly entries use the approved textured presentation: original family foreground colors and composition over a pale texture, with continuous corners already rendered. Do not add a CSS mask, tile or shadow. The manifest is brand.iconManifest when available; it records native dimensions, resampling and original source hashes.
- When an original transparent mark is explicitly required, select role="project-identity", background="transparent", usage="navigation". Prefer a PNG matching the required resolution (16/32px favicon; roughly 2x CSS size for high-DPI UI). Do not add a background tile, mask, shadow, crop or recolor the mark.
- Opaque presentation variants are intended for README artwork and platform icon masters. The ios-app-icon variant is an opaque 1024px square; iOS applies its own mask. Use usage="apple-touch-icon" for touch bookmarks. Rounded presentation variants have transparent corners with an opaque textured interior; they are not transparent foreground marks.
- role="hexly-campaign" is separately labelled artwork for Hexly-related presentation. It does not authorize replacing the product's own Logo, favicon, colors or UI. Check brand.manifest and its license/provenance before adopting campaign materials.
- background="original" preserves the source background; transparency is not guaranteed. Some projects only have original/emoji assets. Missing variants are unavailable: do not fabricate URLs or claim transparency. Use icons.small/large as supplied when no suitable transparent identity exists.
- Keep original geometry, colors, bytes, licenses and provenance. brand.originalSha256 verifies the original logo only, not its derivatives. Do not regenerate or upload new logos for this integration.

Cache successful metadata for at most one hour. Edge responses also cache for one hour; previously cached metadata may remain visible for up to one hour after deployment. Do not cache failures as project data. A 404 means unknown repository; 400 means invalid request; 405 means unsupported method; 503 means temporarily unavailable. Handle network failures, nullable website and archived projects explicitly. An entry is not proof of service health. No polling or credentials are needed.

Verify the integrated title, en description, GitHub destination, logo aspect ratio, light/dark contrast, mobile layout and failure state. Fetch current metadata rather than copying the preview as permanent configuration.


An AI-collaboration Chinese podcast with a versioned prompt-slot studio

Project ID: his-fm. Catalogue state: active. This is not a product release or health assertion.

Repository: https://github.com/nocoo/his.fm
Website: https://his.fm

Original project identity: https://h.no.mt/projects/his-fm/identity/v1.0.0/his-fm-channel-0a64cac84ab3.jpg
Original SHA-256: 0a64cac84ab3bbb8a1c5bcb03976b516698cb41cfec0ea2cdd9c5b5e1372cd85
Source: https://github.com/nocoo/his.fm/blob/927170dfebc602ca6697dd514188c6f0c1136050/artwork/show-stillwood-20261022/podcast-cover-3000.jpg

Reuse the approved downloadable files. Preserve the original Logo geometry, proportions, colors and bytes. Hexly campaign styling belongs to this archive and Hexly promotional material; the product's own palette and UI remain independent.

Current decorative surface: Stillwood paper, generated with gpt-image-2.5-flare. Reuse its approved PNG/WebP; it is separate from the original Logo. Display one complete canvas without repetition or cropping. Exact light/dark prompts and generation receipts are in the texture archive.

Texture pack v1.0.3 has its own version, independent of the identity kit and application. Existing kit textures remain historical. Keep the active pack's manifest and use its measured surface opacity 0.3 on a separate background layer; Logo and text stay fully opaque.

Public health endpoint: https://his.fm/api/live. Read fresh observations; a login page or redirect is not healthy.

## Sources

- [Single-project identity API](https://hexly.ai/api/projects/nocoo/his.fm)
- [light surface: original PNG](https://h.no.mt/projects/his-fm/textures/v1.0.3/texture-light.png)
- [Exact light surface prompt](https://h.no.mt/projects/his-fm/textures/v1.0.3/texture-light-prompt.txt)
- [dark surface: original PNG](https://h.no.mt/projects/his-fm/textures/v1.0.3/texture-dark.png)
- [Exact dark surface prompt](https://h.no.mt/projects/his-fm/textures/v1.0.3/texture-dark-prompt.txt)
- [Active texture manifest and hashes](https://h.no.mt/projects/his-fm/textures/v1.0.3/manifest.json)
- [Texture usage and license](https://h.no.mt/projects/his-fm/textures/v1.0.3/guide.md)
- [Project catalogue JSON](https://hexly.ai/data/projects.json)
- [Agent index](https://hexly.ai/llms.txt)
- [Published site version and revision](https://hexly.ai/api/live)
