Buscar en MotionVideo

Buscar vídeos, creadores, herramientas, creativos…

Get the catalog

Every gallery video with its prompt or skill, creator, model, stack, effort, colours and media URLs, plus the videos removed as duplicates.

GEThttps://motionvideo.xyz/api/catalog

Parámetros

  • If-None-MatchstringheaderOpcional

    The ETag of an earlier response. If it is still current, the response is a 304 with no body. Send the value exactly as received (one quoted value): lists, weak W/ validators and * always get a full response.

Ejemplo de solicitud

curl -X GET 'https://motionvideo.xyz/api/catalog'

Respuestas

200

The motion video catalog.

Cabeceras

  • ETagstring

    Quoted SHA-256 hex digest of the response body. Changes whenever the data does.

  • Cache-Controlstring

    Browsers reuse a response for 5 minutes and shared caches for an hour, then may serve it stale for up to a day while they revalidate.

    Valores:public, max-age=300, s-maxage=3600, stale-while-revalidate=86400

Cuerpo de la respuestaapplication/json

  • importedAtstringdate-timeObligatorio

    When the catalog was last imported.

  • videosMotionVideo[]Obligatorio

    Every gallery video, in catalog order.

    Mostrar campos
    • slugstringObligatorio

      Stable ID: the creator's handle and a short hash. The video's page is /videos/{slug} under a locale, e.g. /en/videos/{slug}.

    • titlestringObligatorio
    • datestringdateObligatorio

      When the creator posted it (YYYY-MM-DD).

    • tagsstring[]Obligatorio

      What it shares to remake it: a prompt, a skill, or both.

      Valores:promptskill

    • contentTagsstring[]Obligatorio

      Gallery categories, at least one.

      Valores:product-uiphonechartsdiagramskinetic-typeshapesparticlescharactersphotosmusiccode

    • promptSharedbooleanObligatorio

      Whether the creator shared the prompt.

    • handlestringObligatorio

      The creator's X handle, without @.

    • creatorNamestring

      The creator's display name on X, when known.

    • avatarstringuriObligatorio

      The creator's avatar (WebP).

    • posterstringuriObligatorio

      Poster image (WebP).

    • blurstring

      A tiny version of the poster as a data: URI, to show while media loads.

    • previewstringuriObligatorio

      Small looping preview (MP4).

    • videostringuriObligatorio

      The full video (MP4).

    • widthintegerObligatorio

      Video width in pixels.

    • heightintegerObligatorio

      Video height in pixels.

    • promptstring

      The prompt the creator used, when shared.

    • skillUrlstringuri

      The agent skill the video was made with.

    • skillInstallstring

      The command that installs the skill, e.g. npx skills add ….

    • tweetUrlstringuri

      The source post on X.

    • descriptionstring
    • modelstring

      The model it was made with, as the creator reported it.

      Valores:Opus 5.5Fable 5.5Gemini 4 ArgonGPT-6 Astra

    • stackstring

      What rendered it, as the creator reported it, e.g. Remotion or HTML + Playwright.

    • effortstring

      The reasoning effort the model ran at.

      Valores:mediumhighmax

    • iterationsstring

      How many rounds of feedback it took.

      Valores:one-shotfew-roundsmany-rounds

    • colorsstring[]

      Dominant colours as hex without #, the largest share of the frame first.

  • removedRemovedVideo[]Obligatorio

    Videos removed as duplicates. Their old page URLs redirect to the video they duplicated.

    Mostrar campos
    • slugstringObligatorio

      The removed video's slug.

    • duplicateOfstringObligatorio

      Slug of the video it duplicated (which may itself be removed later).

    • tweetUrlstringuriObligatorio

Ejemplo

{
  "importedAt": "2026-10-24T21:04:06.396Z",
  "videos": [
    {
      "slug": "stephanlivera-df17a2",
      "title": "Claude motion designer showreel",
      "date": "2026-09-25",
      "tags": [
        "prompt"
      ],
      "contentTags": [
        "kinetic-type",
        "shapes",
        "music"
      ],
      "promptShared": true,
      "handle": "stephanlivera",
      "prompt": "make a dynamic 15-second motion graphics video that shows what an incredible motion designer you are, like it's your showreel for a résumé. go all out.",
      "avatar": "https://assets.motionvideo.xyz/avatars/stephanlivera-b812a8857d.webp",
      "poster": "https://assets.motionvideo.xyz/motion/stephanlivera-df17a2/poster-f2e1162434.webp",
      "blur": "data:image/webp;base64,UklGRjwAAABXRUJQVlA4IDAAAAAwAQCdASoQAAkAAoBCJZwAA3AA/vhFoHeXAMvl50Xzx1TOS+ixn4fsDcDIAjAsAAA=",
      "preview": "https://assets.motionvideo.xyz/motion/stephanlivera-df17a2/preview-b43ead41b8.mp4",
      "video": "https://assets.motionvideo.xyz/motion/stephanlivera-df17a2/video-5f45198f0d.mp4",
      "width": 1920,
      "height": 1080,
      "tweetUrl": "https://x.com/stephanlivera/status/2103315922098470926",
      "model": "Opus 5.5",
      "effort": "max",
      "creatorName": "Stephan Livera",
      "colors": [
        "0d0d10",
        "ed4938",
        "8b0703"
      ]
    }
  ],
  "removed": [
    {
      "slug": "rossaxbt-94583b",
      "duplicateOf": "rossaxbt-4e066d",
      "tweetUrl": "https://x.com/rossaxbt/status/2108933141406638456"
    }
  ]
}

304

Not modified: If-None-Match matched the current ETag. No body; reuse the copy you have.

Cabeceras

  • ETagstring

    Quoted SHA-256 hex digest of the response body. Changes whenever the data does.