Kling: Video O1
O Kling VIDEO O1 é o modelo de vídeo da Kuaishou orientado por referências para gerar e editar cenas com texto, imagens, elementos de sujeitos e um clip de origem. Use o perfil de geração de três a dez segundos para continuidade visual, transições orientadas entre fotogramas e alterações focadas em filmagens existentes.
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
O Kling VIDEO O1 é o modelo unificado de vídeo da Kuaishou orientado por referências. Combina uma descrição de texto com imagens, elementos de sujeitos preparados ou um vídeo de origem para orientar cenas novas e alterações focadas em filmagens existentes. A interface central é um pedido visual: identifique o material de referência, descreva a sua função e indique a aparência, ação ou transformação pretendidas no vídeo resultante.
Um plano novo pode começar com texto, uma imagem de abertura ou um conjunto de referências visuais. Use uma imagem para estabelecer uma personagem ou um objeto e descreva por palavras o cenário, a ação e o ponto de vista. Quando várias referências contribuem com características diferentes, atribua explicitamente as suas funções. Um pedido original de produto pode retirar o objeto de uma imagem e o ambiente de outra, descrevendo depois o movimento do objeto nesse cenário.
O pedido do O1 pode nomear imagens, elementos e vídeos com marcadores específicos de referência, como <<<image_1>>> ou <<<video_1>>>. Mantenha esses marcadores associados ao recurso efetivamente fornecido e explique o que deve ser retirado dele. O fabricante permite pedidos de 2500 caracteres. Uma instrução concisa que identifica o sujeito e a alteração é mais útil do que uma coleção de termos de estilo sem relação.
Para referências baseadas em imagens sem entrada de vídeo, o limite combinado documentado é de até sete imagens de referência e elementos de várias imagens. Com um vídeo de referência, esse limite de imagens/elementos é de quatro. Estes limites abrangem elementos baseados em imagens; outros tipos de elementos têm regras de compatibilidade separadas. Escolha o material que fornece a aparência ou a informação essencial da cena, em vez de preencher o limite com vistas redundantes.
As entradas de imagem usam JPG, JPEG ou PNG, fornecidos como URL acessível ou dados de imagem, com ficheiros de até 10 MB, dimensões de pelo menos 300 píxeis e uma proporção entre 1:2.5 e 2.5:1. Prepare sujeitos claros e conserve pormenores importantes no recorte. Se a tarefa precisar de uma personagem ou produto reconhecível, indique que características devem permanecer e examine-as ao longo de todo o clip concluído.
Os fotogramas inicial e final condicionam uma transição entre limites visuais. O fluxo documentado de fotogramas de limite do O1 exige um fotograma inicial quando é fornecido um final e não suporta controlo de fotogramas inicial/final com mais de duas imagens no array. Quando são usados ambos os fotogramas de limite, elementos adicionais de sujeitos não fazem parte dessa configuração O1. Mantenha uma tarefa controlada por fotogramas separada da edição de um vídeo base fornecido.
Um vídeo de origem pode ter duas funções distintas. Como clip base, é a filmagem a editar: dirija uma adição, remoção, tratamento de estilo ou alteração de composição específica, indicando o que deve permanecer. A edição segue a duração do clip de entrada e não combina essa tarefa de vídeo base com controlo de fotogramas de limite ou geração de vários planos. Como referência de características, o vídeo fornece informação de conteúdo, estilo ou câmara para um plano novo.
Os pedidos com vídeo de referência também podem solicitar um plano anterior ou seguinte. Identifique o clip de origem e descreva o novo acontecimento visível, como uma continuação da ação do sujeito ou uma revelação do ambiente envolvente. Isto usa a referência para comunicar informação visual; reveja a junção e a continuidade do sujeito antes de montar o novo segmento com as filmagens originais.
O perfil de entrada de vídeo do fabricante aceita uma fonte MP4 ou MOV, até 200 MB, com duração mínima de três segundos. O perfil detalhado de entrada especifica dimensões de 720 a 2160 píxeis e taxas de fotogramas de 24 a 60 fps, com proporção de entrada entre 1:2.5 e 2.5:1. Esse fluxo documentado de vídeo de origem devolve vídeo a 24 fps. A duração exata permitida do clip também depende do perfil de modelo selecionado. O intervalo de geração nova do O1 é de três a dez segundos, distinto do intervalo de duração do 3.0 Omni posterior.
Os modos O1 do fabricante oferecem saída Standard de 720p ou Pro de 1080p. O enquadramento de novos planos suporta escolhas documentadas horizontais, verticais e quadradas quando o fluxo selecionado usa esse controlo; uma edição de vídeo base segue o enquadramento da fonte. O áudio do vídeo de origem pode ser conservado ou descartado. O fluxo de referências e edição do O1 deve permanecer separado do perfil posterior de áudio nativo e storyboard personalizado do 3.0 Omni.
A geração produz uma tarefa cujo resultado concluído contém o artefacto de vídeo e a duração real. A documentação de resultados do fabricante indica que os vídeos gerados são eliminados após 30 dias, pelo que deve guardar rapidamente o clip concluído. Conserve os recursos de origem e o pedido com esse resultado e depois reveja a alteração solicitada, a utilização das referências e a continuidade. Para uma edição, compare a área afetada e as partes que devem permanecer. Para um plano novo orientado por referências, verifique se cada recurso forneceu a informação visual pretendida. Mantenha o clip concluído disponível para a edição ou sequência de produção seguinte.
Ailoot Ultra · Vídeo POST /v1/videos kwaivgi/kling-video-o1
kwaivgi/kling-video-o1Introdução
O Kling VIDEO O1 é o modelo de vídeo da Kuaishou orientado por referências para gerar e editar cenas com texto, imagens, elementos de sujeitos e um clip de origem. Use o perfil de geração de três a dez segundos para continuidade visual, transições orientadas entre fotogramas e alterações focadas em filmagens existentes.
- Entradas aceites
- Texto · Imagens
- Resultados
- Vídeo
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · Vídeo POST /v1/videos
- Entrada
text,image- Saída
video- Formato de saída
- bytes MP4 originais; sem normalização nem transcodificação
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites kwaivgi/kling-video-o1 | Predefinição— |
Campoprompt | Tipostring | RequisitoObrigatório | Valores e limites | Predefinição— |
Campoduration | Tipointeger | RequisitoObrigatório | Valores e limites 5, 10 Mínimo: 1 Máximo: 600 | Predefinição— |
Camporesolution | Tipostring | RequisitoOpcional | Valores e limites 720p | Predefinição— |
Campoaspect_ratio | Tipostring | RequisitoOpcional | Valores e limites 16:9, 9:16, 1:1 | Predefinição— |
Campogenerate_audio | Tipoboolean | RequisitoOpcional | Valores e limites false, true | Predefinição— |
Campoframe_images | Tipoarray | RequisitoOpcional | Valores e limites Número mínimo de elementos: 1 Número máximo de elementos: 2 Conteúdo de entrada: Matriz de objetos de fotograma. Cada objeto tem type=image_url, image_url com url e frame_type. Utilize um URL HTTPS de imagem e defina frame_type como first_frame ou last_frame. Cada função de fotograma aparece, no máximo, uma vez. Chaves exatas: type, image_url, frame_type Condições: Estas chaves descrevem cada objeto de fotograma; image_url contém apenas url. Omita frame_images num pedido apenas de texto. | Predefinição— |
Campoinput_references | Tipoarray | RequisitoOpcional | Valores e limites | Predefinição— |
Camposize | Tipostring | RequisitoOpcional | Valores e limites 1280x720, 720x1280, 720x720 Padrão: ^[1-9][0-9]*x[1-9][0-9]*$ | Predefinição— |
Campocallback_url | Tipostring | RequisitoOpcional | Valores e limites Padrão: ^https:// | Predefinição— |
Camposession_id | Tipostring | RequisitoOpcional | Valores e limites | Predefinição— |
Campotrace | Tipoobject | RequisitoOpcional | Valores e limites | Predefinição— |
Campouser | Tipostring | RequisitoOpcional | Valores e limites | Predefinição— |
Combinações de materiais de entrada
Texto para vídeo · Uma instrução escrita. · Obrigatório: model, prompt, duration
Forneça prompt como texto e duration em segundos inteiros. Escolha uma resolução suportada; adicione uma proporção ou utilize um tamanho enumerado.
model: Tipo: string · kwaivgi/kling-video-o1
prompt: Tipo: string · Número máximo de bytes UTF-8: 10 000 · São obrigatórios caracteres que não sejam espaços: Sim
Imagem para vídeo · Uma instrução escrita e uma imagem do primeiro fotograma. · Obrigatório: model, prompt, duration, frame_images
frame_images é uma matriz. Cada objeto de fotograma tem type, image_url e frame_type; image_url contém url. Defina type como image_url. Utilize first_frame com um last_frame opcional. Cada função de fotograma aparece, no máximo, uma vez. Forneça um URL HTTPS público de imagem para cada fotograma. Escolha uma resolução suportada; adicione uma proporção ou utilize um tamanho enumerado.
Chaves exatas: type, image_url, frame_type
model: Tipo: string · kwaivgi/kling-video-o1
prompt: Tipo: string · Número máximo de bytes UTF-8: 10 000 · São obrigatórios caracteres que não sejam espaços: Sim
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, prompt, duration |
Parâmetromaterial_types | Contratotext, image |
Parâmetroadditional_properties | Contratofalse |
Parâmetrooptional_controls | Contratoresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
Ciclo de vida: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Tarifários
Cálculo do custo final
As tarifas apresentadas permitem estimar o custo antes da geração. O montante final cobrado é calculado a partir do custo registado para a geração original. A duração medida do resultado e as quantidades previstas não correspondem à quantidade final faturável.
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Não especificado Quando o modo rápido está selecionado
- Modo flex
- Não especificado Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas estimadas para comparação
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Quantidade prevista | Unidade de faturação | Condições de faturação | Custo |
|---|---|---|---|---|---|
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | Unidade de faturação— | Condições de faturação— | Custo Entrada · Tokens de entrada · Estimativa apenas para comparação — / 1K tokens Saída · Tokens de saída · Estimativa apenas para comparação — / 1K tokens Entrada · Leitura da cache · Estimativa apenas para comparação — / 1K tokens Entrada · Escrita na cache · Estimativa apenas para comparação — / 1K tokens Entrada · Escrita na cache, 1 hora · Estimativa apenas para comparação — / 1K tokens |
| ConfiguraçãoPreço do vídeo | Tabela de tarifas— | Quantidade prevista— | Unidade de faturaçãopor segundo de vídeo | Condições de faturaçãoNão é declarada nenhuma condição adicional nesta chave de preços. | Custo Saída · Preço do vídeo · Estimativa apenas para comparação $0.224 por segundo de vídeo |
| ConfiguraçãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Unidade de faturação— | Condições de faturação— | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação $1.12 estimativa antes da geração Esta estimativa não é um encargo adicional nem uma tarifa fixa para a geração concluída. |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Detalhes da tarifa de referência
As tabelas de referência do modelo não alteram a seleção do método, as cotações ou os custos. Os custos ativos usam as tarifas do método Ailoot selecionado.
Referências de preços das configurações de vídeo
Preços por configuração
| Configuração | Condições de faturação | Custo |
|---|---|---|
| ConfiguraçãoPreço do vídeo | Condições de faturaçãoNão é declarada nenhuma condição adicional nesta chave de preços. | Custo Saída · Preço do vídeo $0.224 por segundo de vídeo Referência de preço publicada para a configuração apresentada. Os montantes finais cobrados seguem a configuração efetivamente faturada. |
Exemplos de pedidos
Ailoot Ultra · Vídeo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":5,"model":"kwaivgi/kling-video-o1","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Receber e guardar os resultados
Ailoot Ultra · Vídeo
URLs assinados para conteúdo pertencente ao utilizador
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Verificar o estado da tarefa
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Outras leituras de conteúdo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Guardar todos os resultados concluídos
Guarde cada vídeo concluído ou ficheiro devolvido; obtenha cada URL de recurso efetivamente devolvido.
Conserve todos os resultados reais que pertencem ao utilizador e os respetivos metadados medidos devolvidos.
Se for necessário verificar a resposta original
503 result_pending_check + id original + X-Should-Retry:false; nunca repita o original
Campos da resposta
| Campo | Tipo | Significado |
|---|---|---|
Campoindex | Tipointeger | SignificadoPosição deste vídeo na lista de saídas, com contagem a partir de zero. |
Campocontent_url | Tipostring | SignificadoURL HTTPS assinado para transferir este vídeo concluído. |
Camposha256 | Tipostring | null | SignificadoResumo criptográfico SHA-256 dos bytes do vídeo original; null se não estiver disponível. |
Camposize_bytes | Tipointeger | null | SignificadoTamanho do ficheiro de vídeo original em bytes; null se não estiver disponível. |
Campoduration_ms | Tipointeger | null | SignificadoDuração medida do vídeo em milissegundos; null se não estiver disponível. |
Campowidth | Tipointeger | null | SignificadoLargura do vídeo em píxeis; null se não estiver disponível. |
Campoheight | Tipointeger | null | SignificadoAltura do vídeo em píxeis; null se não estiver disponível. |
Campovideo_codec | Tipostring | null | SignificadoIdentificador do codec de vídeo; null se não estiver registado. |
Campohas_audio | Tipoboolean | null | SignificadoIndica se o vídeo contém uma faixa de áudio; null se não tiver sido medido. |
Campoaudio_codec | Tipostring | null | SignificadoIdentificador do codec de áudio; null quando não está registado qualquer identificador. |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta404 · not_found_error | CondiçãoO acesso ao vídeo não está disponível ou este ID de vídeo não foi encontrado. | Passo seguinteVerifique o acesso ao vídeo. Para um vídeo existente, utilize o ID público original e a mesma chave API. |
Resposta401 · authentication_error | CondiçãoA chave API não corresponde à conta autenticada. | Passo seguinteVerifique a sua chave API e o acesso à conta antes de enviar. |
Resposta400 · invalid_request_error | CondiçãoNão foi possível ler o pedido ou o índice de transferência é inválido. | Passo seguinteCorrija o corpo do pedido. Para uma transferência, escolha um índice de saída devolvido pela tarefa original. |
Resposta422 · price_unavailable | CondiçãoNão é possível calcular o preço da configuração de vídeo selecionada. | Passo seguinteEscolha uma configuração de vídeo suportada e preencha as opções obrigatórias antes de enviar um pedido corrigido. |
Resposta422 · invalid_request_error | CondiçãoUma entrada de vídeo ou a tarefa original de continuação é inválida. | Passo seguinteUtilize entradas HTTPS válidas. Para continuação, utilize o ID público do seu vídeo original concluído com a mesma chave API. |
Resposta402 · billing_error | CondiçãoO saldo disponível ou os limites não permitem efetuar uma reserva. | Passo seguinteVerifique o saldo disponível e os limites antes de enviar um novo pedido. |
Resposta503 · server_error | CondiçãoA verificação, o armazenamento ou o acesso ao serviço de vídeo está temporariamente indisponível. | Passo seguinteAguarde a disponibilidade do serviço. Se já tiver um ID de vídeo, consulte essa tarefa original em vez de criar outra geração. |
Resposta503 · result_pending_check | CondiçãoO resultado e a cobrança do vídeo original precisam de verificação. | Passo seguinteConserve o ID de vídeo devolvido e consulte essa tarefa. Não envie um pedido de geração substituto enquanto estiver a ser verificada. |
Resposta503 · owned_result_unavailable | CondiçãoA transferência do vídeo existente está temporariamente indisponível. | Passo seguinteConsulte a mesma tarefa de vídeo mais tarde e transfira a saída existente. Uma nova geração cria uma operação separada. |
Resposta409 · video_not_ready | CondiçãoO conteúdo do vídeo não foi publicado. | Passo seguinteConsulte o estado da tarefa original. Transfira quando indicar completed; se indicar failed, siga o aviso de verificação da cobrança. |
Aliases
Aliases do modelo
Ailoot Ultra kwaivgi/kling-video-o1
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · Kling: Video O1
- Que entradas e resultados estão disponíveis?
POST /v1/videos·kwaivgi/kling-video-o1:text,image→video- Que campos utiliza o pedido?
POST /v1/videos·kwaivgi/kling-video-o1:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,callback_url,session_id,trace,user- Que limites se aplicam?
POST /v1/videos·kwaivgi/kling-video-o1:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1