> ## Documentation Index
> Fetch the complete documentation index at: https://faces.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Récupérer une diapositive

> Lisez les fichiers source d'une diapositive.



## OpenAPI

````yaml GET /projects/{slug}/slides/{slideId}
openapi: 3.1.0
info:
  title: Faces API
  version: '1.0'
  description: >-
    Faces API for creating and managing presentations. Generate presentations
    from prompts, or read and write individual slides. Each slide is a React
    component (face.tsx) with content blocks (face.content.json) and editor
    controls (face.controls.json).
servers:
  - url: https://faces.app/api/v1
    description: API v1
security:
  - bearerAuth: []
paths:
  /projects/{slug}/slides/{slideId}:
    get:
      tags:
        - Slides
      summary: Get slide source files
      description: >-
        Read a slide's source code and configuration. Returns face.tsx,
        face.content.json, and face.controls.json.
      operationId: getSlide
      parameters:
        - schema:
            type: string
          required: true
          name: slug
          in: path
        - schema:
            type: string
            description: The slide ID from listSlides.
          required: true
          name: slideId
          in: path
      responses:
        '200':
          description: Slide files
          content:
            application/json:
              schema:
                type: object
                properties:
                  slideId:
                    type: string
                  name:
                    type: string
                  files:
                    type: object
                    properties:
                      face.tsx:
                        type: string
                        description: >-
                          React component. Must default-export a component with
                          w-full h-full outer div. MUST import content/controls
                          from sibling JSON files. Can import any npm package
                          (auto-resolved). Use Tailwind CSS and container
                          queries for desktop sizing per the slide authoring
                          guide. Base/mobile typography must fit the 9:16
                          canvas; use moderate mobile headings and scale up
                          behind the project's desktop container breakpoint for
                          presentation sizes. Google Fonts via: import { Inter }
                          from 'next/font/google'. Custom CSS via: import
                          './face.css'.
                      face.content.json:
                        type: string
                        description: >-
                          Editable content blocks. ALL visible text must go here
                          — never hardcode text in face.tsx. Structure: {
                          "blocks": { "key": { "type":
                          "text"|"image"|"icon"|"table", ... } } }. Text: {
                          "type": "text", "content": "HTML" } rendered with
                          <TextContent>. Image: { "type": "image", "src": "url"
                          }. Icon: { "type": "icon", "name": "lucide-icon-name"
                          } rendered with <Icon>. Table: { "type": "table",
                          "columns": [...], "rows": [...] }.
                      face.controls.json:
                        type: string
                        description: >-
                          Editor controls. Always add controls for sizes,
                          spacing, visibility, layout. Structure: { "controls":
                          { "key": { "type": "slider"|"switch"|"selector", ... }
                          } }. Slider: { "type": "slider", "min": 0, "max": 100,
                          "step": 1, "value": 50 }. Switch: { "type": "switch",
                          "value": true }. Selector: { "type": "selector",
                          "options": ["A", "B"], "value": "A" }. Access:
                          controls.key?.value ?? default.
                    description: Slide source files. Only include files you want to update.
                required:
                  - slideId
                  - name
                  - files
        '404':
          description: Project or slide not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
        hint:
          type: string
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key with "faces_" prefix. Create one at Settings > Developers.

````