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

# Generate app logo

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Generates a logo image for the app from a text description and returns its URL.

Describe the logo you want in `prompt`. An AI model turns it into a prompt for a flat app icon, and an image model draws it. The call returns once the image is ready, which usually takes several seconds.

Generating doesn't change the app's logo. The image is saved with the app's files. To use it, send its `logo_url` to [Set app logo](/api-reference/set-app-logo).

Generating a logo is limited to 10 requests an hour per app. Some workspaces have a different limit. Every logo generated for the app counts toward the same limit, including ones generated in the builder, and a request counts even when generation fails.

<Note>This endpoint accepts a personal API key belonging to a user with editor access to the app. A read-only key is refused, and workspace API keys are not accepted.</Note>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json post /api/apps/{app_id}/metadata/generate-logo
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/metadata/generate-logo:
    post:
      summary: Generate app logo
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Generates a logo image for the app from a text description and returns
        its URL.


        Describe the logo you want in `prompt`. An AI model turns it into a
        prompt for a flat app icon, and an image model draws it. The call
        returns once the image is ready, which usually takes several seconds.


        Generating doesn't change the app's logo. The image is saved with the
        app's files. To use it, send its `logo_url` to [Set app
        logo](/api-reference/set-app-logo).


        Generating a logo is limited to 10 requests an hour per app. Some
        workspaces have a different limit. Every logo generated for the app
        counts toward the same limit, including ones generated in the builder,
        and a request counts even when generation fails.


        <Note>This endpoint accepts a personal API key belonging to a user with
        editor access to the app. A read-only key is refused, and workspace API
        keys are not accepted.</Note>
      operationId: generate_logo_url_api_apps__app_id__metadata_generate_logo_post
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app to generate a logo for.
            title: App Id
          description: ID of the app to generate a logo for.
          example: 6820f3a4e7b91d003c45a1f2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              title: GenerateAppLogo
              required:
                - prompt
              properties:
                prompt:
                  type: string
                  description: Description of the logo you want, in your own words.
                  example: A wooden chair on a warm orange background
            example:
              prompt: A wooden chair on a warm orange background
      responses:
        '200':
          description: The generated logo.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogoUrlResponse'
        '400':
          description: >-
            `prompt` is missing, or the image model declined to draw it. Try a
            different description.
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have editor access to this app, or your API key is
            read-only.
        '404':
          description: App not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '429':
          description: Rate limit reached. Retry later.
components:
  schemas:
    LogoUrlResponse:
      properties:
        logo_url:
          type: string
          title: Logo Url
          description: Public URL of the generated logo image.
          example: >-
            https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png
      type: object
      required:
        - logo_url
      title: LogoUrlResponse
      description: A newly generated logo image.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````