# Framalab ## Docs - [Authentication](https://framalabdocs.dcmxstudio.com/concepts/authentication.md): How gallery tokens work and how to manage them. - [Error Handling](https://framalabdocs.dcmxstudio.com/concepts/error-handling.md): Handle SDK errors using the FramalabError class. - [Photo Versions](https://framalabdocs.dcmxstudio.com/concepts/photo-versions.md): The three pre-generated WebP versions available for every approved photo. - [Astro](https://framalabdocs.dcmxstudio.com/examples/astro.md): Build a fully static gallery with Astro — everything fetched at build time. - [Next.js App Router](https://framalabdocs.dcmxstudio.com/examples/nextjs.md): Full gallery implementation with Next.js 14+ Server Components. - [Introduction](https://framalabdocs.dcmxstudio.com/get-started/introduction.md): Framalab SDK gives you typed, zero-dependency access to a project's approved photos so you can build any gallery frontend you want. - [Quickstart](https://framalabdocs.dcmxstudio.com/get-started/quickstart.md): Fetch your first photo in under 5 minutes. - [Create Framalab client](https://framalabdocs.dcmxstudio.com/sdk/create-framalab-client.md): Initialize the SDK client with your gallery token and panel URL. - [Get collections](https://framalabdocs.dcmxstudio.com/sdk/get-collections.md): List all collections, or fetch a single collection with its photos. - [Get media URL](https://framalabdocs.dcmxstudio.com/sdk/get-media-url.md): Build a URL for a photo with custom transformations: resize, format, and quality. - [Get photos](https://framalabdocs.dcmxstudio.com/sdk/get-photos.md): Fetch all approved photos in the project. - [Get project](https://framalabdocs.dcmxstudio.com/sdk/get-project.md): Fetch metadata about the project associated with your gallery token.