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

# Generate a batch now

> Runs synchronously and returns the audited batch. About 15 seconds per ad with 8 rendered in parallel, so a 30-ad batch takes roughly 8 minutes; keep the connection open (the server allows 30). Each ad is rendered from a winning reference, audited for spelling and truthful claims, and re-rendered once if the audit finds something. Counts against the 14-day allowance of 30 ads per language (Global plans get a separate 30 for each enabled market), shared with the scheduled batch. One generation at a time per account.



## OpenAPI

````yaml /api-reference/openapi.yaml post /batches
openapi: 3.1.0
info:
  title: appstatic API
  version: '1.0'
  description: >-
    Generate audited Meta static ads for your app and push them to your ad
    account.
servers:
  - url: https://www.appstatic.io/api/v1
security:
  - bearerAuth: []
paths:
  /batches:
    post:
      summary: Generate a batch now
      description: >-
        Runs synchronously and returns the audited batch. About 15 seconds per
        ad with 8 rendered in parallel, so a 30-ad batch takes roughly 8
        minutes; keep the connection open (the server allows 30). Each ad is
        rendered from a winning reference, audited for spelling and truthful
        claims, and re-rendered once if the audit finds something. Counts
        against the 14-day allowance of 30 ads per language (Global plans get a
        separate 30 for each enabled market), shared with the scheduled batch.
        One generation at a time per account.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                count:
                  type: integer
                  minimum: 1
                  maximum: 30
                  description: Defaults to the plan's batch size (30)
                market:
                  type: string
                  enum:
                    - US
                    - GB
                    - DE
                    - FR
                    - JP
                    - KR
                    - BR
                    - SE
                    - ES
                    - IT
                    - PL
                  description: Global plan only for non-US
      responses:
        '200':
          description: The finished batch with ads
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Batch'
                  - type: object
                    properties:
                      ads:
                        type: array
                        items:
                          $ref: '#/components/schemas/Ad'
        '402':
          description: Plan required
        '429':
          description: Monthly allowance reached
components:
  schemas:
    Batch:
      type: object
      properties:
        id:
          type: string
          format: uuid
        market:
          type: string
          example: US
        status:
          type: string
          enum:
            - pending
            - generating
            - auditing
            - fixing
            - packaging
            - delivered
            - failed
        targetCount:
          type: integer
        createdAt:
          type: string
          format: date-time
        deliveredAt:
          type: string
          format: date-time
          nullable: true
        metaCampaignId:
          type: string
          nullable: true
        url:
          type: string
    Ad:
      type: object
      properties:
        id:
          type: string
          format: uuid
        imageUrl:
          type: string
        treatment:
          type: string
          enum:
            - faithful
            - minimal
        market:
          type: string
        status:
          type: string
        copyVariants:
          type: array
          items:
            type: object
            properties:
              primaryText:
                type: string
              headline:
                type: string
              cta:
                type: string
        concept:
          type: object
          nullable: true
          properties:
            slug:
              type: string
            hook:
              type: string
            visualStyle:
              type: string
            referenceBrand:
              type: string
              nullable: true
            daysRunning:
              type: integer
            euReach:
              type: integer
              nullable: true
        metaAdId:
          type: string
          nullable: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key from Settings → API & agents (as_live_…)

````