com.luminframe.image

luminframe.com

Documentation

An image edited in Luminframe, saved to the author's repo, together with the effect recipe used to produce it.

main record

An image edited in Luminframe, saved to the author's repo, together with the effect recipe used to produce it.

Record Key tid Timestamp-based ID

Properties

alt string Optional

Accessibility description of the image.

maxLength: 10000 bytesmaxGraphemes: 2000 graphemes
aspectRatio ref #aspectRatio Required

Pixel dimensions of the render, so a viewer can lay it out without decoding.

createdAt string datetime Required

When the record was created.

effects array of string Optional

The effect keys applied, in order. Kept for lightweight display and backward compatibility; the executable form is `recipe`.

maxLength: 64 items
image blob Required

The rendered image. When `video` is present, this is its poster frame.

maxSize: 1.0 MB
recipe array of ref #effectStep Optional

The ordered effect stack with parameters — the executable edit, so the look can be reconstructed or applied elsewhere.

maxLength: 64 items
title string Optional

Short caption or label.

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
video blob Optional

A short looping clip of the edit, present when the recipe animates. The still `image` remains required as the poster, so viewers that only know stills keep working.

maxSize: 5.0 MB
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "image",
      "aspectRatio",
      "createdAt"
    ],
    "properties": {
      "alt": {
        "type": "string",
        "maxLength": 10000,
        "description": "Accessibility description of the image.",
        "maxGraphemes": 2000
      },
      "image": {
        "type": "blob",
        "accept": [
          "image/*"
        ],
        "maxSize": 1000000,
        "description": "The rendered image. When `video` is present, this is its poster frame."
      },
      "title": {
        "type": "string",
        "maxLength": 3000,
        "description": "Short caption or label.",
        "maxGraphemes": 300
      },
      "video": {
        "type": "blob",
        "accept": [
          "video/mp4"
        ],
        "maxSize": 5000000,
        "description": "A short looping clip of the edit, present when the recipe animates. The still `image` remains required as the poster, so viewers that only know stills keep working."
      },
      "recipe": {
        "type": "array",
        "items": {
          "ref": "#effectStep",
          "type": "ref"
        },
        "maxLength": 64,
        "description": "The ordered effect stack with parameters — the executable edit, so the look can be reconstructed or applied elsewhere."
      },
      "effects": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 128
        },
        "maxLength": 64,
        "description": "The effect keys applied, in order. Kept for lightweight display and backward compatibility; the executable form is `recipe`."
      },
      "remixOf": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "The record this image was remixed from, if any — its lineage."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "When the record was created."
      },
      "aspectRatio": {
        "ref": "#aspectRatio",
        "type": "ref",
        "description": "Pixel dimensions of the render, so a viewer can lay it out without decoding."
      }
    }
  },
  "description": "An image edited in Luminframe, saved to the author's repo, together with the effect recipe used to produce it."
}
aspectRatio object

The width:height ratio of the image, in pixels.

Properties

height integer Required

No description available.

minimum: 1
width integer Required

No description available.

minimum: 1
View raw schema
{
  "type": "object",
  "required": [
    "width",
    "height"
  ],
  "properties": {
    "width": {
      "type": "integer",
      "minimum": 1
    },
    "height": {
      "type": "integer",
      "minimum": 1
    }
  },
  "description": "The width:height ratio of the image, in pixels."
}
effectStep object

One effect in the recipe: its key and the parameters it was applied with.

Properties

params string Optional

The effect's parameters, JSON-encoded. A string rather than an object because the atproto data model has no float type and effect parameters are fractional. Records saved before v4 carry a plain object here instead.

maxLength: 10000 bytes
type string Required

The effect key.

maxLength: 128 bytes
View raw schema
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "maxLength": 128,
      "description": "The effect key."
    },
    "params": {
      "type": "string",
      "maxLength": 10000,
      "description": "The effect's parameters, JSON-encoded. A string rather than an object because the atproto data model has no float type and effect parameters are fractional. Records saved before v4 carry a plain object here instead."
    }
  },
  "description": "One effect in the recipe: its key and the parameters it was applied with."
}

Lexicon Garden

@