Kling tekst naar video
Gebruik het eindpunt voor tekst naar video om een asynchrone taak aan te maken.
Overzicht
Gebruik het eindpunt voor tekst naar video met een ondersteund model. Gebruik de geretourneerde taak-ID om de status op te halen, of geef callback_url op voor de hieronder gedocumenteerde leveringen.
Snelstart
- Maak een API-sleutel aan en stel deze in als RUNAPI_API_KEY.
- Kies een ondersteund model en stuur een POST-verzoek waarvan de body overeenkomt met het schema van dat model.
- Sla de geretourneerde taak-ID op en poll vervolgens totdat een eindstatus is bereikt, of verwerk de hieronder gedocumenteerde callbacks.
Eindpunt
- Basis-URL
https://runapi.ai- API-versie
v1- Authenticatie
Authorization: Bearer YOUR_API_TOKEN
Ondersteunde modellen
Open een modelpagina voor actuele prijzen, snelheidslimieten en details over commercieel gebruik.
Verzoekschema
Velden en toegestane waarden zijn afhankelijk van het geselecteerde model. Indien opgegeven, ontvangt callback_url de hieronder gedocumenteerde taakaflevering.
kling-3.014 velden
aspect_ratiostringUitvoer-beeldverhouding.
Toegestane waarden:16:9, 9:16, 1:1
callback_urlstringWebhook-URL voor asynchrone meldingen.
cfg_scalenumberBegeleidingsschaal (0-1).
duration_secondsintegerDuur in seconden.
Toegestane waarden:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
enable_soundbooleanGeluidsgeneratie inschakelen.
first_frame_image_urlstringURL van de eerste frame-afbeelding.
kling_elementsarrayElementreferenties met afbeeldings-, video- of audiomateriaal.
last_frame_image_urlstringURL van het laatste frame voor de enkelvoudige opnamemodus.
modelstringModel-slug.
multi_promptarrayPromptsegmenten voor de multi-shot-modus.
multi_shotsbooleanGeneratie van meerdere opnamen inschakelen.
negative_promptstringNegatieve prompt.
output_resolutionstringUitvoerresolutie.
Toegestane waarden:720p, 1080p, 4k
promptstringVideobeschrijving. Vereist tenzij multi_shots is ingeschakeld.
kling-o111 velden
aspect_ratiostringUitvoer-beeldverhouding.
Toegestane waarden:16:9, 9:16, 1:1
Standaard: 16:9
callback_urlstringWebhook-URL voor asynchrone meldingen.
duration_secondsintegerDuur in seconden.
Toegestane waarden:5
Standaard: 5
enable_soundbooleanGeluidsopwekking moet uitgeschakeld blijven.
Standaard:false
modestringGeneratiemodus.
Toegestane waarden:std, pro
Standaard: std
modelstringModel-slug.
preserve_reference_video_audiobooleanBewaar het originele audio van de referentievideo.
Standaard:false
promptstringVideobeschrijving; verwijs naar media met overeenkomstige genummerde markeringen.
Bereik:1 - 2500
reference_image_urlsarrayGeordende openbare HTTP(S) JPG-, JPEG- of PNG-referentieafbeeldings-URL's.
Itembereik:1 - 7
reference_video_typestringGebruik de video als basisbewerking of functiereferentie.
Toegestane waarden:base, feature
Standaard: base
reference_video_urlstringPublieke HTTP(S) MP4- of MOV-referentievideo-URL.
kling-v2.1-master-text-to-video8 velden
aspect_ratiostringUitvoer-beeldverhouding.
Toegestane waarden:16:9, 9:16, 1:1
callback_urlstringWebhook-URL voor asynchrone meldingen.
cfg_scalenumberBegeleidingsschaal (0-1).
duration_secondsintegerDuur in seconden.
Toegestane waarden:5, 10
enable_soundbooleanGeluidsgeneratie inschakelen.
modelstringModel-slug.
negative_promptstringNegatieve prompt.
promptstringVideobeschrijving.
kling-v2.5-turbo-text-to-video-pro8 velden
aspect_ratiostringUitvoer-beeldverhouding.
Toegestane waarden:16:9, 9:16, 1:1
callback_urlstringWebhook-URL voor asynchrone meldingen.
cfg_scalenumberBegeleidingsschaal (0-1).
duration_secondsintegerDuur in seconden.
Toegestane waarden:5, 10
enable_soundbooleanGeluidsgeneratie inschakelen.
modelstringModel-slug.
negative_promptstringNegatieve prompt.
promptstringVideobeschrijving.
kling-v2.67 velden
aspect_ratiostringUitvoer-beeldverhouding.
Toegestane waarden:16:9, 9:16, 1:1
Standaard: 16:9
callback_urlstringWebhook-URL voor asynchrone meldingen.
duration_secondsintegerDuur in seconden.
Toegestane waarden:5, 10
Standaard: 5
enable_soundbooleanGeluidsgeneratie inschakelen; vereist pro-modus.
Standaard:false
modestringGeneratiemodus.
Toegestane waarden:std, pro
Standaard: std
modelstringModel-slug.
promptstringVideobeschrijving.
Bereik:1 - 2500
kling-v3-omni7 velden
aspect_ratiostringUitvoer-beeldverhouding.
Toegestane waarden:16:9, 9:16, 1:1
Standaard: 16:9
callback_urlstringWebhook-URL voor asynchrone meldingen.
duration_secondsintegerDuur in seconden.
Toegestane waarden:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Standaard: 5
enable_soundbooleanGesynchroniseerde geluidsgeneratie inschakelen.
Standaard:false
modelstringModel-slug.
output_resolutionstringUitvoerresolutie.
Toegestane waarden:720p, 1080p, 4k
Standaard: 720p
promptstringVideobeschrijving.
Bereik:1 - 2500
kling-v3-omni-reference8 velden
aspect_ratiostringUitvoer-beeldverhouding.
Toegestane waarden:16:9, 9:16, 1:1
callback_urlstringWebhook-URL voor asynchrone meldingen.
duration_secondsintegerUitvoerduur in seconden.
Toegestane waarden:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Standaard: 5
enable_soundbooleanGesynchroniseerde geluidsgeneratie inschakelen.
Standaard:false
modelstringModel-slug.
output_resolutionstringUitvoerresolutie.
Toegestane waarden:720p, 1080p, 4k
Standaard: 720p
promptstringVideobeschrijving.
Bereik:1 - 2500
reference_image_urlsarrayGeordende referentieafbeeldings-URL's.
Itembereik:1 - 7
kling-v3-turbo-text-to-video6 velden
aspect_ratiostringUitvoer-beeldverhouding.
Toegestane waarden:16:9, 9:16, 1:1
Standaard: 16:9
callback_urlstringWebhook-URL voor asynchrone meldingen.
duration_secondsintegerDuur in seconden.
Toegestane waarden:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Standaard: 5
modelstringModel-slug.
output_resolutionstringUitvoerresolutie.
Toegestane waarden:720p, 1080p
Standaard: 720p
promptstringVideobeschrijving.
Bereik:1 - 2500
Voorwaardelijke regels
Deze vereisten zijn van toepassing wanneer alle vermelde voorwaarden overeenkomen.
-
Wanneer
model = kling-3.0- Vereist
- Niet geaccepteerd
reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wanneer
model = kling-o1- Vereist
- Niet geaccepteerd
output_resolution,negative_prompt,cfg_scale,multi_shots,multi_prompt,first_frame_image_url,last_frame_image_url,kling_elements
-
Wanneer
model = kling-v2.1-master-text-to-video- Vereist
- Niet geaccepteerd
mode,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wanneer
model = kling-v2.5-turbo-text-to-video-pro- Vereist
- Niet geaccepteerd
mode,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wanneer
model = kling-v2.6- Vereist
- Niet geaccepteerd
output_resolution,negative_prompt,cfg_scale,multi_shots,multi_prompt,first_frame_image_url,last_frame_image_url,kling_elements,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wanneer
model = kling-v3-omni- Vereist
- Niet geaccepteerd
negative_prompt,cfg_scale,multi_shots,multi_prompt,first_frame_image_url,last_frame_image_url,kling_elements,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wanneer
model = kling-v3-turbo-text-to-video- Vereist
- Niet geaccepteerd
enable_sound,negative_prompt,cfg_scale,multi_shots,multi_prompt,first_frame_image_url,last_frame_image_url,kling_elements,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
Acceptatie aanmaken
POST /api/v1/kling/text_to_video
Responsschema
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
},
"task_replayed": {
"type": "boolean"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "processing"
}
Pollen bezig
GET /api/v1/kling/text_to_video/:id
Responsschema
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "processing"
}
Pollen voltooid
GET /api/v1/kling/text_to_video/:id
Responsschema
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
},
"videos": {
"items": {
"properties": {
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
}
},
"required": [
"id",
"status",
"videos",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "completed",
"videos": [
{
"url": "https://file.runapi.ai/reference-video.mp4"
}
]
}
Pollen mislukt
GET /api/v1/kling/text_to_video/:id
Responsschema
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"error": {
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"error": "Task processing failed.",
"id": "tsk_reference_demo",
"status": "failed"
}
Callback van klant: voltooid
POST callback_url
Responsschema
{
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
},
"videos": {
"items": {
"properties": {
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
}
},
"required": [
"id",
"status",
"videos"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"id": "tsk_reference_demo",
"status": "completed",
"videos": [
{
"url": "https://file.runapi.ai/reference-video.mp4"
}
]
}
Callback van klant: mislukt
POST callback_url
Responsschema
{
"properties": {
"error": {
"oneOf": [
{
"type": "string"
},
{
"properties": {
"code": {
"type": "string"
},
"limit_cents": {
"type": "integer"
},
"message": {
"type": "string"
},
"reset_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"used_cents": {
"type": "integer"
},
"window": {
"enum": [
"1h",
"1d",
"7d",
"daily",
"weekly",
"monthly",
"lifetime"
],
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object",
"unevaluatedProperties": false
}
]
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": {
"code": "generation_failed",
"message": "Task processing failed."
},
"id": "tsk_reference_demo",
"status": "failed"
}
Fouten
POST /api/v1/kling/text_to_video
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Authentication required"
}
Fouten
GET /api/v1/kling/text_to_video/:id
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Authentication required"
}
Fouten
POST /api/v1/kling/text_to_video
Responsschema
{
"oneOf": [
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Leesbare validatiesamenvatting.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Validatieberichten gekoppeld aan het openbare aanvraagveld, met een reeks leesbare tekenreeksen per veld.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Responsvoorbeeld
{
"error": "model must be one of: kling-3.0, kling-o1, kling-v2.1-master-text-to-video, kling-v2.5-turbo-text-to-video-pro, kling-v2.6, kling-v3-omni, kling-v3-omni-reference, kling-v3-turbo-text-to-video"
}
Fouten
POST /api/v1/kling/text_to_video
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Insufficient balance"
}
Fouten
POST /api/v1/kling/text_to_video
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "API key credit limit exceeded"
}
Fouten
POST /api/v1/kling/text_to_video
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "The request uses features that are not supported for the selected model"
}
Fouten
POST /api/v1/kling/text_to_video
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Rate limit reached. Please retry later."
}
Fouten
POST /api/v1/kling/text_to_video
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Service under maintenance, please try again later"
}
Fouten
POST /api/v1/kling/text_to_video
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "The request timed out"
}
Fouten
GET /api/v1/kling/text_to_video/:id
Responsschema
{
"properties": {
"error": {
"description": "Leesbare foutmelding.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Responsvoorbeeld
{
"error": "Task with id 'tsk_reference_demo' not found"
}
Gegenereerde codevoorbeelden
Gebruik cURL rechtstreeks, of installeer een SDK voor uw taal. Elk voorbeeld dient het gevalideerde verzoek in dat in deze referentie wordt getoond.
Installeren
pip install runapi-kling
import os
from runapi.kling import KlingClient
client = KlingClient(api_key=os.environ["RUNAPI_API_KEY"])
task = client.text_to_video.create(
model="kling-v3-turbo-text-to-video",
prompt="A paper kite flying above a quiet coastal town at sunrise",
duration_seconds=5,
aspect_ratio="16:9",
output_resolution="720p"
)