Udforsk
Billede
Video
Avatar
Lyd
Rediger
Værktøjer
Fashion StudioAppsArbejdsgange
Ressourcer
Priser-25%
Arteza

Studiet til alt, du laver. Et arbejdsrum, hver model.

Læs vores anmeldelser på Trustpilot

Opret

  • Billede
  • Video
  • Avatar
  • Lyd
  • Rediger
  • Fashion Studio

Udforsk

  • Bibliotek
  • Apps
  • Modeller
  • Værktøjer
  • Looks
  • Eksempler
  • Sammenlign modeller
  • Værktøjsalternativer
  • AI-ordliste
  • Arbejdsgange
  • AI Pipeline-redigering
  • Hvad er nyt

Virksomhed

  • Om
  • Blog
  • Priser
  • Kontakt
  • Status
  • Præsenteret og anmeldt
  • Multi-model AI-chat

Juridisk

  • Privatlivspolitik
  • Vilkår
  • Licenser
  • Ubegrænset politik
Modeller fraByteDanceGoogleOpenAIBlack Forest LabsMiniMaxKuaishouAlibabaStability AI
© 2026 Arteza, Inc.
Tilgængelig på 31 sprog
enEnglishesEspañolfrFrançaisdeDeutschitItalianoptPortuguêsnlNederlandsplPolskisvSvenskadaDansknoNorskfiSuomija日本語ko한국어zh中文thไทยviTiếng ViệtidBahasa IndonesiamsBahasa MelayutlFilipinoarالعربيةheעבריתfaفارسیurاردوhiहिन्दीbnবাংলাtrTürkçeruРусскийukУкраїнськаroRomânăcsČeština
arteza.ai
HjemBilledeVideoBibliotekKonto
Hjem/Blog/OmniHuman v1.5 API: Programmatisk avatarvideogenerering
Product10. april 2026Arteza Team13 min læsning

OmniHuman v1.5 API: Programmatisk avatarvideogenerering

En udviklervejledning til OmniHuman v1.5 API på Arteza. Lær om endpointstruktur, autentificering, anmodningsparametre, responshåndtering, webhook-integration og bedste praksis til at bygge automatiserede avatarvideo-arbejdsgange.

OmniHuman v1.5 API: Programmatisk avatarvideogenerering

At køre OmniHuman v1.5 gennem Arteza-brugerfladen er perfekt til enkeltoprettelser. Til arbejdsgange med høj volumen, som personaliseret salgsopsøgning, flersprogede udrullninger, CMS-drevet videogenerering og automatiserede nyhedsdigest, vil du bruge API'et. Denne guide gennemgår godkendelse, endpoints, anmodningsstruktur, webhook-håndtering og produktionsmønstre. Hver generering koster de samme 3-72 credits ($0,30-$7,20), uanset om du bruger brugerfladen eller API'et.

TL;DR

TL;DR

  • Generer OmniHuman v1.5-videoer programmatisk via Arteza REST API'et
  • Samme $0,30-$7,20 pr. generering som brugerfladen, ingen API-tillægspris
  • Asynkron generering med webhook- eller polling-baseret resultathentering
  • Ideel til personaliserede salgsvideoer, automatiserede træningsbiblioteker og flersprogede udrullninger
  • Godkendelse via API-nøgle fra dit Arteza-dashboard

Hvorfor bruge API'et

API'et åbner for automatiseringsmønstre, som brugerfladen ikke kan matche:

  • Batch-generering. Kør 100+ videoer i en enkelt pipeline.
  • Dynamisk personalisering. Hent data fra et CRM og generer en video pr. emne.
  • Planlagte arbejdsgange. Daglige nyhedsdigest, ugentlige opsummeringsvideoer, udløste opdateringer.
  • Integration med eksisterende systemer. Node.js, Python, Go, Ruby, ethvert sprog med HTTP kan kalde det.
  • Reproducerbar produktion. Versionsstyrede scripts i stedet for manuelle klik i brugerfladen.

Hvis din use case involverer mere end 10 videoer med lignende struktur, er API'et værd at sætte op.

👤

Opret din AI-præsentant nu

Gør ét foto og én lydfil til en naturtro talende video. $7,20 pr. 30-sekunders video på planer fra $5 om måneden.

Prøv OmniHuman gratis
Prøv det selv- skriv en prompt og generer

5 gratis generationer · Intet kreditkort påkrævet

Godkendelse

Arteza API-anmodninger godkendes via en API-nøgle, der sendes i Authorization-headeren som et Bearer-token.

Sådan får du din API-nøgle

  1. Log ind på arteza.ai
  2. Gå til dine kontoindstillinger
  3. Find API-sektionen
  4. Generer en ny API-nøgle
  5. Opbevar den sikkert, behandl den som et kodeord

Commit aldrig din API-nøgle til kildekontrol. Brug miljøvariabler:

export SEEDANCE_API_KEY="your_api_key_here"

Godkendelses-header

Hver anmodning indeholder:

Authorization: Bearer YOUR_SEEDANCE_API_KEY
Content-Type: application/json

Endpoint-struktur

OmniHuman v1.5 API'et følger standard asynkrone genereringsmønstre:

  • POST for at oprette et genereringsjob
  • GET for at poll for status og resultater
  • Webhook til asynkron levering (anbefales til produktion)

Basis-URL

https://api.arteza.ai/v1

Vigtige endpoints

MetodeStiFormål
POST/omnihuman/generateIndsend et nyt genereringsjob
GET/jobs/{job_id}Poll for jobstatus og resultat
POST/webhooksKonfigurer webhook-endpoints

Se den aktuelle Arteza API-dokumentation for præcise endpoint-stier, da stier kan ændre sig.

Indsendelse af et genereringsjob

Anmodningsstruktur

{
  "model": "omnihuman-v1.5",
  "image_url": "https://example.com/portrait.jpg",
  "audio_url": "https://example.com/speech.mp3",
  "prompt": "Modern corporate office with soft natural lighting, medium close-up framing head and shoulders, professional broadcast style",
  "resolution": "1080p",
  "turbo_mode": false,
  "webhook_url": "https://yourapp.com/webhooks/seedance"
}

Parameterreference

ParameterTypePåkrævetBeskrivelse
modelstrengJaSkal være "omnihuman-v1.5"
image_urlstrengJaOffentligt tilgængeligt URL til referenceportræt
audio_urlstrengJaOffentligt tilgængeligt URL til lydfil
promptstrengJaScenebeskrivelse for baggrund, belysning og indramning
resolutionstrengNej"720p" eller "1080p" (standard: "720p")
turbo_modebooleskNejAktiver hurtigere generering (standard: false)
webhook_urlstrengNejURL til at modtage asynkron fuldførelsesbeskæftigelse

Krav til inputfiler

Billede:

  • Formater: JPEG, PNG
  • Opløsning: minimum 512x512, 1024x1024+ anbefalet
  • Tilgængeligt via offentligt HTTPS URL

Lyd:

  • Formater: MP3, WAV, M4A
  • Varighed: maks. 60 sekunder for 720p, maks. 30 sekunder for 1080p
  • Tilgængeligt via offentligt HTTPS URL

Hvis dine filer ikke allerede er offentligt hostet, skal du uploade dem til S3, Cloudflare R2, Google Cloud Storage eller lignende, inden du foretager API-kaldet.

Eksempel på anmodning i Python

import os
import requests

SEEDANCE_API_KEY = os.environ["SEEDANCE_API_KEY"]
BASE_URL = "https://api.arteza.ai/v1"

def create_omnihuman_video(image_url, audio_url, prompt,
                           resolution="1080p", turbo=False):
    headers = {
        "Authorization": f"Bearer {SEEDANCE_API_KEY}",
        "Content-Type": "application/json",
    }
    payload = {
        "model": "omnihuman-v1.5",
        "image_url": image_url,
        "audio_url": audio_url,
        "prompt": prompt,
        "resolution": resolution,
        "turbo_mode": turbo,
    }
    response = requests.post(
        f"{BASE_URL}/omnihuman/generate",
        json=payload,
        headers=headers,
    )
    response.raise_for_status()
    return response.json()

job = create_omnihuman_video(
    image_url="https://cdn.example.com/ceo.jpg",
    audio_url="https://cdn.example.com/weekly-update.mp3",
    prompt="Corporate office with warm lighting, medium close-up, professional style",
)
print(f"Job indsendt: {job['job_id']}")

Eksempel på anmodning i Node.js

import fetch from "node-fetch";

const SEEDANCE_API_KEY = process.env.SEEDANCE_API_KEY;
const BASE_URL = "https://api.arteza.ai/v1";

async function createOmnihumanVideo({
  imageUrl,
  audioUrl,
  prompt,
  resolution = "1080p",
  turbo = false,
}) {
  const response = await fetch(`${BASE_URL}/omnihuman/generate`, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${SEEDANCE_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "omnihuman-v1.5",
      image_url: imageUrl,
      audio_url: audioUrl,
      prompt,
      resolution,
      turbo_mode: turbo,
    }),
  });

  if (!response.ok) {
    throw new Error(`Arteza API-fejl: ${response.status}`);
  }
  return response.json();
}

const job = await createOmnihumanVideo({
  imageUrl: "https://cdn.example.com/ceo.jpg",
  audioUrl: "https://cdn.example.com/update.mp3",
  prompt: "Modern office, soft lighting, medium close-up",
});
console.log(`Job indsendt: ${job.job_id}`);

Svarformat

{
  "job_id": "job_abc123xyz",
  "status": "queued",
  "created_at": "2026-04-10T14:23:00Z",
  "estimated_credits": 46
}

job_id er det, du bruger til polling eller til at korrelere webhook-leveringer.

Polling for resultater

Hvis du ikke bruger webhooks, skal du polle jobstatus-endpointet, indtil jobbet er færdigt.

import time

def wait_for_video(job_id, timeout_seconds=600, poll_interval=5):
    headers = {"Authorization": f"Bearer {SEEDANCE_API_KEY}"}
    deadline = time.time() + timeout_seconds

    while time.time() < deadline:
        response = requests.get(
            f"{BASE_URL}/jobs/{job_id}",
            headers=headers,
        )
        response.raise_for_status()
        data = response.json()
        status = data["status"]

        if status == "completed":
            return data["result"]["video_url"]
        if status == "failed":
            raise Exception(f"Generering mislykkedes: {data.get('error')}")

        time.sleep(poll_interval)

    raise TimeoutError("Jobbet blev ikke færdigt inden for timeout")

video_url = wait_for_video(job["job_id"])
print(f"Video klar: {video_url}")

Jobstatusværdier

StatusBetydning
queuedVenter på at starte
processingGenerering i gang
completedVideo klar, URL tilgængeligt
failedGenerering mislykkedes, tjek fejlfeltet

Brug af webhooks (anbefales til produktion)

Webhooks eliminerer polling og lader dig bygge hændelsesdrevne pipelines.

Konfiguration af en webhook

Send webhook_url i din genereringsanmodning. Seedance sender en POST til det URL, når jobbet er færdigt.

Webhook-payload

{
  "event": "job.completed",
  "job_id": "job_abc123xyz",
  "status": "completed",
  "result": {
    "video_url": "https://cdn.arteza.ai/outputs/video_abc123.mp4",
    "resolution": "1080p",
    "duration_seconds": 28.5
  },
  "credits_used": 46,
  "completed_at": "2026-04-10T14:26:45Z"
}

Eksempel på webhook-handler

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route("/webhooks/seedance", methods=["POST"])
def seedance_webhook():
    payload = request.get_json()

    if payload.get("event") == "job.completed":
        job_id = payload["job_id"]
        video_url = payload["result"]["video_url"]

        # Din forretningslogik: download video, underret brugere,
        # udløs downstream-arbejdsgange osv.
        handle_completed_video(job_id, video_url)

    return jsonify({"received": True}), 200

Webhook-sikkerhed

Verificer webhook-signaturer, hvis Arteza tilbyder en signeringshemmelighed. Valider altid, at webhooks kommer fra Arteza, inden du handler på dem.

Klar til at prøve OmniHuman v1.5? Begynd at skabe gratis →

Et AI-genereret talende hoved fra OmniHuman v1.5

Vil du have en præsentant som denne? Prøv OmniHuman gratis →

Produktionsmønstre

Mønster 1: Personaliseret salgsvideo-pipeline

Generer én video pr. emne med dynamiske scriptvariable.

def generate_sales_video_for_prospect(prospect):
    script = render_template("sales_template.txt", {
        "first_name": prospect["first_name"],
        "company": prospect["company"],
        "trigger": prospect["trigger_event"],
    })

    audio_url = generate_tts(script)

    job = create_omnihuman_video(
        image_url=YOUR_SDR_PHOTO_URL,
        audio_url=audio_url,
        prompt=STANDARD_SCENE_PROMPT,
        resolution="1080p",
    )
    return job["job_id"]

prospects = load_prospects_from_crm()
for prospect in prospects:
    generate_sales_video_for_prospect(prospect)

Se guide til salgsvideoer for scripting og distribution.

Mønster 2: Flersproget indholdsudrulning

Generer den samme besked på flere sprog med det samme foto.

languages = [
    ("en", "english_audio.mp3"),
    ("es", "spanish_audio.mp3"),
    ("pt", "portuguese_audio.mp3"),
    ("fr", "french_audio.mp3"),
    ("de", "german_audio.mp3"),
]

jobs = []
for lang_code, audio_file in languages:
    audio_url = upload_to_cdn(audio_file)
    job = create_omnihuman_video(
        image_url=SPOKESPERSON_PHOTO_URL,
        audio_url=audio_url,
        prompt=STANDARD_PROMPT,
    )
    jobs.append((lang_code, job["job_id"]))

Se flersproglig guide for tips til stemme og oversættelse.

Mønster 3: Automatisering af daglig nyhedsdigest

Planlagt pipeline, der henter overskrifter, genererer TTS og producerer en daglig video.

from datetime import datetime

def daily_news_digest():
    headlines = fetch_top_headlines()
    script = format_headlines_as_script(headlines)
    audio_url = generate_tts(script, voice="broadcast_news")

    job = create_omnihuman_video(
        image_url=NEWS_ANCHOR_PHOTO_URL,
        audio_url=audio_url,
        prompt="Professional news studio, broadcast style, medium close-up",
        resolution="720p",
    )
    return job["job_id"]

# Planlæg via cron, Airflow eller dit workflow-værktøj
daily_news_digest()

Se guide til nyhedsoplæsere.

Mønster 4: CMS-udløst videogenerering

Når et nyt blogindlæg eller produkt udgives, genereres en tilhørende video.

@app.route("/cms/published", methods=["POST"])
def on_content_published():
    content = request.get_json()
    script = summarize_content(content["body"])
    audio_url = generate_tts(script)

    job = create_omnihuman_video(
        image_url=BRAND_SPOKESPERSON_PHOTO,
        audio_url=audio_url,
        prompt=BRAND_SCENE_PROMPT,
        webhook_url="https://yourapp.com/webhooks/seedance",
    )
    store_job_mapping(content["id"], job["job_id"])
    return {"ok": True}

Bedste praksis for fejlhåndtering

Forsøg igen med eksponentiel backoff

Netværksfejl og forbigående fejl bør udløse genforsøg, ikke øjeblikkelig afbrydelse.

import time

def create_with_retry(params, max_retries=3):
    delay = 2
    for attempt in range(max_retries):
        try:
            return create_omnihuman_video(**params)
        except requests.RequestException as e:
            if attempt == max_retries - 1:
                raise
            time.sleep(delay)
            delay *= 2

Valider input inden indsendelse

Spar credits ved at validere inden hvert API-kald:

  • Billed-URL returnerer 200 og content-type image/*
  • Lyd-URL returnerer 200 og content-type audio/*
  • Lydvarighed er inden for grænsen for den valgte opløsning
  • Prompt er ikke tom

Håndter hastighedsbegrænsninger

API'et håndhæver hastighedsbegrænsninger. Respekter 429-svar og tilbage af passende.

Overvåg credit-saldo

Tjek din credit-saldo inden store batch-kørsler. Det er undgåeligt at løbe tør for credits midt i en batch.

Omkostningsstyring

En API-genereret video koster 2,4 credits pr. sekund lyd, 72 credits ($7,20) for 30 sekunder. De samme credits, der driver brugerfladen, driver API'et:

PlanPrisCredits pr. månedEffektiv pris pr. 30-sekunders kald
Starter$560~$3,83
Creator$25300~$3,83
Pro$50700~$3,29
Studio$1201.800~$3,07

Ved tunge API-arbejdsbyrder giver Studio-planen den bedste effektive pris pr. generering. Se prissætningsguide for detaljer.

Estimering af projektomkostninger

Inden du starter en batch-kørsel, beregn de samlede omkostninger:

total_cost = number_of_videos * 4.60

En batch med 1.000 videoer på 30 sekunder koster $7.200 til basisprisen og langt mindre på en månedlig plan. Budgetter derefter.

⚙️

API-pris = UI-pris. Ingen tillæg.

Ingen pr.-sæde-gebyrer og ingen API-niveaulåsning. Start en batch, når du har brug for det, og stop igen, når du ikke har.

Hent din API-nøgle

Observerbarhed

Til produktionsarbejdsgange skal du spore disse målinger:

  • Succesrate - andel af jobs, der fuldføres korrekt
  • Gennemsnitlig genereringstid - til kapacitetsplanlægning
  • Forbrugte credits - løbende totaler til budgetsporing
  • Webhook-leveringsrate - registrer webhook-leveringsfejl
  • Fejlkategorisering - grupper fejl efter årsag

Log job-ID'er sammen med dine interne korrelations-ID'er til fejlfinding.

Bedste sikkerhedspraksis

  • Eksponér aldrig din API-nøgle på klientsiden. Kald altid API'et fra din backend.
  • Brug miljøvariabler eller en hemmeligheds-manager. Commit aldrig nøgler til kildekontrol.
  • Roter nøgler regelmæssigt. Behandl dem som enhver anden legitimationsoplysning.
  • Valider webhook-signaturer, når det er muligt.
  • Brug HTTPS til alle billed- og lyd-URL'er, du sender til API'et.
  • Afgræns webhook-endpoints, så kun legitime Arteza-payloads behandles.

Kom i gang med API'et

  1. Tilmeld dig Arteza og indsaml dine 10 gratis credits
  2. Abonnér på mindst Starter-planen ($5/måned) for at have nok til en testgenerering
  3. Generer din API-nøgle i dashboardet
  4. Klargør et testbillede og en lydfil, og upload til et offentligt URL
  5. Foretag dit første API-kald ved hjælp af eksemplerne ovenfor
  6. Poll eller vent på webhook for at hente video-URL'et
  7. Byg din produktionspipeline

For relateret læsning, se komplet guide til OmniHuman v1.5, prisoversigt, guide til salgsvideoer og flersproglig guide.

Klar til at prøve OmniHuman v1.5? Begynd at skabe gratis →

Prøv OmniHuman v1.5 - Lige nu

Upload dit referencebillede på opret-siden.

5 gratis generationer · Intet kreditkort påkrævet

Åbn OmniHuman v1.5-appen

Relaterede værktøjer

AI-avatargeneratorAI-videogeneratorVoiceoverAI Videostudio

Relaterede indlæg

Product

Google Veo 3 på Arteza: AI-video i biografkvalitet med indbygget lyd

Product

Komplet AI-billedredigeringsværktøjskasse: 6 værktøjer på én platform

Product

FLUX Kontext Pro: den bedste AI-billedredigering til sprogbaserede redigeringer

Product

Smart Edit: rediger billeder med naturlige sproglige instruktioner

Tidligere: OmniHuman v1.5: skab livagtige AI-avatarer fra ét enkelt fotoNæste: AI-avatarer med OmniHuman: lav talende videoer fra ét enkelt foto