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

# Create Image Variation



## OpenAPI

````yaml post /images/variations
openapi: 3.0.0
info:
  title: Obiguard API
  description: >-
    The Obiguard REST API. Please see
    https://docs.obiguard.ai/docs/api-reference for more details.
  version: 1.0.0
  termsOfService: https://obiguard.ai/terms
servers:
  - url: https://gateway.obiguard.ai/v1
security: []
tags:
  - name: Audio
    description: Turn audio into text or text into audio.
  - name: Chat
    description: >-
      Given a list of messages comprising a conversation, the model will return
      a response.
  - name: Completions
    description: >-
      Given a prompt, the model will return one or more predicted completions,
      and can also return the probabilities of alternative tokens at each
      position.
  - name: Embeddings
    description: >-
      Get a vector representation of a given input that can be easily consumed
      by machine learning models and algorithms.
  - name: Fine-tuning
    description: Manage fine-tuning jobs to tailor a model to your specific training data.
  - name: Files
    description: >-
      Files are used to upload documents that can be used with features like
      Assistants and Fine-tuning.
  - name: Images
    description: Given a prompt and/or an input image, the model will generate a new image.
paths:
  /images/variations:
    post:
      tags:
        - Images
      summary: Creates Image Variation
      operationId: createImageVariation
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateImageVariationRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesResponse'
      security:
        - Obiguard-API-Key: []
      servers:
        - url: https://gateway.obiguard.ai/v1
      x-code-samples:
        - lang: curl
          label: Default
          source: |
            curl https://gateway.obiguard.ai/v1/images/variations \
              -H "x-obiguard-api-key: $OBIGUARD_API_KEY" \
              -F image="@otter.png" \
              -F n=2 \
              -F size="1024x1024"
        - lang: python
          label: Default
          source: |
            from obiguard import Obiguard

            client = Obiguard(
              obiguard_api_key="vk-obg***",  # Your Obiguard virtual key
              
            )

            response = client.images.create_variation(
              image=open("image_edit_original.png", "rb"),
              n=2,
              size="1024x1024"
            )
components:
  schemas:
    CreateImageVariationRequest:
      type: object
      properties:
        image:
          description: >-
            The image to use as the basis for the variation(s). Must be a valid
            PNG file, less than 4MB, and square.
          type: string
          format: binary
        model:
          anyOf:
            - type: string
            - type: string
              enum:
                - dall-e-2
          x-oaiTypeLabel: string
          default: dall-e-2
          example: dall-e-2
          nullable: true
          description: >-
            The model to use for image generation. Only `dall-e-2` is supported
            at this time.
        'n':
          type: integer
          minimum: 1
          maximum: 10
          default: 1
          example: 1
          nullable: true
          description: >-
            The number of images to generate. Must be between 1 and 10. For
            `dall-e-3`, only `n=1` is supported.
        response_format:
          type: string
          enum:
            - url
            - b64_json
          default: url
          example: url
          nullable: true
          description: >-
            The format in which the generated images are returned. Must be one
            of `url` or `b64_json`. URLs are only valid for 60 minutes after the
            image has been generated.
        size:
          type: string
          enum:
            - 256x256
            - 512x512
            - 1024x1024
          default: 1024x1024
          example: 1024x1024
          nullable: true
          description: >-
            The size of the generated images. Must be one of `256x256`,
            `512x512`, or `1024x1024`.
        user:
          type: string
          example: user-1234
          description: >
            A unique identifier representing your end-user, which can help
            OpenAI to monitor and detect abuse. [Learn
            more](https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids).
      required:
        - image
    ImagesResponse:
      properties:
        created:
          type: integer
        data:
          type: array
          items:
            $ref: '#/components/schemas/Image'
      required:
        - created
        - data
    Image:
      type: object
      description: >-
        Represents the url or the content of an image generated by the Obiguard
        API.
      properties:
        b64_json:
          type: string
          description: >-
            The base64-encoded JSON of the generated image, if `response_format`
            is `b64_json`.
        url:
          type: string
          description: >-
            The URL of the generated image, if `response_format` is `url`
            (default).
        revised_prompt:
          type: string
          description: >-
            The prompt that was used to generate the image, if there was any
            revision to the prompt.
      x-code-samples:
        name: The image object
        example: |
          {
            "url": "...",
            "revised_prompt": "..."
          }
  securitySchemes:
    Obiguard-API-Key:
      type: apiKey
      in: header
      name: x-obiguard-api-key

````