> ## 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.

# Opprett en Runway-karakteropptreden

> Opprett en Runway Act-Two-oppgave for karakteropptreden via CometAPI ved å bruke et karakterbilde eller en video og et referanseklipp med opptreden.

Bruk `act_two` til å overføre opptredenen fra en referansevideo til et karakterbilde
eller en video. Forespørselen returnerer en oppgave-`id` for å hente det ferdige resultatet.

## Forbered ressursene

* Autentiser med CometAPI API-nøkkelen din.
* Angi `model` til `act_two`.
* Oppgi `character.type` som `image` eller `video`, med ressursen i
  `character.uri`. Sørg for at et gjenkjennelig ansikt er synlig og innenfor rammen.
* Oppgi `reference.type` som `video`, med et opptredensklipp på 3 til 30
  sekunder i `reference.uri`.
* Erstatt eksempel-URL-ene for medier med tilgjengelige HTTPS-URL-er. Mediefeltene
  godtar også Base64-data-URI-er med en kodet størrelse på opptil 5 MB.

## Konfigurer opptredenen

Bare `model`, `character` og `reference` er påkrevd.

| Felt                                      | Slik bruker du det                                                                                                                |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `bodyControl`                             | Angi `true` for å be om kroppsbevegelser og gester i tillegg til ansiktsuttrykk. Utelat for å la innstillingen være uspesifisert. |
| `expressionIntensity`                     | Bruk `1` til `5`; høyere verdier ber om sterkere uttrykk. Utelat for `3`.                                                         |
| `seed`                                    | Bruk `1` til `4294967295` for en eksplisitt sampling seed. Utelat for en tilfeldig seed.                                          |
| `contentModeration.publicFigureThreshold` | Bruk `auto` for standard deteksjon av offentlige personer eller `low` for mindre restriktiv deteksjon.                            |

`bodyControl: false` behandles som utelatelse, så det eksplisitt ikke
deaktiverer kroppskontroll. En `seed` eller `expressionIntensity` med verdien `0` behandles også
som utelatelse. Utelat valgfrie felt i stedet for å sende `null`.

Valgfrie verdier for `ratio` er `1280:720`,
`720:1280`, `960:960`, `1104:832`, `832:1104`, eller `1584:672`.

## Hent resultatet

Lagre den returnerte `id` og bruk
[Hent en Runway-oppgave](./runway-to-get-task-details) for å hente oppgavestatusen.
Når `status` er `SUCCEEDED`, leser du resultat-URL-ene fra `output`. Hvis oppgaven
mislykkes, undersøker du `failure` og `failureCode` når de finnes.


## OpenAPI

````yaml api/openapi/video/runway/official-format/post-control-a-character.openapi.json POST /runwayml/v1/character_performance
openapi: 3.1.0
info:
  title: Create a Runway character performance
  version: 1.0.0
  description: Create an asynchronous Runway task through CometAPI.
servers:
  - url: https://api.cometapi.com
security:
  - bearerAuth: []
paths:
  /runwayml/v1/character_performance:
    post:
      summary: Create a Runway character performance
      description: >-
        Submit the request and save the returned id. Retrieve task details to
        read the status and output URLs.
      operationId: control_a_character
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Act-Two character-performance request.
              properties:
                model:
                  type: string
                  description: Model ID for this request.
                  enum:
                    - act_two
                character:
                  description: >-
                    Character image or video to animate. Keep a recognizable
                    face visible and inside the frame.
                  oneOf:
                    - type: object
                      description: Character image to animate.
                      properties:
                        type:
                          type: string
                          description: Media type of the character asset.
                          enum:
                            - image
                        uri:
                          description: >-
                            Character asset. Keep a recognizable face visible
                            and inside the frame. 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 image.
                              pattern: ^https://
                              maxLength: 2048
                              minLength: 13
                            - type: string
                              description: >-
                                Base64-encoded image, including its data URI
                                prefix.
                              pattern: ^data:image/[^;]+;base64,
                              maxLength: 5242880
                              minLength: 13
                      required:
                        - type
                        - uri
                      additionalProperties: false
                    - type: object
                      description: Character video to animate.
                      properties:
                        type:
                          type: string
                          description: Media type of the character asset.
                          enum:
                            - video
                        uri:
                          description: >-
                            Character asset. Keep a recognizable face visible
                            and inside the frame. 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
                      required:
                        - type
                        - uri
                      additionalProperties: false
                reference:
                  type: object
                  description: >-
                    Reference video containing the performance to apply. The
                    video must be 3 to 30 seconds long.
                  properties:
                    type:
                      type: string
                      description: Media type of the performance reference.
                      enum:
                        - video
                    uri:
                      description: >-
                        Performance reference video, 3 to 30 seconds long. 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
                  required:
                    - type
                    - uri
                  additionalProperties: false
                bodyControl:
                  type: boolean
                  description: >-
                    Set true to request body movements and gestures in addition
                    to facial expressions. Omit to leave this option
                    unspecified; false is treated as omission.
                expressionIntensity:
                  type: integer
                  description: >-
                    Expression intensity from 1 through 5. Higher values request
                    stronger expressions. Omit for 3; 0 is treated as omission.
                  minimum: 0
                  maximum: 5
                seed:
                  type: integer
                  description: >-
                    Sampling seed. Omit for a random seed; 0 is treated as
                    omission.
                  minimum: 0
                  maximum: 4294967295
                ratio:
                  type: string
                  description: Optional requested frame dimensions.
                  enum:
                    - '1280:720'
                    - '720:1280'
                    - '960:960'
                    - '1104:832'
                    - '832:1104'
                    - '1584:672'
                contentModeration:
                  type: object
                  description: >-
                    Content moderation settings. Omit to use the standard
                    settings.
                  properties:
                    publicFigureThreshold:
                      type: string
                      description: >-
                        Public-figure detection threshold. Use auto for standard
                        detection or low for less restrictive detection.
                      enum:
                        - auto
                        - low
                  required:
                    - publicFigureThreshold
                  additionalProperties: false
              required:
                - model
                - character
                - reference
              additionalProperties: false
            example:
              model: act_two
              character:
                type: image
                uri: https://example.com/character.jpg
              reference:
                type: video
                uri: https://example.com/performance.mp4
              bodyControl: true
              expressionIntensity: 3
      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/character_performance \
              --header "Authorization: Bearer $COMETAPI_KEY" \
              --header "Content-Type: application/json" \
              --data '{
              "model": "act_two",
              "character": {
                "type": "image",
                "uri": "https://example.com/character.jpg"
              },
              "reference": {
                "type": "video",
                "uri": "https://example.com/performance.mp4"
              },
              "bodyControl": true,
              "expressionIntensity": 3
            }'
        - lang: Python
          source: |-
            import os
            import requests

            response = requests.post(
                "https://api.cometapi.com/runwayml/v1/character_performance",
                headers={"Authorization": f"Bearer {os.environ['COMETAPI_KEY']}"},
                json={
                  "model": "act_two",
                  "character": {
                    "type": "image",
                    "uri": "https://example.com/character.jpg"
                  },
                  "reference": {
                    "type": "video",
                    "uri": "https://example.com/performance.mp4"
                  },
                  "bodyControl": True,
                  "expressionIntensity": 3
                },
            )
            response.raise_for_status()
            print(response.json())
        - lang: JavaScript
          source: |-
            const response = await fetch(
              "https://api.cometapi.com/runwayml/v1/character_performance",
              {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
                  "Content-Type": "application/json",
                },
                body: JSON.stringify({
                  "model": "act_two",
                  "character": {
                    "type": "image",
                    "uri": "https://example.com/character.jpg"
                  },
                  "reference": {
                    "type": "video",
                    "uri": "https://example.com/performance.mp4"
                  },
                  "bodyControl": true,
                  "expressionIntensity": 3
                }),
              },
            );
            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.

````