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

# Améliorer la résolution d’une vidéo Runway

> Améliorez la résolution d’une vidéo via CometAPI avec Magnific, en choisissant une résolution de sortie de 720p à 4k et des contrôles de détail facultatifs.

Utilisez `magnific_video_upscaler_creative` pour améliorer la résolution d’une vidéo source. La requête
renvoie un `id` de tâche permettant de récupérer la sortie terminée.

## Préparer la requête

* Authentifiez-vous avec votre clé API CometAPI.
* Définissez `model` sur `magnific_video_upscaler_creative` et fournissez `videoUri`
  pour une vidéo d’une durée maximale de 30 secondes.
* Remplacez l’URL de vidéo d’exemple par une URL HTTPS accessible. `videoUri`
  accepte également un URI de données vidéo Base64 d’une taille encodée maximale de 5 Mo.
* Choisissez `resolution` : `720p`, `1k`, `2k` ou `4k`. Omettez le champ pour `2k`.

## Ajuster l’amélioration

| Champ        | Utilisation                                                                                          |
| ------------ | ---------------------------------------------------------------------------------------------------- |
| `creativity` | Quantité de détails générés à ajouter, de `1` à `100`.                                               |
| `sharpen`    | Intensité de la netteté, de `1` à `100`.                                                             |
| `smartGrain` | Intensité de l’amélioration du grain et de la texture, de `1` à `100`.                               |
| `flavor`     | `vivid` met l’accent sur les couleurs et les détails ; `natural` privilégie une reproduction fidèle. |
| `fpsBoost`   | Définissez `true` pour demander une fréquence d’images de sortie plus élevée.                        |

Omettez un contrôle numérique pour utiliser la valeur par défaut du modèle. Une valeur de `0` est considérée
comme une omission ; elle ne sélectionne donc pas explicitement une intensité nulle. De même,
`fpsBoost: false` est considéré comme une omission et ne désactive pas explicitement
l’amélioration de la fréquence d’images. Omettez plutôt les champs facultatifs que d’envoyer `null`.

## Récupérer le résultat

Enregistrez le `id` renvoyé et utilisez
[Obtenir une tâche Runway](./runway-to-get-task-details) pour récupérer l’état de la tâche.
Lorsque `status` est `SUCCEEDED`, lisez les URL des résultats dans `output`. Si la tâche
échoue, examinez `failure` et `failureCode` lorsqu’ils sont présents.


## OpenAPI

````yaml api/openapi/video/runway/official-format/post-upscale-a-video.openapi.json POST /runwayml/v1/video_upscale
openapi: 3.1.0
info:
  title: Upscale a Runway video
  version: 1.0.0
  description: Create an asynchronous Runway task through CometAPI.
servers:
  - url: https://api.cometapi.com
security:
  - bearerAuth: []
paths:
  /runwayml/v1/video_upscale:
    post:
      summary: Upscale a Runway video
      description: >-
        Submit the request and save the returned id. Retrieve task details to
        read the status and output URLs.
      operationId: upscale_a_video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Magnific video-upscaling request.
              properties:
                model:
                  type: string
                  description: Model ID for this request.
                  enum:
                    - magnific_video_upscaler_creative
                videoUri:
                  description: >-
                    Video to upscale, with a maximum duration of 30 seconds. Use
                    an accessible HTTPS URL or a Base64 data URI with an encoded
                    size of up to 5 MB.
                  oneOf:
                    - type: string
                      description: Accessible HTTPS URL of the video.
                      pattern: ^https://
                      maxLength: 2048
                      minLength: 13
                    - type: string
                      description: Base64-encoded video, including its data URI prefix.
                      pattern: ^data:video/[^;]+;base64,
                      maxLength: 5242880
                      minLength: 13
                resolution:
                  type: string
                  description: Target output resolution. Omit for 2k.
                  enum:
                    - 720p
                    - 1k
                    - 2k
                    - 4k
                creativity:
                  type: integer
                  description: >-
                    Amount of generated detail to add. Use 1 through 100 for an
                    explicit setting. Omit to use the model default; 0 is
                    treated as omission.
                  minimum: 0
                  maximum: 100
                sharpen:
                  type: integer
                  description: >-
                    Sharpness intensity. Use 1 through 100 for an explicit
                    setting. Omit to use the model default; 0 is treated as
                    omission.
                  minimum: 0
                  maximum: 100
                smartGrain:
                  type: integer
                  description: >-
                    Grain and texture enhancement intensity. Use 1 through 100
                    for an explicit setting. Omit to use the model default; 0 is
                    treated as omission.
                  minimum: 0
                  maximum: 100
                flavor:
                  type: string
                  description: >-
                    Processing style: vivid emphasizes color and detail; natural
                    favors faithful reproduction.
                  enum:
                    - vivid
                    - natural
                fpsBoost:
                  type: boolean
                  description: >-
                    Set true to request an increased output frame rate. Omit to
                    leave this option unspecified; false is treated as omission.
              required:
                - model
                - videoUri
              additionalProperties: false
            example:
              model: magnific_video_upscaler_creative
              videoUri: https://example.com/source-video.mp4
              resolution: 2k
      responses:
        '200':
          description: The task was created. Save its id for task retrieval.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Task ID for GET /runwayml/v1/tasks/{id}.
                  status:
                    type: string
                    description: Task state, when returned.
                  createdAt:
                    type: string
                    description: Task submission timestamp, when returned.
                    format: date-time
                  output:
                    type: array
                    description: Result URLs, when returned.
                    items:
                      type: string
                      format: uri
                  failure:
                    type: string
                    description: Failure explanation, when returned.
                  failureCode:
                    type: string
                    description: Machine-readable failure code, when returned.
                  estimatedCost:
                    type: object
                    description: Task estimate metadata, when returned.
                    properties:
                      credits:
                        type: integer
                        description: Credit value reported with the task.
                    required:
                      - credits
                    additionalProperties: false
                  cost:
                    type: object
                    description: Task cost metadata, when returned.
                    properties:
                      credits:
                        type: integer
                        description: Credit value reported with the task.
                    required:
                      - credits
                    additionalProperties: false
                required:
                  - id
                additionalProperties: false
              example:
                id: 00000000-0000-4000-8000-000000000000
        '400':
          description: Invalid request or unavailable task ID.
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    description: Task request error.
                    properties:
                      code:
                        type:
                          - string
                          - integer
                        description: Machine-readable task error code.
                      message:
                        type: string
                        description: Error explanation.
                      data:
                        description: Additional error details, when returned.
                    required:
                      - code
                      - message
                    additionalProperties: true
                  - type: object
                    description: Request authentication or validation error.
                    properties:
                      error:
                        type: object
                        description: Error details.
                        properties:
                          message:
                            type: string
                            description: Error explanation.
                          type:
                            type: string
                            description: Error category.
                          code:
                            type:
                              - string
                              - integer
                              - 'null'
                            description: Error code, when returned.
                        required:
                          - message
                        additionalProperties: true
                    required:
                      - error
                    additionalProperties: true
        '401':
          description: Authentication failed.
          content:
            application/json:
              schema:
                type: object
                description: Request authentication or validation error.
                properties:
                  error:
                    type: object
                    description: Error details.
                    properties:
                      message:
                        type: string
                        description: Error explanation.
                      type:
                        type: string
                        description: Error category.
                      code:
                        type:
                          - string
                          - integer
                          - 'null'
                        description: Error code, when returned.
                    required:
                      - message
                    additionalProperties: true
                required:
                  - error
                additionalProperties: true
      x-codeSamples:
        - lang: Shell
          source: |-
            curl --request POST \
              --url https://api.cometapi.com/runwayml/v1/video_upscale \
              --header "Authorization: Bearer $COMETAPI_KEY" \
              --header "Content-Type: application/json" \
              --data '{
              "model": "magnific_video_upscaler_creative",
              "videoUri": "https://example.com/source-video.mp4",
              "resolution": "2k"
            }'
        - lang: Python
          source: |-
            import os
            import requests

            response = requests.post(
                "https://api.cometapi.com/runwayml/v1/video_upscale",
                headers={"Authorization": f"Bearer {os.environ['COMETAPI_KEY']}"},
                json={
                  "model": "magnific_video_upscaler_creative",
                  "videoUri": "https://example.com/source-video.mp4",
                  "resolution": "2k"
                },
            )
            response.raise_for_status()
            print(response.json())
        - lang: JavaScript
          source: |-
            const response = await fetch(
              "https://api.cometapi.com/runwayml/v1/video_upscale",
              {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
                  "Content-Type": "application/json",
                },
                body: JSON.stringify({
                  "model": "magnific_video_upscaler_creative",
                  "videoUri": "https://example.com/source-video.mp4",
                  "resolution": "2k"
                }),
              },
            );
            if (!response.ok) throw new Error(await response.text());
            console.log(await response.json());
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Your CometAPI API key.

````