Tasks

Edit a source video (seedance-2.5-spicy)

Edit one 4–30s source video with optional image/audio references, preserving its aspect ratio and approximately its duration. duration_seconds must be -1 (default). Fixed charge = 2 × measured source seconds × resolution rate, before submission, without actual-output settlement. Supports MP4/MOV and 480p draft previews; finalize drafts at 1080p. Async: returns 202; poll GET /v1/tasks/{id}.

post/v1/seedance-2.5-spicy/video-to-video

Request

  • Base URL: https://api.hotapi.ai
  • URL: https://api.hotapi.ai/v1/seedance-2.5-spicy/video-to-video
  • Auth: HTTP bearer

Query parameters

webhookstring uri

Public HTTPS callback URL for the signed terminal task event. Private addresses and redirects are not supported. Deliveries use the organization's webhook signing secret.

Headers

idempotency-keystring

Stable key for one logical submission. Reuse it only when retrying the identical model and input.

Request body

reference_image_urlsstring[]

1–30 reference images (HTTPS URLs or base64) for subject/style consistency. Each side must be 300–6000px.

reference_audio_urlsstring[]

1–10 HTTPS reference audio clips. Audio-only input is supported.

reference_video_urlsstring[] required

Exactly one 4–30s HTTPS source video. The fixed charge is twice its measured duration × the resolution rate: once for source input and once as the output billing basis. Not reconciled to actual output length.

promptstring required

Describe the edit explicitly, for example: Edit @Video 1: replace the background with a snowy forest.

duration_seconds-1

Follow source duration. Only -1 is accepted; other generation modes still require an explicit 4–30s integer.

ratio'adaptive'

Preserve the source aspect ratio.

generate_audioboolean

Generate a synced audio track (default true). The provider moderates generated audio: for spicy content the audio track may be rejected after generation, failing the whole task (no video produced, fully refunded). If you don't need audio, pass false to receive a silent video and avoid these failures.

draftboolean

Render a 480p draft preview to validate the composition before committing to a final. Billed at the normal 480p rate (not a discount). Must be sent with resolution "480p" (or omitted); any other resolution is rejected. Finalize via seedance-2.5-spicy/draft-to-video.

Example request

{
  "reference_image_urls": [
    "https://example.com/ref1.jpg",
    "https://example.com/ref2.jpg"
  ],
  "reference_audio_urls": [
    "https://example.com/music.mp3"
  ]
}

Response

An async task. Creation returns 202 with status=queued; poll GET /v1/tasks/{id} (or await the webhook) until a terminal status.

idstring required
object'task' required
modelstring required
task_kindstring required
inputobject required

The normalized request input the task was created with.

outputobject

Result payload, present once status=succeeded. Contains hosted asset URLs (re-hosted on our CDN).

estimated_credits_costinteger required

Credits charged up-front when the task was created (1000 credits = $1).

reference_video_secondsnumber

Input-video seconds measured and frozen at submission; reused for draft finalization billing. Zero when no reference video was supplied.

actual_credits_costinteger

Final credits charged after settlement (equals estimate today).

webhook_urlstring uri
api_key_idstring

The organization's API key that created the task; absent for dashboard/session-created tasks.

created_atinteger required

Unix seconds.

queued_atinteger

Unix seconds.

started_atinteger

Unix seconds.

completed_atinteger

Unix seconds.

expires_atinteger required

Unix seconds; result + asset retention deadline.

Example response

{
  "id": "task_8sd9f7aQ2",
  "model": "z-image-spicy",
  "task_kind": "image.generate",
  "error": {
    "type": "provider_error",
    "code": "generation_failed",
    "message": "Generation failed"
  },
  "estimated_credits_cost": 26,
  "api_key_id": "ak_8sd9f7aQ2"
}

Changes

No recorded changes to this operation across all 1 revision of this API.